Laravel vs CodeIgniter - Framework PHP para desarrollos web a medida

Laravel vs CodeIgniter - Framework PHP para desarrollos web a medida

 

En esta entrada comparo dos frameworks de PHP, CodeIgniter y Laravel. Antes de nada avisarte de que esta entrada, como podrás comprobar tu mismo, va dirigida a desarrolladores y programadores web. Te vendrá muy bien si estás pensando en convertirte en uno de ellos. Allá vamos...

¿Qué es un framework?

Un framework de desarrollo en este caso para el lenguaje de programación PHP. Es un entorno de desarrollo. Con una base desde la cual podemos basarnos para crear cualquier proyecto. Ofrece un conjunto de software reciclable que incluye librerías, APIs y métodos. Así como otras funcionalidades comunes a la mayoría de proyectos y las cuales podemos usar en el nuestro. Podemos valernos de las mismas para crear aplicaciones, productos, soluciones o servicios, en este caso orientado a la web.

 


 

¿Qué es CodeIgniter?

CodeIgniter es un potente framework de PHP construido para programadores de PHP qué necesitan un conjunto sencillo y elegante de herramientas parar crear aplicaciones web con diferentes funcionalidades. Si eres desarrollador de proyectos pequeños o medianos que usan hosting compartidos y clientes con deadlines (fechas de entrega) muy ajustadas. No quieres un framework pesado. Buscas un framework de PHP muy rápido, bien documentado y fácil de aprender. CodeIgniter es tu elección.

 

¿Qué es Laravel?

Laravel es un framework para aplicaciones web con una elegante sintaxis. Laravel ofrece componentes no tan básicos para intenta eliminar cierta parte del desarrollo, facilitando las tareas más comunes que se utilizan en la mayoría de proyectos web, tales como la autenticación, enrutamiento, sesiones y caché. Es necesaria la versión 5.5 o superior de PHP. Y necesaria la utilización de Composer para su instalación.

 


 

Mejor Hosting español para probar Framework de PHP

 


¿Por qué usar CodeIgniter?

CodeIgniter es un framework maduro, se publicó la primera versión en Febrero de 2006. Soporta todas las versiones de PHP a partir de las 5.2 y cuenta con soporte para la mayoría de base de datos. Compatible con todo tipo de hosting y servidores dedicados o virtuales. Incluyendo la documentación el framework no pesa más de 3 MB. No hace falta usar un lenguaje de plantillas. La configuración inicial es casi inexistente. Cuenta con una amplia y clara documentación. No obliga al uso del modelo MVC y no tiene reglas restrictivas en cuanto a la programación y nomenclatura. Cuenta con una amplia comunidad y actualmente hay grandes portales hechos con CodeIgniter.

 

¿Por qué usar Laravel?

Laravel está construido para la última versión de PHP, aunque se puede usar a partir de la versión 5.5. Cuenta con algunos componentes para desarrollo, algunos ofrecen funciones básicas muy útiles como por ejemplo soporte para autenticación y una unidad de pruebas. Cuenta con ORM propio, llamado Eloquent. Usa el motor de plantillas Blade. Es bastante sencillo construir una API REST full. Tiene un sistema de rutas, las cuales hay que definir previamente. La instalación mediante Composer. Gran comunidad de desarrollo y buena documentación.

 

 

CodeIgniter vs Laravel

¿Cuál es el mejor framework para PHP?

 

 

Esta es una disyuntiva que lamentablemente no podemos dirimir con facilidad. Lo único que se pueden aportar son opiniones, cada uno desde su experiencia. En este caso mi opinión como programador web.

Tanto CodeIgniter como Laravel cuentan con ventajas e inconvenientes, ninguna de las cuales son suficientes como para poder elegir o calificar a uno por encima del otro. Sin embargo, yo tengo claro lo que es mejor para mi. Cuando empecé programando en PHP, al principio cosas pequeñas, PHP me servía a la perfección. Ya aprovecho para decir que PHP es un lenguaje maravilloso con el que se puede hacer prácticamente todo tipo de plataformas online. Más adelante cuando tuve la necesidad de empezar con proyectos medianos, y teniendo en cuenta la posibilidad de que fueran creciendo, me vi con el problema de que PHP a pelo pudiera convertir el desarrollo del proyecto en toda una odisea. Entonces descubrí CodeIgniter, fue en un curso en la universidad y empecé a darme cuenta de las posibilidades que ofrecía un framework de desarrollo. Me quedé maravillado con CodeIgniter ofrecía todo lo que en ese momento necesitaba. Más adelante por motivos profesionales tuve que trabajar con Laravel. Para mi fue divertido conocer otro framework de desarrollo. Su distinta forma de trabajar la forma de manejar las rutas, los controladores y por supuesto para mi las principales diferencia los modelos y las vistas. Laravel cuenta con ORM (Eloquent) y además con un lenguaje de plantillas (Blade).

Pero... qué tengo en consideración para elegir un framework PHP u otro. En mi opinión la agilidad de desarrollo y la velocidad del mismo. En primer lugar CodeIgniter cuenta con mayor rendimiento que Laravel, esto es se puede comprobar claramente, aunque depende mucho de nuestra forma de programar. Pero se puede hacer una clara reflexión. Cuando usamos CodeIgniter usamos su base y lo que nosotros añadamos, librerías de terceros o nuestro propio desarrollo. Cuando usamos Laravel, usamos todos los componentes que trae por defecto como el autenticador, su sistema de rutas, su sistema de plantillas... Con CodeIgniter tendríamos que ser nosotros quien desarrolláramos un sistema de autenticación o usar una librería de terceros. En cualquier caso somos nosotros los que decidimos.

A continuación tenemos una gráfica sacada de Google Trends, donde se comparara el número de búsquedas que tiene cada Framework. Podemos observar claramente que CodeIgniter es un framework más antiguo (más maduro). Y comprobar que efectivamente actualmente Laravel es tendencia (está de moda).

 

Codeigniter vs Laravel Trends

 

En resumen:

A la hora de empezar un proyecto CodeIgniter nos lo pone muy fácil, apenas necesita una configuración inicial, tan sólo definir el dominio o url y en el caso de que necesitemos usar base de datos (casi siempre) definir la configuración para dicha base de datos. La curva de aprendizaje es increíble, se puede controlar bastante sin llegar a dedicarle mucho tiempo.

En cambio Laravel tiene una instalación un poco más tediosa, por ejemplo, la necesidad de usar Composer para instalar Laravel en mi opinión es un pequeño atraso, y puede ser un impedimento a la hora de usar Laravel en un hosting normal y corriente. Y una forma de programar un poco más estricta en cuanto al patrón MVC.

 

Por supuesto si estás empezando en el mundo del desarrollo web te aconsejo encarecidamente que empieces aprendiendo PHP y CodeIgniter.

 

Al final, en mi opinión, el objetivo de usar un Framework u otro es conseguir resultados antes y pasar más tiempo lejos del ordenador ;)

 

Ahora te toca a ti decidir cuál es el mejor Framework de desarrollo, CodeIgniter o Laravel...

 

 

No te quedes sin conocer trucos, atajos y los plugins esenciales para el mejor editor para programadores -> Sublime Text