Lanalisi e le scelte nello sviluppo di un plugin

78
L'analisi e le scelte nello sviluppo di un plugin Scelta degli strumenti e delle metodologie per migliorare i tempi e la qualità del software. Conoscere le potenzialità che TYPO3 ci ore sia con le modalità di sviluppo classico (tslib_pibase), sia con lo sviluppo MVC (ExtBase). Federico Bernardin <[email protected]> T3Camp Italia L’evento italiano dedicato a Bologna 27/28 Ottobre 2011

Transcript of Lanalisi e le scelte nello sviluppo di un plugin

Page 1: Lanalisi e le scelte nello sviluppo di un plugin

L'analisi e le scelte nello sviluppo di un pluginScelta degli strumenti e delle metodologie per migliorare i tempi e la qualità del software. Conoscere le potenzialità che TYPO3 ci offre sia con le modalità di sviluppo classico (tslib_pibase), sia con lo sviluppo MVC (ExtBase).

Federico Bernardin <[email protected]>

T3Camp ItaliaL’evento italiano dedicato a

Bologna 27/28 Ottobre 2011

Page 2: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

About me

About me

Mi occupo di progettazione e dello sviluppo di siti web con TYPO3 dal 2004, ho all’attivo alcuni plugin, tra cui xflextemplate, da Aprile 2010 sono TYPO3 Certified Integrator.

Sono libero professionista e mi occupo di consulenza informatica.

In particolare seguo i progetti web per l’agenzia Pallino & Co. di Padova, dove coordino il team di sviluppatori su

Page 3: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Obiettivi

Page 4: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Obiettivi

Possibilità di riportarmi ad una versione precedente alle ultime modifiche.

Page 5: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Obiettivi

Possibilità di riportarmi ad una versione precedente alle ultime modifiche.

Possibilità di lavoro in team, dove più persone modificano lo stesso file (non le stesse righe).

Page 6: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Obiettivi

Possibilità di riportarmi ad una versione precedente alle ultime modifiche.

Possibilità di lavoro in team, dove più persone modificano lo stesso file (non le stesse righe).

Comodità nella scrittura del codice, aiuto nella scrittura delle funzioni.

Page 7: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Obiettivi

Possibilità di riportarmi ad una versione precedente alle ultime modifiche.

Possibilità di lavoro in team, dove più persone modificano lo stesso file (non le stesse righe).

Comodità nella scrittura del codice, aiuto nella scrittura delle funzioni.

Sistemi di controllo della sintassi.

Page 8: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Obiettivi

Possibilità di riportarmi ad una versione precedente alle ultime modifiche.

Possibilità di lavoro in team, dove più persone modificano lo stesso file (non le stesse righe).

Comodità nella scrittura del codice, aiuto nella scrittura delle funzioni.

Sistemi di controllo della sintassi.

Integrazione con FTP o gestione di cartelle remote.

Page 9: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Obiettivi

Page 10: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Obiettivi

Processo di controllo della pubblicazione e dello sviluppo mediante task control, features e milestone.

Page 11: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Obiettivi

Processo di controllo della pubblicazione e dello sviluppo mediante task control, features e milestone.

Aiuto nell'analisi del plugin.

Page 12: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Obiettivi

Processo di controllo della pubblicazione e dello sviluppo mediante task control, features e milestone.

Aiuto nell'analisi del plugin.

Sistemi di refactoring.

Page 13: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Obiettivi

Processo di controllo della pubblicazione e dello sviluppo mediante task control, features e milestone.

Aiuto nell'analisi del plugin.

Sistemi di refactoring.

Sistemi di test e controllo.

Page 14: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Obiettivi

Processo di controllo della pubblicazione e dello sviluppo mediante task control, features e milestone.

Aiuto nell'analisi del plugin.

Sistemi di refactoring.

Sistemi di test e controllo.

Utilizzo delle funzioni integrate in TYPO3.

Page 15: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Analisi e briefing

Page 16: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Analisi e briefing

La prima operazione e forse la più complessa e delicata è la raccolta delle informazioni per sviluppare un’estensione effettivamente attinente alle richieste del cliente.

Page 17: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Analisi e briefing

La prima operazione e forse la più complessa e delicata è la raccolta delle informazioni per sviluppare un’estensione effettivamente attinente alle richieste del cliente.

Errori in questa fase si ripercuotono poi in maniera altamente traumatica sulla fase di sviluppo, richiedendo a volte la necessità di un refactoring dell’applicazione.

Page 18: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Strumenti

Page 19: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Strumenti

IDE (Integrated Development Environment) è l’applicazione con cui lavoriamo principalmente durante lo sviluppo e che ci deve fornite tutte le funzioni di cui abbiamo bisogno durante la scrittura del codice.

Page 20: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Strumenti

IDE (Integrated Development Environment) è l’applicazione con cui lavoriamo principalmente durante lo sviluppo e che ci deve fornite tutte le funzioni di cui abbiamo bisogno durante la scrittura del codice.

Sistema di versioning. Questa applicazione ci deve dare tutte le funzioni per poter gestire il versionamento del codice, soprattutto in una modalità multi utente.

Page 21: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Strumenti

IDE (Integrated Development Environment) è l’applicazione con cui lavoriamo principalmente durante lo sviluppo e che ci deve fornite tutte le funzioni di cui abbiamo bisogno durante la scrittura del codice.

Sistema di versioning. Questa applicazione ci deve dare tutte le funzioni per poter gestire il versionamento del codice, soprattutto in una modalità multi utente.

Sistema di gestione del processo con task, bugs, features, con integrazione del processo di versionamento e pubblicazioni delle modifiche.

Page 22: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Strumenti

Page 23: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Strumenti

Sistema di test e controlli, per poter ridurre il carico di lavoro in caso di modifiche al codice.

Page 24: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Strumenti

Sistema di test e controlli, per poter ridurre il carico di lavoro in caso di modifiche al codice.

Sistema di pubblicazione mediante protocollo FTP dell’applicazione su server remoti.

Page 25: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Subversion definizione e vantaggi

Page 26: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Subversion definizione e vantaggi

Subversion è un’applicazione server per la gestione multi utente del versionamento.

Page 27: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Subversion definizione e vantaggi

Subversion è un’applicazione server per la gestione multi utente del versionamento.

SVN garantisce la possibilità di riportarsi ad una qualsiasi versione salvata precedentemente o confrontare due revisioni.

Page 28: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Subversion definizione e vantaggi

Subversion è un’applicazione server per la gestione multi utente del versionamento.

SVN garantisce la possibilità di riportarsi ad una qualsiasi versione salvata precedentemente o confrontare due revisioni.

SVN garantisce la possibilità di effettuare la fusione (merge) del codice, magari sviluppato da persone diverse.

Page 29: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Subversion definizione e vantaggi

Subversion è un’applicazione server per la gestione multi utente del versionamento.

SVN garantisce la possibilità di riportarsi ad una qualsiasi versione salvata precedentemente o confrontare due revisioni.

SVN garantisce la possibilità di effettuare la fusione (merge) del codice, magari sviluppato da persone diverse.

SVN permette di creare delle patch che permettono l’aggiornamento del codice da una revisione a quella attuale.

Page 30: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

SVN: un esempio

Page 31: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

SVN: un esempio

Page 32: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

SVN: un esempio

Page 33: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Eclipse-Aptana definizione e vantaggi

Page 34: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Eclipse-Aptana definizione e vantaggi

Eclipse è uno strumento inizialmente sviluppato da IBM per JAVA. Oggi è un IDE ottimizzato per l’uso di svariati linguaggi, come ad esempio PHP.

Page 35: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Eclipse-Aptana definizione e vantaggi

Eclipse è uno strumento inizialmente sviluppato da IBM per JAVA. Oggi è un IDE ottimizzato per l’uso di svariati linguaggi, come ad esempio PHP.

Aptana è un plugin di Eclipse che permette di utilizzare FTP, e di avere un editor PHP integrato con SVN e Mylyn plugin.

Page 36: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Eclipse-Aptana definizione e vantaggi

Eclipse è uno strumento inizialmente sviluppato da IBM per JAVA. Oggi è un IDE ottimizzato per l’uso di svariati linguaggi, come ad esempio PHP.

Aptana è un plugin di Eclipse che permette di utilizzare FTP, e di avere un editor PHP integrato con SVN e Mylyn plugin.

Aptana e il suo editor PHP (PDT) permettono la gestione del template e dell’autocomplete, rendendo meno gravoso la scrittura del codice da parte dell’utente.

Page 37: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Eclipse-Aptana definizione e vantaggi

Eclipse è uno strumento inizialmente sviluppato da IBM per JAVA. Oggi è un IDE ottimizzato per l’uso di svariati linguaggi, come ad esempio PHP.

Aptana è un plugin di Eclipse che permette di utilizzare FTP, e di avere un editor PHP integrato con SVN e Mylyn plugin.

Aptana e il suo editor PHP (PDT) permettono la gestione del template e dell’autocomplete, rendendo meno gravoso la scrittura del codice da parte dell’utente.

Aptana (Eclipse) possiede moltissimi plugin che estendono le funzionalità base come ad esempio il debugger e la gestione del refactoring.

Page 38: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Eclipse-Aptana: diamogli un occhio

Page 39: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Eclipse-Aptana: diamogli un occhio

Page 40: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 Forge definizione e vantaggi

Page 41: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 Forge definizione e vantaggi

Forge raggiungibile all’indirizzo http://forge.typo3.org è un servizio che l’associazione mette a disposizione per poter avere un ambiente dove sviluppare e mantenere le proprie estensioni pubbliche.

Page 42: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 Forge definizione e vantaggi

Forge raggiungibile all’indirizzo http://forge.typo3.org è un servizio che l’associazione mette a disposizione per poter avere un ambiente dove sviluppare e mantenere le proprie estensioni pubbliche.

Forge si basa su Redmine un application project framework per la gestione dei progetti scritto in ruby on rails.

Page 43: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 Forge definizione e vantaggi

Forge raggiungibile all’indirizzo http://forge.typo3.org è un servizio che l’associazione mette a disposizione per poter avere un ambiente dove sviluppare e mantenere le proprie estensioni pubbliche.

Forge si basa su Redmine un application project framework per la gestione dei progetti scritto in ruby on rails.

Automaticamente viene creato un’ambiente pronto per mantenere le nostre estensioni con un repository svn compreso.

Page 44: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 Forge definizione e vantaggi

Forge raggiungibile all’indirizzo http://forge.typo3.org è un servizio che l’associazione mette a disposizione per poter avere un ambiente dove sviluppare e mantenere le proprie estensioni pubbliche.

Forge si basa su Redmine un application project framework per la gestione dei progetti scritto in ruby on rails.

Automaticamente viene creato un’ambiente pronto per mantenere le nostre estensioni con un repository svn compreso.

E’ possibile gestire nuove richieste per bug fixing, features e task.

Page 45: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 Forge definizione e vantaggi

Forge raggiungibile all’indirizzo http://forge.typo3.org è un servizio che l’associazione mette a disposizione per poter avere un ambiente dove sviluppare e mantenere le proprie estensioni pubbliche.

Forge si basa su Redmine un application project framework per la gestione dei progetti scritto in ruby on rails.

Automaticamente viene creato un’ambiente pronto per mantenere le nostre estensioni con un repository svn compreso.

E’ possibile gestire nuove richieste per bug fixing, features e task.

Il sistema si integra perfettamente con Eclipse potendo recuperare la lista delle segnalazioni da remoto tramite il plugin Mylyn.

Page 46: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 Forge

Page 47: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 Forge

Page 48: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 Forge

Page 49: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 Forge

Page 50: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 Forge

Page 51: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 Forge

Page 52: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 come framework

Page 53: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 come framework

TYPO3 non è solo un CMS ma bensì un framework, fornendo una serie di librerie che aiutano a gestire le varie funzionalità, senza la necessità di scrivere ridondanti funzioni.

Page 54: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 come framework

TYPO3 non è solo un CMS ma bensì un framework, fornendo una serie di librerie che aiutano a gestire le varie funzionalità, senza la necessità di scrivere ridondanti funzioni.

L’estensione extdeveval, permette di aggiungere nella barra superiore di TYPO3 un’icona che permette di vedere le varie classi e funzioni che TYPO3 mette a disposizione per gli sviluppatori

Page 55: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

TYPO3 come framework

TYPO3 non è solo un CMS ma bensì un framework, fornendo una serie di librerie che aiutano a gestire le varie funzionalità, senza la necessità di scrivere ridondanti funzioni.

L’estensione extdeveval, permette di aggiungere nella barra superiore di TYPO3 un’icona che permette di vedere le varie classi e funzioni che TYPO3 mette a disposizione per gli sviluppatori

Un’alternativa è andare ad api.typo3.org, dove potete trovare la lista completa delle funzioni all’interno del sistema.

Page 56: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

I test

Page 57: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

I test

Una delle parti più complesse e importanti dello sviluppo di un plugin sono i test.

Page 58: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

I test

Una delle parti più complesse e importanti dello sviluppo di un plugin sono i test.

In genere in PHP esiste PHP Unit Test che fornisce una serie di librerie per poter effettuare dei test sul software realizzato.

Page 59: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

I test

Una delle parti più complesse e importanti dello sviluppo di un plugin sono i test.

In genere in PHP esiste PHP Unit Test che fornisce una serie di librerie per poter effettuare dei test sul software realizzato.

L’estensione PHP Unit (<phpunit>) di TYPO3 ci da la possibilità di testare e verificare i nostri test case.

Page 60: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

I test

Una delle parti più complesse e importanti dello sviluppo di un plugin sono i test.

In genere in PHP esiste PHP Unit Test che fornisce una serie di librerie per poter effettuare dei test sul software realizzato.

L’estensione PHP Unit (<phpunit>) di TYPO3 ci da la possibilità di testare e verificare i nostri test case.

I test diventano importanti nei casi in cui un piccolo refactor potrebbe modificare il comportamento del codice, riducendo fortemente i tempi di test.

Page 61: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Scelta del paradigma

Page 62: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Scelta del paradigma

In TYPO3 abbiamo due soluzioni fondamentali (incorporate direttamente del sistema) per sviluppare il nostro plugin.

Page 63: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Scelta del paradigma

In TYPO3 abbiamo due soluzioni fondamentali (incorporate direttamente del sistema) per sviluppare il nostro plugin.

Effettuando l’extend della classe tslib_pibase possiamo sviluppare un plugin con il paradigma OOP (Object Oriented Programming). Questa classe ci fornisce una serie di funzionalità base utili per implementare la nostra estensione.

Page 64: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Scelta del paradigma

In TYPO3 abbiamo due soluzioni fondamentali (incorporate direttamente del sistema) per sviluppare il nostro plugin.

Effettuando l’extend della classe tslib_pibase possiamo sviluppare un plugin con il paradigma OOP (Object Oriented Programming). Questa classe ci fornisce una serie di funzionalità base utili per implementare la nostra estensione.

Un’alternativa più nuova è sicuramente l’utilizzo di un paradigma MVC (model view controller). L’associazione ha creato un’estensione (<extbase>) che permette di utilizzare il paradigma MVC dentro la nostra estensione.

Page 65: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Scelta del paradigma

In TYPO3 abbiamo due soluzioni fondamentali (incorporate direttamente del sistema) per sviluppare il nostro plugin.

Effettuando l’extend della classe tslib_pibase possiamo sviluppare un plugin con il paradigma OOP (Object Oriented Programming). Questa classe ci fornisce una serie di funzionalità base utili per implementare la nostra estensione.

Un’alternativa più nuova è sicuramente l’utilizzo di un paradigma MVC (model view controller). L’associazione ha creato un’estensione (<extbase>) che permette di utilizzare il paradigma MVC dentro la nostra estensione.

Extbase è nata per permettere di creare applicazioni MVC FLOW3-compatibili.

Page 66: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Documentazione

Page 67: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Documentazione

Lo sviluppo di un’estensione deve essere sempre accompagnata da documentazione che descrive il funzionamento tecnico del codice e soprattutto di documentazione di utilizzo.

Page 68: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Documentazione

Lo sviluppo di un’estensione deve essere sempre accompagnata da documentazione che descrive il funzionamento tecnico del codice e soprattutto di documentazione di utilizzo.

Tramite il sito typo3.org è possibile scaricare l’estensione (<doc_template>) che contiene il manuale che dovrebbe essere poi usato per scrivere la documentazione di utilizzo della nostra estensione.

Page 69: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Documentazione

Lo sviluppo di un’estensione deve essere sempre accompagnata da documentazione che descrive il funzionamento tecnico del codice e soprattutto di documentazione di utilizzo.

Tramite il sito typo3.org è possibile scaricare l’estensione (<doc_template>) che contiene il manuale che dovrebbe essere poi usato per scrivere la documentazione di utilizzo della nostra estensione.

Un’estensione senza manuale è un’estensione inutile e nel futuro potrebbero essere eliminate le estensioni senza manuale d’uso.

Page 70: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Documentazione

Lo sviluppo di un’estensione deve essere sempre accompagnata da documentazione che descrive il funzionamento tecnico del codice e soprattutto di documentazione di utilizzo.

Tramite il sito typo3.org è possibile scaricare l’estensione (<doc_template>) che contiene il manuale che dovrebbe essere poi usato per scrivere la documentazione di utilizzo della nostra estensione.

Un’estensione senza manuale è un’estensione inutile e nel futuro potrebbero essere eliminate le estensioni senza manuale d’uso.

Il manuale dovrebbe essere scritto, anche in minima parte, ancor prima di scrivere il codice

Page 71: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Alcuni consigli

Page 72: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Alcuni consigli

Fare un’analisi molto dettagliata, non lasciando troppe incognite che richiedano poi un rifacimento dell’analisi.

Page 73: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Alcuni consigli

Fare un’analisi molto dettagliata, non lasciando troppe incognite che richiedano poi un rifacimento dell’analisi.

Stabilire sulla base dell’applicazione il paradigma da usare: OOP come tslib_pibase oppure MVC con extbase, valutando attentamente i pro e i contro.

Page 74: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Alcuni consigli

Fare un’analisi molto dettagliata, non lasciando troppe incognite che richiedano poi un rifacimento dell’analisi.

Stabilire sulla base dell’applicazione il paradigma da usare: OOP come tslib_pibase oppure MVC con extbase, valutando attentamente i pro e i contro.

Cercare sempre sul TER se esistono estensioni già sviluppate ed affidabili che possano essere usate estendendole così da evitare di scrivere codice.

Page 75: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Alcuni consigli

Fare un’analisi molto dettagliata, non lasciando troppe incognite che richiedano poi un rifacimento dell’analisi.

Stabilire sulla base dell’applicazione il paradigma da usare: OOP come tslib_pibase oppure MVC con extbase, valutando attentamente i pro e i contro.

Cercare sempre sul TER se esistono estensioni già sviluppate ed affidabili che possano essere usate estendendole così da evitare di scrivere codice.

Creare il codice in modo che possano essere usate le unit test per effettuare i test dell’applicazione.

Page 76: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Alcuni consigli

Fare un’analisi molto dettagliata, non lasciando troppe incognite che richiedano poi un rifacimento dell’analisi.

Stabilire sulla base dell’applicazione il paradigma da usare: OOP come tslib_pibase oppure MVC con extbase, valutando attentamente i pro e i contro.

Cercare sempre sul TER se esistono estensioni già sviluppate ed affidabili che possano essere usate estendendole così da evitare di scrivere codice.

Creare il codice in modo che possano essere usate le unit test per effettuare i test dell’applicazione.

Inserire i commenti javadoc per essere poi usati da applicazioni di analisi dei commenti.

Page 77: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Page 78: Lanalisi e le scelte nello sviluppo di un plugin

T3Camp ItaliaL’evento italiano dedicato a

FLOW3Federico Bernardin

Buon sviluppo a tuttisia in OOP che in MVC!!