際際滷

際際滷Share a Scribd company logo
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
Levento italiano dedicato a                      2011
About me


           About me

           Sono libero professionista e mi occupo
           di consulenza informatica.

           In particolare seguo i progetti web per
           lagenzia 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 allattivo alcuni plugin, tra cui x鍖extemplate, da Aprile 2010 sono
           TYPO3 Certi鍖ed Integrator.




T3Camp Italia                             FLOW3
Levento italiano dedicato a              Federico Bernardin
Obiettivi




T3Camp Italia                  FLOW3
Levento italiano dedicato a   Federico Bernardin
Obiettivi

                Possibilit di riportarmi ad una versione precedente alle ultime
                modi鍖che.




T3Camp Italia                                FLOW3
Levento italiano dedicato a                 Federico Bernardin
Obiettivi

                Possibilit di riportarmi ad una versione precedente alle ultime
                modi鍖che.

                Possibilit di lavoro in team, dove pi湛 persone modi鍖cano lo
                stesso 鍖le (non le stesse righe).




T3Camp Italia                                FLOW3
Levento italiano dedicato a                 Federico Bernardin
Obiettivi

                Possibilit di riportarmi ad una versione precedente alle ultime
                modi鍖che.

                Possibilit di lavoro in team, dove pi湛 persone modi鍖cano lo
                stesso 鍖le (non le stesse righe).

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




T3Camp Italia                                 FLOW3
Levento italiano dedicato a                  Federico Bernardin
Obiettivi

                Possibilit di riportarmi ad una versione precedente alle ultime
                modi鍖che.

                Possibilit di lavoro in team, dove pi湛 persone modi鍖cano lo
                stesso 鍖le (non le stesse righe).

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

                Sistemi di controllo della sintassi.




T3Camp Italia                                 FLOW3
Levento italiano dedicato a                  Federico Bernardin
Obiettivi

                Possibilit di riportarmi ad una versione precedente alle ultime
                modi鍖che.

                Possibilit di lavoro in team, dove pi湛 persone modi鍖cano lo
                stesso 鍖le (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
Levento italiano dedicato a                  Federico Bernardin
Obiettivi




T3Camp Italia                  FLOW3
Levento italiano dedicato a   Federico Bernardin
Obiettivi

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




T3Camp Italia                              FLOW3
Levento 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
Levento 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
Levento 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
Levento 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
Levento italiano dedicato a                   Federico Bernardin
Analisi e brie鍖ng




T3Camp Italia                      FLOW3
Levento italiano dedicato a       Federico Bernardin
Analisi e brie鍖ng

              La prima operazione e forse la pi湛 complessa e delicata 竪 la
              raccolta delle informazioni per sviluppare unestensione
              effettivamente attinente alle richieste del cliente.




T3Camp Italia                              FLOW3
Levento italiano dedicato a               Federico Bernardin
Analisi e brie鍖ng

              La prima operazione e forse la pi湛 complessa e delicata 竪 la
              raccolta delle informazioni per sviluppare unestensione
              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 dellapplicazione.




T3Camp Italia                              FLOW3
Levento italiano dedicato a               Federico Bernardin
Strumenti




T3Camp Italia                  FLOW3
Levento italiano dedicato a   Federico Bernardin
Strumenti

              IDE (Integrated Development Environment) 竪 lapplicazione 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
Levento italiano dedicato a               Federico Bernardin
Strumenti

              IDE (Integrated Development Environment) 竪 lapplicazione 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
Levento italiano dedicato a                Federico Bernardin
Strumenti

              IDE (Integrated Development Environment) 竪 lapplicazione 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 modi鍖che.




T3Camp Italia                               FLOW3
Levento italiano dedicato a                Federico Bernardin
Strumenti




T3Camp Italia                  FLOW3
Levento italiano dedicato a   Federico Bernardin
Strumenti

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




T3Camp Italia                                 FLOW3
Levento italiano dedicato a                  Federico Bernardin
Strumenti

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

              Sistema di pubblicazione mediante protocollo FTP
              dellapplicazione su server remoti.




T3Camp Italia                                 FLOW3
Levento italiano dedicato a                  Federico Bernardin
Subversion de鍖nizione e
                                      vantaggi




T3Camp Italia                         FLOW3
Levento italiano dedicato a          Federico Bernardin
Subversion de鍖nizione e
                                      vantaggi
              Subversion 竪 unapplicazione server per la gestione multi utente
              del versionamento.




T3Camp Italia                              FLOW3
Levento italiano dedicato a               Federico Bernardin
Subversion de鍖nizione e
                                      vantaggi
              Subversion 竪 unapplicazione 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
Levento italiano dedicato a               Federico Bernardin
Subversion de鍖nizione e
                                       vantaggi
              Subversion 竪 unapplicazione 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
Levento italiano dedicato a                Federico Bernardin
Subversion de鍖nizione e
                                       vantaggi
              Subversion 竪 unapplicazione 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
              laggiornamento del codice da una revisione a quella attuale.




T3Camp Italia                               FLOW3
Levento italiano dedicato a                Federico Bernardin
SVN: un esempio




T3Camp Italia                      FLOW3
Levento italiano dedicato a       Federico Bernardin
SVN: un esempio




T3Camp Italia                      FLOW3
Levento italiano dedicato a       Federico Bernardin
SVN: un esempio




T3Camp Italia                      FLOW3
Levento italiano dedicato a       Federico Bernardin
Eclipse-Aptana de鍖nizione
                                       e vantaggi




T3Camp Italia                          FLOW3
Levento italiano dedicato a           Federico Bernardin
Eclipse-Aptana de鍖nizione
                                       e vantaggi
              Eclipse 竪 uno strumento inizialmente sviluppato da IBM per
              JAVA. Oggi 竪 un IDE ottimizzato per luso di svariati linguaggi,
              come ad esempio PHP.




T3Camp Italia                               FLOW3
Levento italiano dedicato a                Federico Bernardin
Eclipse-Aptana de鍖nizione
                                       e vantaggi
              Eclipse 竪 uno strumento inizialmente sviluppato da IBM per
              JAVA. Oggi 竪 un IDE ottimizzato per luso 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
Levento italiano dedicato a                Federico Bernardin
Eclipse-Aptana de鍖nizione
                                       e vantaggi
              Eclipse 竪 uno strumento inizialmente sviluppato da IBM per
              JAVA. Oggi 竪 un IDE ottimizzato per luso 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 dellautocomplete, rendendo meno gravoso la
              scrittura del codice da parte dellutente.




T3Camp Italia                               FLOW3
Levento italiano dedicato a                Federico Bernardin
Eclipse-Aptana de鍖nizione
                                       e vantaggi
              Eclipse 竪 uno strumento inizialmente sviluppato da IBM per
              JAVA. Oggi 竪 un IDE ottimizzato per luso 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 dellautocomplete, rendendo meno gravoso la
              scrittura del codice da parte dellutente.

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




T3Camp Italia                               FLOW3
Levento italiano dedicato a                Federico Bernardin
Eclipse-Aptana: diamogli un
                                         occhio




T3Camp Italia                           FLOW3
Levento italiano dedicato a            Federico Bernardin
Eclipse-Aptana: diamogli un
                                         occhio




T3Camp Italia                           FLOW3
Levento italiano dedicato a            Federico Bernardin
TYPO3 Forge de鍖nizione e
                                      vantaggi




T3Camp Italia                          FLOW3
Levento italiano dedicato a           Federico Bernardin
TYPO3 Forge de鍖nizione e
                                      vantaggi
              Forge raggiungibile allindirizzo http://forge.typo3.org 竪 un
              servizio che lassociazione mette a disposizione per poter avere
              un ambiente dove sviluppare e mantenere le proprie estensioni
              pubbliche.




T3Camp Italia                              FLOW3
Levento italiano dedicato a               Federico Bernardin
TYPO3 Forge de鍖nizione e
                                      vantaggi
              Forge raggiungibile allindirizzo http://forge.typo3.org 竪 un
              servizio che lassociazione 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
Levento italiano dedicato a               Federico Bernardin
TYPO3 Forge de鍖nizione e
                                      vantaggi
              Forge raggiungibile allindirizzo http://forge.typo3.org 竪 un
              servizio che lassociazione 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 unambiente pronto per
              mantenere le nostre estensioni con un repository svn compreso.




T3Camp Italia                              FLOW3
Levento italiano dedicato a               Federico Bernardin
TYPO3 Forge de鍖nizione e
                                      vantaggi
              Forge raggiungibile allindirizzo http://forge.typo3.org 竪 un
              servizio che lassociazione 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 unambiente pronto per
              mantenere le nostre estensioni con un repository svn compreso.

              E possibile gestire nuove richieste per bug 鍖xing, features e
              task.




T3Camp Italia                               FLOW3
Levento italiano dedicato a                Federico Bernardin
TYPO3 Forge de鍖nizione e
                                      vantaggi
              Forge raggiungibile allindirizzo http://forge.typo3.org 竪 un
              servizio che lassociazione 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 unambiente pronto per
              mantenere le nostre estensioni con un repository svn compreso.

              E possibile gestire nuove richieste per bug 鍖xing, 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
Levento italiano dedicato a                Federico Bernardin
TYPO3 Forge




T3Camp Italia                    FLOW3
Levento italiano dedicato a     Federico Bernardin
TYPO3 Forge




T3Camp Italia                    FLOW3
Levento italiano dedicato a     Federico Bernardin
TYPO3 Forge




T3Camp Italia                    FLOW3
Levento italiano dedicato a     Federico Bernardin
TYPO3 Forge




T3Camp Italia                    FLOW3
Levento italiano dedicato a     Federico Bernardin
TYPO3 Forge




T3Camp Italia                    FLOW3
Levento italiano dedicato a     Federico Bernardin
TYPO3 Forge




T3Camp Italia                    FLOW3
Levento italiano dedicato a     Federico Bernardin
TYPO3 come framework




T3Camp Italia                        FLOW3
Levento 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
Levento 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.

              Lestensione extdeveval, permette di aggiungere nella barra
              superiore di TYPO3 unicona che permette di vedere le varie
              classi e funzioni che TYPO3 mette a disposizione per gli
              sviluppatori




T3Camp Italia                                FLOW3
Levento 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.

              Lestensione extdeveval, permette di aggiungere nella barra
              superiore di TYPO3 unicona che permette di vedere le varie
              classi e funzioni che TYPO3 mette a disposizione per gli
              sviluppatori

              Unalternativa 竪 andare ad api.typo3.org, dove potete trovare la
              lista completa delle funzioni allinterno del sistema.




T3Camp Italia                                FLOW3
Levento italiano dedicato a                 Federico Bernardin
I test




T3Camp Italia                  FLOW3
Levento 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
Levento 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
Levento 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.

              Lestensione PHP Unit (<phpunit>) di TYPO3 ci da la possibilit
              di testare e veri鍖care i nostri test case.




T3Camp Italia                               FLOW3
Levento 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.

              Lestensione PHP Unit (<phpunit>) di TYPO3 ci da la possibilit
              di testare e veri鍖care i nostri test case.

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




T3Camp Italia                               FLOW3
Levento italiano dedicato a                Federico Bernardin
Scelta del paradigma




T3Camp Italia                        FLOW3
Levento 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
Levento italiano dedicato a               Federico Bernardin
Scelta del paradigma

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

              Effettuando lextend 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
Levento italiano dedicato a               Federico Bernardin
Scelta del paradigma

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

              Effettuando lextend 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.

              Unalternativa pi湛 nuova 竪 sicuramente lutilizzo di un
              paradigma MVC (model view controller). Lassociazione ha
              creato unestensione (<extbase>) che permette di utilizzare il
              paradigma MVC dentro la nostra estensione.




T3Camp Italia                              FLOW3
Levento italiano dedicato a               Federico Bernardin
Scelta del paradigma

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

              Effettuando lextend 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.

              Unalternativa pi湛 nuova 竪 sicuramente lutilizzo di un
              paradigma MVC (model view controller). Lassociazione ha
              creato unestensione (<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
Levento italiano dedicato a               Federico Bernardin
Documentazione




T3Camp Italia                     FLOW3
Levento italiano dedicato a      Federico Bernardin
Documentazione

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




T3Camp Italia                            FLOW3
Levento italiano dedicato a             Federico Bernardin
Documentazione

              Lo sviluppo di unestensione 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 lestensione
              (<doc_template>) che contiene il manuale che dovrebbe essere
              poi usato per scrivere la documentazione di utilizzo della nostra
              estensione.




T3Camp Italia                               FLOW3
Levento italiano dedicato a                Federico Bernardin
Documentazione

              Lo sviluppo di unestensione 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 lestensione
              (<doc_template>) che contiene il manuale che dovrebbe essere
              poi usato per scrivere la documentazione di utilizzo della nostra
              estensione.

              Unestensione senza manuale 竪 unestensione inutile e nel
              futuro potrebbero essere eliminate le estensioni senza manuale
              duso.




T3Camp Italia                               FLOW3
Levento italiano dedicato a                Federico Bernardin
Documentazione

              Lo sviluppo di unestensione 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 lestensione
              (<doc_template>) che contiene il manuale che dovrebbe essere
              poi usato per scrivere la documentazione di utilizzo della nostra
              estensione.

              Unestensione senza manuale 竪 unestensione inutile e nel
              futuro potrebbero essere eliminate le estensioni senza manuale
              duso.

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




T3Camp Italia                               FLOW3
Levento italiano dedicato a                Federico Bernardin
Alcuni consigli




T3Camp Italia                     FLOW3
Levento italiano dedicato a      Federico Bernardin
Alcuni consigli

              Fare unanalisi molto dettagliata, non lasciando troppe
              incognite che richiedano poi un rifacimento dellanalisi.




T3Camp Italia                               FLOW3
Levento italiano dedicato a                Federico Bernardin
Alcuni consigli

              Fare unanalisi molto dettagliata, non lasciando troppe
              incognite che richiedano poi un rifacimento dellanalisi.

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




T3Camp Italia                               FLOW3
Levento italiano dedicato a                Federico Bernardin
Alcuni consigli

              Fare unanalisi molto dettagliata, non lasciando troppe
              incognite che richiedano poi un rifacimento dellanalisi.

              Stabilire sulla base dellapplicazione 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
Levento italiano dedicato a                Federico Bernardin
Alcuni consigli

              Fare unanalisi molto dettagliata, non lasciando troppe
              incognite che richiedano poi un rifacimento dellanalisi.

              Stabilire sulla base dellapplicazione 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 dellapplicazione.




T3Camp Italia                               FLOW3
Levento italiano dedicato a                Federico Bernardin
Alcuni consigli

              Fare unanalisi molto dettagliata, non lasciando troppe
              incognite che richiedano poi un rifacimento dellanalisi.

              Stabilire sulla base dellapplicazione 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 dellapplicazione.

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



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


T3Camp Italia                  FLOW3
Levento italiano dedicato a   Federico Bernardin

More Related Content

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 Levento 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 lagenzia 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 allattivo alcuni plugin, tra cui x鍖extemplate, da Aprile 2010 sono TYPO3 Certi鍖ed Integrator. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 3. Obiettivi T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 4. Obiettivi Possibilit di riportarmi ad una versione precedente alle ultime modi鍖che. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 5. Obiettivi Possibilit di riportarmi ad una versione precedente alle ultime modi鍖che. Possibilit di lavoro in team, dove pi湛 persone modi鍖cano lo stesso 鍖le (non le stesse righe). T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 6. Obiettivi Possibilit di riportarmi ad una versione precedente alle ultime modi鍖che. Possibilit di lavoro in team, dove pi湛 persone modi鍖cano lo stesso 鍖le (non le stesse righe). Comodit nella scrittura del codice, aiuto nella scrittura delle funzioni. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 7. Obiettivi Possibilit di riportarmi ad una versione precedente alle ultime modi鍖che. Possibilit di lavoro in team, dove pi湛 persone modi鍖cano lo stesso 鍖le (non le stesse righe). Comodit nella scrittura del codice, aiuto nella scrittura delle funzioni. Sistemi di controllo della sintassi. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 8. Obiettivi Possibilit di riportarmi ad una versione precedente alle ultime modi鍖che. Possibilit di lavoro in team, dove pi湛 persone modi鍖cano lo stesso 鍖le (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 Levento italiano dedicato a Federico Bernardin
  • 9. Obiettivi T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 10. Obiettivi Processo di controllo della pubblicazione e dello sviluppo mediante task control, features e milestone. T3Camp Italia FLOW3 Levento 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 Levento 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 Levento 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 Levento 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 Levento italiano dedicato a Federico Bernardin
  • 15. Analisi e brie鍖ng T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 16. Analisi e brie鍖ng La prima operazione e forse la pi湛 complessa e delicata 竪 la raccolta delle informazioni per sviluppare unestensione effettivamente attinente alle richieste del cliente. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 17. Analisi e brie鍖ng La prima operazione e forse la pi湛 complessa e delicata 竪 la raccolta delle informazioni per sviluppare unestensione 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 dellapplicazione. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 18. Strumenti T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 19. Strumenti IDE (Integrated Development Environment) 竪 lapplicazione 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 Levento italiano dedicato a Federico Bernardin
  • 20. Strumenti IDE (Integrated Development Environment) 竪 lapplicazione 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 Levento italiano dedicato a Federico Bernardin
  • 21. Strumenti IDE (Integrated Development Environment) 竪 lapplicazione 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 modi鍖che. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 22. Strumenti T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 23. Strumenti Sistema di test e controlli, per poter ridurre il carico di lavoro in caso di modi鍖che al codice. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 24. Strumenti Sistema di test e controlli, per poter ridurre il carico di lavoro in caso di modi鍖che al codice. Sistema di pubblicazione mediante protocollo FTP dellapplicazione su server remoti. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 25. Subversion de鍖nizione e vantaggi T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 26. Subversion de鍖nizione e vantaggi Subversion 竪 unapplicazione server per la gestione multi utente del versionamento. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 27. Subversion de鍖nizione e vantaggi Subversion 竪 unapplicazione 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 Levento italiano dedicato a Federico Bernardin
  • 28. Subversion de鍖nizione e vantaggi Subversion 竪 unapplicazione 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 Levento italiano dedicato a Federico Bernardin
  • 29. Subversion de鍖nizione e vantaggi Subversion 竪 unapplicazione 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 laggiornamento del codice da una revisione a quella attuale. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 30. SVN: un esempio T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 31. SVN: un esempio T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 32. SVN: un esempio T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 33. Eclipse-Aptana de鍖nizione e vantaggi T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 34. Eclipse-Aptana de鍖nizione e vantaggi Eclipse 竪 uno strumento inizialmente sviluppato da IBM per JAVA. Oggi 竪 un IDE ottimizzato per luso di svariati linguaggi, come ad esempio PHP. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 35. Eclipse-Aptana de鍖nizione e vantaggi Eclipse 竪 uno strumento inizialmente sviluppato da IBM per JAVA. Oggi 竪 un IDE ottimizzato per luso 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 Levento italiano dedicato a Federico Bernardin
  • 36. Eclipse-Aptana de鍖nizione e vantaggi Eclipse 竪 uno strumento inizialmente sviluppato da IBM per JAVA. Oggi 竪 un IDE ottimizzato per luso 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 dellautocomplete, rendendo meno gravoso la scrittura del codice da parte dellutente. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 37. Eclipse-Aptana de鍖nizione e vantaggi Eclipse 竪 uno strumento inizialmente sviluppato da IBM per JAVA. Oggi 竪 un IDE ottimizzato per luso 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 dellautocomplete, rendendo meno gravoso la scrittura del codice da parte dellutente. Aptana (Eclipse) possiede moltissimi plugin che estendono le funzionalit base come ad esempio il debugger e la gestione del refactoring. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 38. Eclipse-Aptana: diamogli un occhio T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 39. Eclipse-Aptana: diamogli un occhio T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 40. TYPO3 Forge de鍖nizione e vantaggi T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 41. TYPO3 Forge de鍖nizione e vantaggi Forge raggiungibile allindirizzo http://forge.typo3.org 竪 un servizio che lassociazione mette a disposizione per poter avere un ambiente dove sviluppare e mantenere le proprie estensioni pubbliche. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 42. TYPO3 Forge de鍖nizione e vantaggi Forge raggiungibile allindirizzo http://forge.typo3.org 竪 un servizio che lassociazione 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 Levento italiano dedicato a Federico Bernardin
  • 43. TYPO3 Forge de鍖nizione e vantaggi Forge raggiungibile allindirizzo http://forge.typo3.org 竪 un servizio che lassociazione 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 unambiente pronto per mantenere le nostre estensioni con un repository svn compreso. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 44. TYPO3 Forge de鍖nizione e vantaggi Forge raggiungibile allindirizzo http://forge.typo3.org 竪 un servizio che lassociazione 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 unambiente pronto per mantenere le nostre estensioni con un repository svn compreso. E possibile gestire nuove richieste per bug 鍖xing, features e task. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 45. TYPO3 Forge de鍖nizione e vantaggi Forge raggiungibile allindirizzo http://forge.typo3.org 竪 un servizio che lassociazione 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 unambiente pronto per mantenere le nostre estensioni con un repository svn compreso. E possibile gestire nuove richieste per bug 鍖xing, 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 Levento italiano dedicato a Federico Bernardin
  • 46. TYPO3 Forge T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 47. TYPO3 Forge T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 48. TYPO3 Forge T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 49. TYPO3 Forge T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 50. TYPO3 Forge T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 51. TYPO3 Forge T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 52. TYPO3 come framework T3Camp Italia FLOW3 Levento 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 Levento 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. Lestensione extdeveval, permette di aggiungere nella barra superiore di TYPO3 unicona che permette di vedere le varie classi e funzioni che TYPO3 mette a disposizione per gli sviluppatori T3Camp Italia FLOW3 Levento 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. Lestensione extdeveval, permette di aggiungere nella barra superiore di TYPO3 unicona che permette di vedere le varie classi e funzioni che TYPO3 mette a disposizione per gli sviluppatori Unalternativa 竪 andare ad api.typo3.org, dove potete trovare la lista completa delle funzioni allinterno del sistema. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 56. I test T3Camp Italia FLOW3 Levento 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 Levento 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 Levento 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. Lestensione PHP Unit (<phpunit>) di TYPO3 ci da la possibilit di testare e veri鍖care i nostri test case. T3Camp Italia FLOW3 Levento 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. Lestensione PHP Unit (<phpunit>) di TYPO3 ci da la possibilit di testare e veri鍖care i nostri test case. I test diventano importanti nei casi in cui un piccolo refactor potrebbe modi鍖care il comportamento del codice, riducendo fortemente i tempi di test. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 61. Scelta del paradigma T3Camp Italia FLOW3 Levento 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 Levento 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 lextend 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 Levento 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 lextend 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. Unalternativa pi湛 nuova 竪 sicuramente lutilizzo di un paradigma MVC (model view controller). Lassociazione ha creato unestensione (<extbase>) che permette di utilizzare il paradigma MVC dentro la nostra estensione. T3Camp Italia FLOW3 Levento 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 lextend 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. Unalternativa pi湛 nuova 竪 sicuramente lutilizzo di un paradigma MVC (model view controller). Lassociazione ha creato unestensione (<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 Levento italiano dedicato a Federico Bernardin
  • 66. Documentazione T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 67. Documentazione Lo sviluppo di unestensione deve essere sempre accompagnata da documentazione che descrive il funzionamento tecnico del codice e soprattutto di documentazione di utilizzo. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 68. Documentazione Lo sviluppo di unestensione 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 lestensione (<doc_template>) che contiene il manuale che dovrebbe essere poi usato per scrivere la documentazione di utilizzo della nostra estensione. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 69. Documentazione Lo sviluppo di unestensione 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 lestensione (<doc_template>) che contiene il manuale che dovrebbe essere poi usato per scrivere la documentazione di utilizzo della nostra estensione. Unestensione senza manuale 竪 unestensione inutile e nel futuro potrebbero essere eliminate le estensioni senza manuale duso. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 70. Documentazione Lo sviluppo di unestensione 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 lestensione (<doc_template>) che contiene il manuale che dovrebbe essere poi usato per scrivere la documentazione di utilizzo della nostra estensione. Unestensione senza manuale 竪 unestensione inutile e nel futuro potrebbero essere eliminate le estensioni senza manuale duso. Il manuale dovrebbe essere scritto, anche in minima parte, ancor prima di scrivere il codice T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 71. Alcuni consigli T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 72. Alcuni consigli Fare unanalisi molto dettagliata, non lasciando troppe incognite che richiedano poi un rifacimento dellanalisi. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 73. Alcuni consigli Fare unanalisi molto dettagliata, non lasciando troppe incognite che richiedano poi un rifacimento dellanalisi. Stabilire sulla base dellapplicazione il paradigma da usare: OOP come tslib_pibase oppure MVC con extbase, valutando attentamente i pro e i contro. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 74. Alcuni consigli Fare unanalisi molto dettagliata, non lasciando troppe incognite che richiedano poi un rifacimento dellanalisi. Stabilire sulla base dellapplicazione 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 Levento italiano dedicato a Federico Bernardin
  • 75. Alcuni consigli Fare unanalisi molto dettagliata, non lasciando troppe incognite che richiedano poi un rifacimento dellanalisi. Stabilire sulla base dellapplicazione 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 dellapplicazione. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 76. Alcuni consigli Fare unanalisi molto dettagliata, non lasciando troppe incognite che richiedano poi un rifacimento dellanalisi. Stabilire sulla base dellapplicazione 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 dellapplicazione. Inserire i commenti javadoc per essere poi usati da applicazioni di analisi dei commenti. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 77. T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin
  • 78. Buon sviluppo a tutti sia in OOP che in MVC!! T3Camp Italia FLOW3 Levento italiano dedicato a Federico Bernardin

Editor's Notes

  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