SlideShare ist ein Scribd-Unternehmen logo
1 von 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 offre
           sia con le modalità di sviluppo classico
           (tslib_pibase), sia con lo sviluppo MVC
           (ExtBase).

           Federico Bernardin <federico@bernardin.it>




T3Camp Italia                                     Bologna 27/28 Ottobre
L’evento italiano dedicato a                      2011
About me


           About me

           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



           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.




T3Camp Italia                             FLOW3
L’evento italiano dedicato a              Federico Bernardin
Obiettivi




T3Camp Italia                  FLOW3
L’evento italiano dedicato a   Federico Bernardin
Obiettivi

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




T3Camp Italia                                FLOW3
L’evento italiano dedicato a                 Federico 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).




T3Camp Italia                                FLOW3
L’evento italiano dedicato a                 Federico 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.




T3Camp Italia                                 FLOW3
L’evento italiano dedicato a                  Federico 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.




T3Camp Italia                                 FLOW3
L’evento italiano dedicato a                  Federico 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.




T3Camp Italia                                 FLOW3
L’evento italiano dedicato a                  Federico Bernardin
Obiettivi




T3Camp Italia                  FLOW3
L’evento italiano dedicato a   Federico Bernardin
Obiettivi

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




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico Bernardin
Obiettivi

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

              Aiuto nell'analisi del plugin.




T3Camp Italia                                  FLOW3
L’evento italiano dedicato a                   Federico Bernardin
Obiettivi

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

              Aiuto nell'analisi del plugin.

              Sistemi di refactoring.




T3Camp Italia                                  FLOW3
L’evento italiano dedicato a                   Federico 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.




T3Camp Italia                                  FLOW3
L’evento italiano dedicato a                   Federico 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.




T3Camp Italia                                  FLOW3
L’evento italiano dedicato a                   Federico Bernardin
Analisi e briefing




T3Camp Italia                      FLOW3
L’evento italiano dedicato a       Federico 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.




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico 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.




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico Bernardin
Strumenti




T3Camp Italia                  FLOW3
L’evento italiano dedicato a   Federico 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.




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico Bernardin
Strumenti




T3Camp Italia                  FLOW3
L’evento italiano dedicato a   Federico Bernardin
Strumenti

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




T3Camp Italia                                 FLOW3
L’evento italiano dedicato a                  Federico 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.




T3Camp Italia                                 FLOW3
L’evento italiano dedicato a                  Federico Bernardin
Subversion definizione e
                                      vantaggi




T3Camp Italia                         FLOW3
L’evento italiano dedicato a          Federico Bernardin
Subversion definizione e
                                      vantaggi
              Subversion è un’applicazione server per la gestione multi utente
              del versionamento.




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico 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.




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico Bernardin
SVN: un esempio




T3Camp Italia                      FLOW3
L’evento italiano dedicato a       Federico Bernardin
SVN: un esempio




T3Camp Italia                      FLOW3
L’evento italiano dedicato a       Federico Bernardin
SVN: un esempio




T3Camp Italia                      FLOW3
L’evento italiano dedicato a       Federico Bernardin
Eclipse-Aptana definizione
                                       e vantaggi




T3Camp Italia                          FLOW3
L’evento italiano dedicato a           Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico Bernardin
Eclipse-Aptana: diamogli un
                                         occhio




T3Camp Italia                           FLOW3
L’evento italiano dedicato a            Federico Bernardin
Eclipse-Aptana: diamogli un
                                         occhio




T3Camp Italia                           FLOW3
L’evento italiano dedicato a            Federico Bernardin
TYPO3 Forge definizione e
                                      vantaggi




T3Camp Italia                          FLOW3
L’evento italiano dedicato a           Federico 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.




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico 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.




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico 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.




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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.


T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico Bernardin
TYPO3 Forge




T3Camp Italia                    FLOW3
L’evento italiano dedicato a     Federico Bernardin
TYPO3 Forge




T3Camp Italia                    FLOW3
L’evento italiano dedicato a     Federico Bernardin
TYPO3 Forge




T3Camp Italia                    FLOW3
L’evento italiano dedicato a     Federico Bernardin
TYPO3 Forge




T3Camp Italia                    FLOW3
L’evento italiano dedicato a     Federico Bernardin
TYPO3 Forge




T3Camp Italia                    FLOW3
L’evento italiano dedicato a     Federico Bernardin
TYPO3 Forge




T3Camp Italia                    FLOW3
L’evento italiano dedicato a     Federico Bernardin
TYPO3 come framework




T3Camp Italia                        FLOW3
L’evento italiano dedicato a         Federico 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.




T3Camp Italia                                FLOW3
L’evento italiano dedicato a                 Federico 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




T3Camp Italia                                FLOW3
L’evento italiano dedicato a                 Federico 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.




T3Camp Italia                                FLOW3
L’evento italiano dedicato a                 Federico Bernardin
I test




T3Camp Italia                  FLOW3
L’evento italiano dedicato a   Federico Bernardin
I test

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




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico Bernardin
Scelta del paradigma




T3Camp Italia                        FLOW3
L’evento italiano dedicato a         Federico Bernardin
Scelta del paradigma

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




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico 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.




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico 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.




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico 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.




T3Camp Italia                              FLOW3
L’evento italiano dedicato a               Federico Bernardin
Documentazione




T3Camp Italia                     FLOW3
L’evento italiano dedicato a      Federico 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.




T3Camp Italia                            FLOW3
L’evento italiano dedicato a             Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico Bernardin
Alcuni consigli




T3Camp Italia                     FLOW3
L’evento italiano dedicato a      Federico Bernardin
Alcuni consigli

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




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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.




T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico 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.



T3Camp Italia                               FLOW3
L’evento italiano dedicato a                Federico Bernardin
T3Camp Italia                  FLOW3
L’evento italiano dedicato a   Federico Bernardin
Buon sviluppo a tutti
               sia in OOP che in MVC!!


T3Camp Italia                  FLOW3
L’evento italiano dedicato a   Federico Bernardin

Weitere ähnliche Inhalte

Ähnlich wie L'analisi e le scelte nello sviluppo di un plugin

Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014Paradisi63
 
TYPO3 Versione 10.1 - Le novita
TYPO3 Versione 10.1 - Le novitaTYPO3 Versione 10.1 - Le novita
TYPO3 Versione 10.1 - Le novitaRoberto Torresani
 
Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3Ivano Luberti
 
Detailed Model Capture
Detailed Model CaptureDetailed Model Capture
Detailed Model Capturefcospito
 
Detailed Model Capture
Detailed Model CaptureDetailed Model Capture
Detailed Model Capturefcospito
 
Software Re Engineering
Software Re EngineeringSoftware Re Engineering
Software Re Engineeringpantifabr
 
TYPO3 sfida il mondo Enterprise
TYPO3 sfida il mondo EnterpriseTYPO3 sfida il mondo Enterprise
TYPO3 sfida il mondo EnterpriseMauro Lorenzutti
 
- Codemotion Rome 2015
- Codemotion Rome 2015- Codemotion Rome 2015
- Codemotion Rome 2015Codemotion
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsIgor Antonacci
 
Profilazione di applicazioni PHP con XHProf.
Profilazione di applicazioni PHP con XHProf.Profilazione di applicazioni PHP con XHProf.
Profilazione di applicazioni PHP con XHProf.Filippo Matteo Riggio
 
Creatività senza limiti con TYPO3
Creatività senza limiti con TYPO3Creatività senza limiti con TYPO3
Creatività senza limiti con TYPO3William Sbarzaglia
 
Universal Store Apps - Mobile day by DotNetCampania
Universal Store Apps - Mobile day by DotNetCampaniaUniversal Store Apps - Mobile day by DotNetCampania
Universal Store Apps - Mobile day by DotNetCampaniaEmanuele Garofalo
 
TYPO3 Versione 10.4 - Le novità
TYPO3 Versione 10.4 - Le novitàTYPO3 Versione 10.4 - Le novità
TYPO3 Versione 10.4 - Le novitàRoberto Torresani
 
Progettazione e realizzazione di una piattaforma middleware per la gestione a...
Progettazione e realizzazione di una piattaforma middleware per la gestione a...Progettazione e realizzazione di una piattaforma middleware per la gestione a...
Progettazione e realizzazione di una piattaforma middleware per la gestione a...LucaGre
 

Ähnlich wie L'analisi e le scelte nello sviluppo di un plugin (20)

Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014
 
Total Testing in DevOps
Total Testing in DevOpsTotal Testing in DevOps
Total Testing in DevOps
 
TYPO3 Versione 10.1 - Le novita
TYPO3 Versione 10.1 - Le novitaTYPO3 Versione 10.1 - Le novita
TYPO3 Versione 10.1 - Le novita
 
Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3
 
Smart api
Smart apiSmart api
Smart api
 
Detailed Model Capture
Detailed Model CaptureDetailed Model Capture
Detailed Model Capture
 
Detailed Model Capture
Detailed Model CaptureDetailed Model Capture
Detailed Model Capture
 
Software Re Engineering
Software Re EngineeringSoftware Re Engineering
Software Re Engineering
 
Software Testing Forum 2012 - Polarion e TRS SpA
Software Testing Forum 2012 - Polarion e TRS SpASoftware Testing Forum 2012 - Polarion e TRS SpA
Software Testing Forum 2012 - Polarion e TRS SpA
 
TYPO3 sfida il mondo Enterprise
TYPO3 sfida il mondo EnterpriseTYPO3 sfida il mondo Enterprise
TYPO3 sfida il mondo Enterprise
 
- Codemotion Rome 2015
- Codemotion Rome 2015- Codemotion Rome 2015
- Codemotion Rome 2015
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
 
Profilazione di applicazioni PHP con XHProf.
Profilazione di applicazioni PHP con XHProf.Profilazione di applicazioni PHP con XHProf.
Profilazione di applicazioni PHP con XHProf.
 
TYPO3 CMS 9.1 - Le novità
TYPO3 CMS 9.1 - Le novitàTYPO3 CMS 9.1 - Le novità
TYPO3 CMS 9.1 - Le novità
 
Creatività senza limiti con TYPO3
Creatività senza limiti con TYPO3Creatività senza limiti con TYPO3
Creatività senza limiti con TYPO3
 
Manuale Agile Stelnet
Manuale Agile StelnetManuale Agile Stelnet
Manuale Agile Stelnet
 
Tesi di Laurea
Tesi di LaureaTesi di Laurea
Tesi di Laurea
 
Universal Store Apps - Mobile day by DotNetCampania
Universal Store Apps - Mobile day by DotNetCampaniaUniversal Store Apps - Mobile day by DotNetCampania
Universal Store Apps - Mobile day by DotNetCampania
 
TYPO3 Versione 10.4 - Le novità
TYPO3 Versione 10.4 - Le novitàTYPO3 Versione 10.4 - Le novità
TYPO3 Versione 10.4 - Le novità
 
Progettazione e realizzazione di una piattaforma middleware per la gestione a...
Progettazione e realizzazione di una piattaforma middleware per la gestione a...Progettazione e realizzazione di una piattaforma middleware per la gestione a...
Progettazione e realizzazione di una piattaforma middleware per la gestione a...
 

Kürzlich hochgeladen

Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 

Kürzlich hochgeladen (9)

Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 

L'analisi e le scelte nello sviluppo di un plugin

  • 1. 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 offre sia con le modalità di sviluppo classico (tslib_pibase), sia con lo sviluppo MVC (ExtBase). Federico Bernardin <federico@bernardin.it> T3Camp Italia Bologna 27/28 Ottobre L’evento italiano dedicato a 2011
  • 2. About me About me 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 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 3. Obiettivi T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 4. Obiettivi Possibilità di riportarmi ad una versione precedente alle ultime modifiche. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 5. 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). T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 6. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 7. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 8. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 9. Obiettivi T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 10. Obiettivi Processo di controllo della pubblicazione e dello sviluppo mediante task control, features e milestone. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 11. Obiettivi Processo di controllo della pubblicazione e dello sviluppo mediante task control, features e milestone. Aiuto nell'analisi del plugin. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 12. Obiettivi Processo di controllo della pubblicazione e dello sviluppo mediante task control, features e milestone. Aiuto nell'analisi del plugin. Sistemi di refactoring. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 13. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 14. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 15. Analisi e briefing T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 16. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 17. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 18. Strumenti T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 19. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 20. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 21. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 22. Strumenti T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 23. Strumenti Sistema di test e controlli, per poter ridurre il carico di lavoro in caso di modifiche al codice. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 24. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 25. Subversion definizione e vantaggi T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 26. Subversion definizione e vantaggi Subversion è un’applicazione server per la gestione multi utente del versionamento. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 27. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 28. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 29. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 30. SVN: un esempio T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 31. SVN: un esempio T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 32. SVN: un esempio T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 33. Eclipse-Aptana definizione e vantaggi T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 34. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 35. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 36. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 37. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 38. Eclipse-Aptana: diamogli un occhio T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 39. Eclipse-Aptana: diamogli un occhio T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 40. TYPO3 Forge definizione e vantaggi T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 41. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 42. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 43. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 44. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 45. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 46. TYPO3 Forge T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 47. TYPO3 Forge T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 48. TYPO3 Forge T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 49. TYPO3 Forge T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 50. TYPO3 Forge T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 51. TYPO3 Forge T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 52. TYPO3 come framework T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 53. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 54. 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 T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 55. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 56. I test T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 57. I test Una delle parti più complesse e importanti dello sviluppo di un plugin sono i test. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 58. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 59. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 60. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 61. Scelta del paradigma T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 62. Scelta del paradigma In TYPO3 abbiamo due soluzioni fondamentali (incorporate direttamente del sistema) per sviluppare il nostro plugin. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 63. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 64. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 65. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 66. Documentazione T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 67. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 68. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 69. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 70. 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 T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 71. Alcuni consigli T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 72. Alcuni consigli Fare un’analisi molto dettagliata, non lasciando troppe incognite che richiedano poi un rifacimento dell’analisi. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 73. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 74. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 75. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 76. 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. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 77. T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin
  • 78. Buon sviluppo a tutti sia in OOP che in MVC!! T3Camp Italia FLOW3 L’evento italiano dedicato a Federico Bernardin

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n