Quando anni fa abbiamo iniziato a realizzare web application con i primi frame-work web presenti sul mercato il panorama era ben diverso: non esistevano ancora tanti frame-work in php come oggi e alcuni erano qualcosa di molto sperimentale. Così decidemmo di utilizzare quello che al momento era uno di quelli che andava per la maggiore: Rails, cioè un frame-work scritto in Ruby che aveva delle idee che allora potevano sembrare quantomeno bizzarre, ma che con il tempo abbiamo pian piano visto affermarsi in ogni frame-work presente oggi sul mercato.
La sua prima caratteristica era il pattern di programmazione MVC, oggi invece presente in ogni sua variante su quasi tutti i frame-work web. Inoltre, possedeva le utility a linea di comando come lo scaffolding per la creazione dell'applicazione base o dei model e controller, le migration del database, la struttura di cartelle predefinita e così via. Fu amore a prima vista! Ma l'hosting delle applicazioni era complicato e i provider che fornivano servizi di hosting erano ancora pochi; non esisteva ancora "bundler" per la gestione delle varie gems, pertanto era difficile mantenere i progetti.
Così andammo alla ricerca di qualcosa scritto in php, che ricalcasse un po' il frame-work che tanto ci piaceva. Inizialmente provammo con cackePHP, ma quest'ultimo non rispecchiava il modello di efficienza trovato su Rails. Alla fine dopo numerose ricerche ci imbattemmo in Yii, un frame-work php che prometteva di essere Veloce, Sicuro e Professionale. Il sito dello sviluppatore descrive Yii come: >Yii is a free, open-source Web application development framework written in PHP5 that promotes clean, DRY design and encourages rapid development. It works to streamline your application development and helps to ensure an extremely efficient, extensible, and maintainable end product.
Molti lo descrivevano come il porting di Rails in php, così decidemmo di provare. Fu chiaro fin da subito che avevamo trovato quanto di meglio si potesse desiderare: c'erano tutte le componenti principali viste in Rails e anche molte idee originali, frutto delle peculiarità del php. E vero, qualcosa mancava... ma stiamo parlando di due linguaggi differenti e non si poteva sperare di meglio. Devo dire che a distanza di diversi anni siamo tuttora "innamorati" di Rails che a nostro avviso guida ancora oggi il panorama dei frame-work web. Tuttavia resta una soluzione particolare, con dei costi di implementazione, nonostante le molte migliorie apportate negli anni, ancora superiori rispetto al più blasonato php.
Con Yii invece abbiamo trovato il nostro frame-work ideale. Oggi utilizziamo Yii2 (l'ultima evoluzione del frame-work) quando le esigenze di scalabilità dell'applicazione lo richiedono. Bisogna dire che ormai con le implementazioni fatte nelle ultime versioni come l'introduzione dei namespace, l'utilizzo di "composer" per la gestione delle dipendenze, il supporto a php7, la riscrittura delle api, il divario tra i due frame-work si è molto assottigliato. Siamo fiduciosi, vista la community in crescita e l'ottimo lavoro fatto fino ad oggi, di aver fatto la giusta scelta per il nostro frame-work di punta. Se siete interessati a conoscere le opportunità offerte dal frame-work o avete bisogno di una mano nello sviluppo o nella pianificazione della Vostra web-application, non esitate a contattarci.