Contenu connexe
Similaire à Framework software e Zend Framework (20)
Plus de Enrico Zimuel (20)
Framework software e Zend Framework
- 1. Zend Framework
Enrico Zimuel (enrico@zend.com)
Senior Software Engineer, Zend Technologies
Zend Framework Core Team
PHP.TO.START 11 Luglio 2011, Torino
© All rights reserved. Zend Technologies, Inc.
- 2. Mi presento
● Software engineer dal 1996 (in PHP dal 1999)
● Ho svolto attività di ricerca presso l'Informatics Institute
dell'Università di Amsterdam
● Lavoro come PHP engineer per Zend Technologies nel
team di sviluppo dello Zend Framework
● Scrittore e speaker in conferenze internazionali
● Blog sulla programmazione web in PHP:
http://www.zimuel.it/blog
● Socio del GrUSP, fondatore del PUG di Torino
© All rights reserved. Zend Technologies, Inc.
- 3. Sommario
● Perchè utilizzare un framework software?
● Introduzione a Zend Framework
● Breve storia del progetto
● Caratteristiche del progetto
● La nuova release 2.0
© All rights reserved. Zend Technologies, Inc.
- 5. Framework software
● Un framework software è un insieme di librerie o
classi riutilizzabili per la realizzazione di un
sistema software.
● Caratteristiche di un framework:
▶ Riusabilità
▶ Standardizzazione
▶ Estensibilità
▶ Qualità del codice
▶ Sicurezza
© All rights reserved. Zend Technologies, Inc.
- 6. Vantaggi nell'utilizzo di un framework
● Velocità di sviluppo
▶ Time to market
● Standard nella scrittura del codice
▶ Lavoro in team
● Qualità del codice
▶ Minor numero di bug
▶ Sicurezza
© All rights reserved. Zend Technologies, Inc.
- 7. Come scegliere un framework
● Diffusione del framework
● Documentazione
● Supporto
● Licenza d'utilizzo
● Curva di apprendimento
© All rights reserved. Zend Technologies, Inc.
- 8. Esempi di framework software
● Java ● Perl
▶ Spring ▶ Catalyst
▶ Struts ▶ Mojolicious
▶ Jboss ● Ruby
● ASP/C#/VB ▶ Ruby on Rails
▶ .NET ▶ Padrino
● PHP ▶ Sinatra
▶ Cake PHP ● Python
▶ CodeIgniter ▶ Django
▶ Symfony
▶ Pylons
▶ Zend Framework
© All rights reserved. Zend Technologies, Inc.
- 10. Zend Framework
● Framework PHP per lo sviluppo di applicazioni web
▶ > 10 milioni di download
▶ > 500 sviluppatori
▶ > 10 milioni hits su Google
● Open source, licenza new BSD
● Sito del progetto: http://framework.zend.com
● © Zend Technologies Ltd.
© All rights reserved. Zend Technologies, Inc.
- 11. Zend Technologies
● Zend Technologies Ltd, the PHP Company
● Fondata nel 1999 da Andi Gutmans e Zeev Suraski, gli
sviluppatori del PHP 3.0
● Quartier generale nella Silicon Valley a Cupertino (USA)
● Uffici in: Francia, Germania, India, Irlanda, Israele, Italia
● © PHP Engine 2 (l'interprete del PHP)
● Sito: http://www.zend.com
© All rights reserved. Zend Technologies, Inc.
- 14. Breve storia di ZF
● Ottobre 2005: Annuncio del progetto
● Marzo 2006: Prima versione (pulic review), 0.1.0
● Luglio 2007: Prima versione stabile 1.0
● Marzo 2008: Prima minor release 1.5.0
▶ Zend_Form, Zend_Layout
● Aprile 2009: 1.8.0
▶ Zend_Tool, Zend_Application
● Agosto 2009: 1.9.0
▶ Supporto PHP 5.3
● Novembre 2010: 1.11.0
▶ Supporto dispositivi mobile tramite Zend_Http_UserAgent
▶ Simple Cloud API tramite Zend_Cloud
© All rights reserved. Zend Technologies, Inc.
- 15. Caratteristiche di ZF
● Architettura aperta
▶ Facile integrazione in progetti di terze parti
▶ Design del tipo “Use at will”
● Completamente ad oggetti in PHP 5
● Codice testato, Unit test (PHPUnit)
● Utilizzo di design pattern
▶ MVC, Factory, Singleton, etc
● Qualche numero:
▶ ≈ 4000 classi, ≈ 9000 files, ≈ 91 Mb
▶ ≈ 460'000 linee di codice
© All rights reserved. Zend Technologies, Inc.
- 18. Ciclo di sviluppo in ZF
● Proposta di un nuovo
componente dalla community
● Ready for review (community)
● Ready for recommendation
● Pending recommendation
(revisione da parte del Core
Team)
● Ok per il Laboratory
● Testing e review
● Ok per il rilascio in release
(standard/extras)
© All rights reserved. Zend Technologies, Inc.
- 20. Zend Framework 2.0
● Nuova major release
▶ Ci ha permesso di non dover tener conto
della retro-compatibilità
▶ Prerequisiti: PHP 5.3 e superiore
● Attenzione posta su:
▶ Consistenza
▶ Performance
▶ Documentazione
▶ Produttività utente
© All rights reserved. Zend Technologies, Inc.
- 21. Primi passi verso ZF 2.0
● Conversione del codice da prefissi gestiti a
mano (es. “Zend_Foo”) ai namespace nativi
di PHP 5.3
● Refactoring delle Eccezioni
● Cambio di ZF per essere solo autoload
● Miglioramento e standardizzazione del sistema
di plugin
© All rights reserved. Zend Technologies, Inc.
- 22. ZF 2.0 (dev3)
● Il 14 giugno 2011 è stata rilasciata la versione
dev3 di Zend Framework 2.0
● Tra le funzionalità già implementate:
▶ Refactoring di ZendTool e CodeGenerator
▶ Migrazione e refactoring dei servizi LiveDocx
▶ EventManager
▶ Dependency Injection
● Maggiori info: http://bit.ly/lptIpN
© All rights reserved. Zend Technologies, Inc.
- 23. ZF2 in una slide
● Miglioramenti:
▶ Namespace (supporto nativo di PHP)
▶ Exception
▶ Autoloading
▶ MVC
▶ Plugin
▶ Documentazione
▶ Performance
● Nuove funzionalità:
▶ Event Manager
▶ Dependency Injection / Service Locator
▶ Supporto di nuovi servizi cloud
▶ Molto altro ancora...
© All rights reserved. Zend Technologies, Inc.
- 24. Rilascio di ZF2
● Versione beta
▶ metà ottobre 2011
● Release stabile a fine anno
© All rights reserved. Zend Technologies, Inc.
- 25. Come contribuire al progetto
● Sito ufficiale
▶ http://framework.zend.com
● ZF2 wiki:
▶ http://bit.ly/zf2wiki
● zf-contributors mailing list:
▶ zf-contributors-subscribe@lists.zend.com
● IRC:
▶ #zftalk.dev su Freenode
© All rights reserved. Zend Technologies, Inc.
- 26. Risorse
● Official repo ZF1:
▶ http://framework.zend.com/svn/framework/
● Git guide ZF2:
▶ http://bit.ly/zf2gitguide
● GitHub ZF2:
▶ http://github.com/zendframework/zf2
● Official repo ZF2:
▶ git://git.zendframework.com/zf.git
▶ http://git.zendframework.com/
© All rights reserved. Zend Technologies, Inc.
- 27. Domande?
© All rights reserved. Zend Technologies, Inc.