Date post: | 05-Dec-2014 |
Category: |
Technology |
Upload: | simone-carletti |
View: | 17,264 times |
Download: | 4 times |
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
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.