quale framework php utilizzare?

19
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 [email protected]

Upload: simone-carletti

Post on 05-Dec-2014

17.265 views

Category:

Technology


4 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 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

[email protected]

Page 2: Quale framework PHP utilizzare?

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

Page 3: Quale framework PHP utilizzare?

Contenuti

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

–  CakePHP –  Symfony –  Zend Framework

•  Approfondimenti

Page 4: Quale framework PHP utilizzare?

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!

Page 5: Quale framework PHP utilizzare?

Perchè usare un framework?

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

Page 6: Quale framework PHP utilizzare?

Don’t  repeat  yourself!  

Page 7: Quale framework PHP utilizzare?

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!  

Page 8: Quale framework PHP utilizzare?

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  

Page 9: Quale framework PHP utilizzare?

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?  

Page 10: Quale framework PHP utilizzare?

Il miglior framework

Il  framework  migliore  NON  esiste    

Il  framework  peggiore  NON  esiste    

Esiste  il  framework  più  adeguato    alle  nostre  esigenze  

Page 11: Quale framework PHP utilizzare?

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

Page 12: Quale framework PHP utilizzare?

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ì  

Page 13: Quale framework PHP utilizzare?

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)  

Page 14: Quale framework PHP utilizzare?

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ì  

Page 15: Quale framework PHP utilizzare?

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  

Page 16: Quale framework PHP utilizzare?

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.  

Page 17: Quale framework PHP utilizzare?

Quanto se ne parla in giro?

Page 18: Quale framework PHP utilizzare?

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

Page 19: Quale framework PHP utilizzare?

Grazie!

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

lo strumento migliore in ogni situazione.