Framework software e Zend Framework

  • 1,310 views
Uploaded on

L'importanza di utilizzare un framework software per lo sviluppo di applicazioni web professionali. L'ecosistema PHP e Zend Framework.

L'importanza di utilizzare un framework software per lo sviluppo di applicazioni web professionali. L'ecosistema PHP e Zend Framework.

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,310
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
16
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Zend FrameworkEnrico Zimuel (enrico@zend.com)Senior Software Engineer, Zend TechnologiesZend Framework Core TeamPHP.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 lInformatics Institute dellUniversità 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.
  • 4. Framework software © 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 nellutilizzo 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 dutilizzo● 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.
  • 9. 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 (linterprete del PHP)● Sito: http://www.zend.com © All rights reserved. Zend Technologies, Inc.
  • 12. Business con ZF © All rights reserved. Zend Technologies, Inc.
  • 13. Alcuni progetti basati su ZF © 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 ▶ ≈ 460000 linee di codice © All rights reserved. Zend Technologies, Inc.
  • 16. Model View Controller in ZF © All rights reserved. Zend Technologies, Inc.
  • 17. Componenti del progetto ZF 1 © 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.
  • 19. Zend Framework 2.0 © 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.
  • 28. Grazie!Maggiori informazioni:http://www.zend.comhttp://framework.zend.com/ © All rights reserved. Zend Technologies, Inc.