“Tempus fugit” dicevano i latini (e gli Yes), e nella programmazione questo concetto è ulteriormente rafforzato dalla rapida evoluzione dei linguaggi, sempre più orientati verso la semplificazione del codice, l’ottimizzazione delle funzionalità e la velocità di esecuzione.
Questa premessa ci consente di comprendere meglio qual’è la differenza principale tra Codeigniter, che possiamo considerare il “nonno” dei framework PHP, e Laravel, il giovanotto ambizioso che sgomita per arrivare in alto.
La forza dell’esperienza
CodeIgniter ormai è un’istituzione, una sicurezza. Ha moltissimi punti di forza: l’incredibile semplicità di installazione e di utilizzo, la stabilità del codice, la documentazione precisa e chiara e, cosa mai da sottovalutare, una vastissima comunità alle spalle. Inoltre, è forse la risorsa migliore per chi vuole passare dalla programmazione PHP pura a quella con architettura MVC, una sorta di step intermedio tra i due approcci. Nonostante il peso degli anni, sentiremo parlare di questo framework ancora per molto molto tempo!
Quindi è solo una questione di età?
Ovviamente no, ci mancherebbe. E allora perché scegliere Laravel? Principalmente, secondo noi, perché Codeigniter ha già sparato tutte le sue (validissime) cartucce e probabilmente nel suo futuro non ci sarà quello sviluppo che servirebbe a riportarlo al passo con i tempi.
Laravel, al contrario, è ancora un framework giovane e in rapidissima evoluzione e diffusione che, sicuramente, con le prossime release introdurrà nuovi elementi che andranno ulteriormente a perfezionarlo.
I vantaggi di Laravel
Già allo stato attuale, il nostro framework preferito ha diverse funzionalità molto utili che mancano al suo “esperto” rivale. Iniziamo dalla modularità del codice: con Laravel abbiamo delle entità separate tra loro: le viste, i controlli e i modelli, che possono essere sviluppati in maniera indipendente e riutilizzati anche in altri progetti.
Un’altra mancanza importante di Codeigniter è quella di un ORM: su Laravel, grazie a Eloquent, possiamo rapidamente interrogare il nostro database in maniera davvero intuitiva, rapida e performante per il server, invece di utilizzare la classica struttura del query language.
Abbiamo anche la possibilità di utilizzare la classe Eloquent, estendendola per tutte le altre classi che andremo a creare, le quali erediteranno tutte le utilissime funzioni che essa contiene, come ” save() “.
Altro elemento assente su CodeIgniter è quello dei namespace, grazie ai quali la velocità di autoload è cresciuta enormemente, tutto a vantaggio delle performance delle nostre pagine web.
Verdetto unanime?
Dopo questa analisi, per noi la conclusione è semplice: se oggi dovessimo far partire un nuovo progetto e dovessimo scegliere tra i due framework in questione, sceglieremmo Laravel senza alcun dubbio, per tutti i motivi di funzionalità e di prospettive future già descritti.
Ci sentiamo anche di consigliare agli utilizzatori di CodeIgniter di provare a fare quel passo in avanti dal quale, molto probabilmente, non torneranno più indietro. Ma non ci sentiamo di sconsigliare CodeIgniter in maniera definitiva, sia per progetti già avviati e sia per chi volesse utilizzarlo come “palestra” in vista di un utilizzo di framework più evoluti e moderni.
Nice Blog! Very Informative. Here is the real time comparison between Laravel or CodeIgniter, which one is best to pick?
Salve, sono un utente attivo di questo bloge dopo aver seguito alcune guide di installazione del framework capisco perchè a volte le persone cambiano idea alla velocità della luce quando si tratta di avviare un nuovo progetto con un framework come questo.
Dopo 3 giorni che provo e riprovo sulla mia virtual machine a configurare tutto l’ambiente XAMMP e il framework Laravel sono arrivato alla conclusione che codeigniter sarà sempre un framework utilizzato non perchè laravel sia meno qualitativo anzi.. ma per la semplicità di installazione.
Per Codeigniter servono circa 10 minuti , per laravel devi avere una laurea per iniziare ad utilizzare Laravel (e io tra l’altro sono laureato in informatica)…
Certo ottimo framework, template engine, velocissimo, spaziale .. ma ci vogliono GIORNI per installarlo per non parlare di certi sistemi al di fuori di laravel a cui però di fatto servono per laravel ad esempio Composer e tutti i moduli Apache che sono per installarli su linux mi danno 10000000 di errori.
Accetto ovviamente i consigli ma poi ci chiediamo perchè un utente medio non si avvicina nemmeno a voler studiare questo meraviglioso e difficoltoso Framework.
Io direi questo : perchè Laravel non può diventare un pacchetto di installazione (e non parlo del pacchetto laravel e basta) per poi essere pronti nello sviluppo e non doverci stare giorni (o quantomeno ore e ore a configurare).
Riassumendo se accettate qualche appunto mi sento di dire che la logica dietro laravel è eccezionale e anche le funzionalità lo sono, ma il vero casino è partire con gli strumenti adatti a poter avviare un progetto da zero.
Cordiali saluti
Ciao Almo,
grazie per il commento! Ci spiace che stai avendo quest’esperienza con Laravel, per installarlo noi comunque abbiamo creato diverse guide tra cui questa
https://www.laramind.com/blog/laravel-installazione-di-homestead-e-configurazione-di-un-ambiente-di-sviluppo/ dacci un’occhiata, comunque per qualsiasi cosa scrivici pure in privato a amministrazione@laramind.com
Hai provato ad installare Laragon? E’ eccezzionale ed in pochi minuti ti permette di iniziare a lavorare!!!
Scusate, ma perchè dite cose che non sono vere?
Codeigniter non ha Model View e Controller separati? è il framework MCV per eccellenza.
hai ragione c’era una svista, abbiamo corretto, grazie
Il problema è che i progetti realizzati in Laravel sono mediamente più lenti di quelli realizzati in CodeIgniter 🙂
Dipende dai punti di vista… 😉
Non ci sono punti di vista, o è vero o falso.