Quale framework PHP utilizzare?

Post on 05-Dec-2014

17.264 views 4 download

description

Breve panoramica dei framework (PHP) in occasione del workshop di Zend Italia su Zend Framework 1.5.

Transcript of Quale framework PHP utilizzare?

Quale Framework PHP utilizzare? Tutti o nessuno?

Workshop Zend Italia: Il PHP Diventa Grande È disponibile Zend Framework 1.5

Roma, 18 Aprile 2008

Simone Carletti www.simonecarletti.com

weppos@weppos.net

Due parole di presentazione

•  Technical Manager in Altura Labs Srl (www.alturalabs.com) •  Zend Framework contributor (weppos) •  Autore per HTML.it

–  <edit> –  PHP, ASP, XML, WebMarketing, Database, Server –  ICTv.it

•  Membro dell’RSS Advisory Board (www.rssboard.org) •  Autore www.zend-framework.it

Contenuti

•  Introduzione ai framework •  Principali framework •  PHP framework •  3 framework a confronto

–  CakePHP –  Symfony –  Zend Framework

•  Approfondimenti

Introduzione ai framework

•  Che cos’è un framework? –  Collezione di librerie –  Raccolta di strumenti ed elementi utili per lo sviluppo

•  Diversi tipi di framework –  Application framework –  Web framework

•  Un framework non è un CMS!

Perchè usare un framework?

•  Aumento della produttività •  Soluzioni già pronte ai problemi comuni •  Manutenzione del software •  Scalabilità •  Uniformità e standard •  Lo sviluppo è più divertente!

Don’t  repeat  yourself!  

Principali framework

Ruby  on  Rails  (Ruby)  www.rubyonrails.org  

Django  (Python)  www.djangoproject.com  

Twisted  Matrix  (Python)  www.twistedmatrix.com  

Symfony  (PHP)  www.symfony-­‐project.org  

CakePHP  (PHP)  www.cakephp.org  

Zend  Framework  (PHP)  www.zendframework.co

m  

Spring  Framework  (Java)  www.springframework.org  

ColdFusion  on  Wheels  (CF)  www.cfwheels.com  

...  e  mol'  altri!  

Principali framework in PHP

Symfony    www.symfony-­‐project.org  

CodeIgniter  www.codeigniter.com  

Zend  Framework  www.zendframework.co

m  

CakePHP  www.cakephp.org  

Prado  www.xisc.com  

php  framework  

PHP  4  

PHP  5  

Il miglior framework

•  I framework sono molti •  Le scelte a disposizione sono numerose

•  Come scegliere? •  Qual è il framework migliore?

Sei  pronto  a  scoprire  il    framework  migliore?  

Il miglior framework

Il  framework  migliore  NON  esiste    

Il  framework  peggiore  NON  esiste    

Esiste  il  framework  più  adeguato    alle  nostre  esigenze  

CakePHP · Symfony · Zend Framework

•  Nelle prossime slide, a confronto i 3 web framework PHP più diffusi

•  Comprenderne pregi e difetti aiuta a scegliere la soluzione più adatta per creare la nostra applicazione

Caratteristiche a confronto

CakePHP   Symfony   Zend  Framework  

Versione   1.1.18.5850   1.0   1.5.1  

Linguaggio   PHP  4   PHP  5   PHP  5  

Licenza   MIT  License   MIT  License   New  BSD  License  

RequisiX   PHP  4.3.2   PHP  5.1.4   PHP  5.1.4  

MVC   Sì   Sì   Sì  

i18n  e  l10n   Sì  (development)   Sì   Sì  

Caratteristiche a confronto

CakePHP   Symfony   Zend  Framework  

Database   MySQL  4+,  PostgreSQL,  ADODB  

A  seconda  dell’ORM.  Propel  supporta  i  DB  gesXX  da  PDO.  

MySQL,  Oracle,  IBM  DB2,  Microsoa  SQL  Server,  PostgreSQL,  SQLite,    Informix  Dynamic  Server  

Database  ORM   AcXve  Record  Pabern  

Propel  /  Doctrine   Table,  Row,  Rowset  

Database  MigraXon   Sì   No   No  

ACL   Sì   No   Sì  

Cache   Sì   Sì   Sì  (supporto  a  numerosi  backend)  

Caratteristiche a confronto CakePHP   Symfony   Zend  Framework  

Form   Sì   Sì   Sì  

Helper   ?   Sì   Sì  

Scaffolding   Sì   Sì   No  

Skeleton   Rigido   Rigido   Flessibile  

Plugin   Sì   Sì   Sì  

CLI   Bake   Pake   No  

Component  Dependency  

Sì   Sì   Loosely  

Logger   Plugin   Sì   Sì  

Config  Manager   No   Sì   Sì  

Web  Service   Limitato   Limitato   Eccellente  

Feed   Plugin   Plugin   Sì  

Caratteristiche a confronto

CakePHP   Symfony   Zend  Framework  

Vantaggi   • Supporto  a  PHP  4  • Framework  maturo  

• Estremamente  developer  friendly  • OperaXvità  immediata  • CLI  • Admin  generator  

• Alta  qualità  dello  sviluppo  • ComponenX  riuXlizzabili  

Svantaggi   • Non  completamente  object  oriented  • Il  supporto  a  PHP  4  limita  l’uso  di  funzionalità  evolute  previste  solo  per  il  5  

• Qualche  carenza  nelle  performance  • Integrazione  ORM  a  volte  confusionaria  o  macchinosa  

• L’ORM  non  supporta  AcXve  Record  Pabern  • Supporto  limitato  a  funcXonal  test  

Caratteristiche a confronto

CakePHP   Symfony   Zend  Framework  

A  chi  si  rivolge?   • Il  supporto  a  PHP  4  lo  rende  una  scelta  ideale,  quasi  obbligata,  per  mantenere  compaXbilità  con  versioni  precedenX.  Questa  caraberisXca  è,  allo  stesso  tempo,  il  suo  tallone  d’Achille.  

• Oima  soluzione  per  l’immediata  produività,  per  costruire  applicazioni  con  elevata  interazione  o  parXcolare  esigenza  di  customizzazione  lato  front  end.  Meno  configurazioni,  più  convenzioni.  

• Oima  soluzione  professionale.  La  curva  di  apprendimento  è  maggiore  rispebo  agli  altri,  ma  permebe  allo  sviluppatore  un  maggiore  controllo  su  ogni  aspebo  dell’applicazione.  Meno  convenzioni,  più  configurazioni.  

Quanto se ne parla in giro?

Cosa si dice in giro?

•  Google Trends •  www.google.com/trends •  Google Blog Search •  www.google.com/blogsearch •  Technorati •  www.technorati.com

•  Wikipedia •  en.wikipedia.org •  HTML.it •  www.html.it , php.html.it, blog.html.it

Grazie!

Il framework è uno strumento, la conoscenza è la chiave per scegliere

lo strumento migliore in ogni situazione.