From webagency to...a better job, life and a lot of fun
Francesco Trucchia: Rapid Application Developement con strumenti Open Source
1. R.A.D. e symfony
Rapid application development con
framework open source
R.A.D. con framework open source - dott. Francesco Trucchia 1
2. Sommario
• Che cos’è il R.A.D.
• Che cos’è symfony
• Symfony e R.A.D.
• Strumenti per la gestione dell’applicazione
• Un blog in venti minuti
• Symfony test driven
R.A.D. con framework open source - dott. Francesco Trucchia 2
3. Che cos’è il R.A.D.
• Acronimo di Rapid Application Development.
• Precursore delle metodologie agili (1970) ma
un tipo di modello “waterfall”.
• Rapida prototipazione attraverso strumenti
automatici e riusabilità del codice.
• Metodologia centrata sulle logiche di
business.
R.A.D. con framework open source - dott. Francesco Trucchia 3
4. Che cos’è symfony
• Web application framework per PHP5.
• Velocizza la creazione e il mantenimento di
applicazioni web.
• Sostituisce i noiosi compiti di “coding” con
potenza, controllo, sicurezza e divertimento.
• Sviluppato su pattern MVC.
R.A.D. con framework open source - dott. Francesco Trucchia 4
5. Che cos’è symfony (2)
Pattern MVC Symfony MVC
R.A.D. con framework open source - dott. Francesco Trucchia 5
6. Che cos’è symfony (3)
• Conforme a molte “best practice” e “design
patterns”.
• Fornisce strumenti per lo sviluppo agile (DRY,
KISS, XP).
• Di classe enterprise.
• Completamente aperto e sotto licenza MIT.
• Supportato da un’ampia comunità.
• Creato dalla ditta francese Sensio.
R.A.D. con framework open source - dott. Francesco Trucchia 6
7. Symfony e RAD
• Elementi riusabili:
localizzazione,
divisione totale tra design html e business logic,
validazione e ripopolamento,
escaping,
caching,
autenticazione e credenziali,
routing e “friendly URL”,
paginazione e filtri,
estendibilità con factories, plug-ins e mixins,
helper (ajax ready).
R.A.D. con framework open source - dott. Francesco Trucchia 7
8. Symfony e RAD (2)
• Task automatici:
creazione progetto,
creazione applicazione,
creazione modello,
creazione moduli,
creazione interfacce C.R.U.D.,
creazione pannello di amministrazione.
R.A.D. con framework open source - dott. Francesco Trucchia 8
9. Strumenti per la gestione
dell’applicazione
• Logging
sistema di logging del php parametrizzato in un file
yaml per la reportistica degli errori,
sistema proprietario con diversi livelli di
configurazione per l’analisi del sistema.
• Debugging
debug per applicazione settabile nel controller,
gestione delle eccezioni e stack trace,
Integrabile con xdebug,
web debug toolbar.
R.A.D. con framework open source - dott. Francesco Trucchia 9
10. Strumenti per la gestione
dell’applicazione (2)
• Popolamento del database
Trasformazione di file di testo (fixtures) in
database grazie a yaml e sfPropelData object.
Task automatici per l’importazione del modello.
Rispetto delle relazioni a chiave importate.
R.A.D. con framework open source - dott. Francesco Trucchia 10
11. Strumenti per la gestione
dell’applicazione (3)
• Deploying dell’applicazione
Congelamento di un progetto per il trasferimento
sul server,
Utilizzo di rsync per la sincronizzazione
incrementale,
Esclusione di file non utili in produzione,
Attivazione e disattivazione delle applicazioni.
R.A.D. con framework open source - dott. Francesco Trucchia 11
12. Un blog in venti minuti
• Installazione di symfony.
• Creazione del progetto.
• Creazione del modello.
• Creazione del pannello di amministrazione.
• Creazione delle viste del blog.
R.A.D. con framework open source - dott. Francesco Trucchia 12
13. Symfony test driven
• “Prima il test poi il codice”.
• “Tutto si può testare”.
• Strumenti per i test automatici:
Test funzionali,
• new sfTestBrowser(): simulatore di browser.
• Sintassi per i test CSS 2.0 compliant:
$b->checkResponseElement('form input[type=quot;hiddenquot;][value=quot;1quot;]', true);
Test delle classi,
• new lime_test(): classica classe per lo unit test.
R.A.D. con framework open source - dott. Francesco Trucchia 13
14. Approfondimenti
• Sito ufficiale del progetto:
http://www.symfony-project.com
• Documentazione ufficiale:
http://www.symfony-project.com/content/documentation.html
• La guida ufficiale:
R.A.D. con framework open source - dott. Francesco Trucchia 14
15. Che cos’è IDEATO?
• Network di liberi professionisti che offre:
soluzioni “out of the box” open source per il
content management,
sviluppo applicazioni web con metodologie agili,
consulenze per l’avvio di team di sviluppo con
metodologie agili (XP, test-driven).
R.A.D. con framework open source - dott. Francesco Trucchia 15