OpenWebinars

Frameworks

Laravel vs CodeIgniter

Vamos a desarrollar en este artículo qué tienen de parecido dos de los frameworks PHP más conocidos y cuando es recomendable utilizar uno sobre otro.

Rafael Altube

Rafael Altube

Lectura 6 minutos

Publicado el 27 de agosto de 2021

Compartir

Vamos a ver en este artículo qué tienen de parecido estos dos frameworks de PHP y cuando usar uno sobre otro según mi criterio. He usado ambos en proyectos en las empresas en las que he estado y a día de hoy sigo trabajando en proyectos con Laravel y si se diera el caso y eligiese CodeIgniter para el proyecto pues podría perfectamente usarlo y sacarle partido. A mí me gusta más la potencia y robustez de Laravel para cualquier proyecto sí yo lo eligiese, y sobre todo también por la salida laboral y lo económicamente que está uno por encima de otro respecto a trabajos y salarios.

Si eres capaz de negociar en una entrevista seguro que te pagan más sabiendo de Laravel que de CodeIgniter por la multitud de proyectos en desarrollo de este primer framework que tantos pasos de gigantes ha dado en estos últimos años y sobre todo por la comunidad tan grande que tiene que a la hora de resolver problemas del framework o aportar nuevos micro desarrollos se nota bastante, con la librería que sea te resuelve gran parte del problema o si no el problema entero que tengas para desarrollar la funcionalidad que quieras en tu aplicación.

Este no va a ser un artículo listando sus características, que ya hay bastantes artículos así por ahí, que al final lees dos o tres artículos en diferentes sitios y parece que has leído lo mismo. Va a ser más centrado en mí experiencia que espero que os ayude e inspire sobre todo si tenéis poca experiencia o nula y estáis interesados en aprender uno u otro o incluso alguno de los que se mencionan en el artículo, aunque no esté desarrollado. Para artículos con características y listado ya tenemos varios, entre ellos este: Qué es Laravel: Características y ventajas

Similitudes entre Laravel y CodeIgniter

La similitud principal es el tipo de frameworks que son ambos, tipo MVC (Modelo-Vista-Controlador) que una vez que sabes usar un framework de este tipo el resto son iguales, lo único que varía a groso modo es su estructura de directorios que te adaptas en nada y sus funciones que se llamarán distintas y poco más, con la documentación lo resuelves todo en nada. Podríamos hacer un apartado de diferencias que tendrán muchas como el uso por consola, las bases de datos y modelos como lo hacen unos frameworks y otros, aunque tampoco varían mucho en realidad, yo los veo más bien como pequeños detalles que al poco de aprenderlos ya sabes hacerlo como si fueses un robot. Solo en estos apartados técnicos es donde encontramos sus diferencias y de ahí radica que se llamen de forma distinta, que los creadores sean distintos cada uno con su propio criterio de programacion y en conclusión que sean dos framework en vez de uno.

Otras similitudes que encontramos es que ambos continúan creciendo en la actualidad, evolucionando con nuevos desarrollos, por partes de sus amplias comunidades con las que cuentan y también sus buenas documentaciones bien desarrolladas y con muchos ejemplos prácticos para copiar y pegar y a funcionar.

Cuando usar Laravel antes que CodeIgniter

Desde mi punto de vista, tras haber estado en proyectos con estos dos frameworks y más del tipo MVC como Symfony, Zend o CakePHP, entre estos dos frameworks para un proyecto, usaría siempre Laravel, solo hay un caso donde no lo usuario, que en el siguiente punto sobre cuando usar CodeIgniter antes que Laravel explicare, y aun así tengo mis dudas, porque tiene sus pros también el usar Laravel ahí en vez de CodeIgniter.

Podéis leer también la comparativa siguiente: Laravel vs Symfony

Laravel copa el mercado y por su más amplia comunidad, documentación y seguramente compañeros que te encuentres que sabrán más de este framework que del otro, pues para mí es claro a usarlo siempre ya sea grande o chico el proyecto, me sirve de igual forma, está muy adaptado para ambos tipos de desarrollos.

Según Google Trends en el último año se busca bastante más cosas sobre Laravel que sobre CodeIgniter, aun así, teniendo este último su relevancia conforme a otros frameworks del mismo tipo.

Os dejo un curso de Laravel 5, las versiones más recientes como Laravel 7 u 8 cambian en cosas respecto al curso, aunque lo básico viene muy bien con este curso: Curso de Laravel 5

Cuando usar CodeIgniter antes que Laravel

Como puse en el apartado anterior sólo había una posibilidad para mí para usar este framework en un proyecto, y es que cuentes con el equipo adecuado que sepa sacarle el máximo partido, más partido que a Laravel. Solo en ese caso usaría CodeIgniter en vez de Laravel, aunque como dije tengo mis dudas, el usar Laravel promueve también que la gente aprenda y coja soltura con lo que no están tan acostumbrado quizás y por esa parte me molaría usar el Laravel.

Al final se trata de conocer a tu equipo, el desarrollo en concreto, analizar y elegir el framework a usar. El equipo tiene bastante peso para mí a la hora de decidir la tecnología, aunque yo me he ido adaptando a mis jefes algunas veces ellos preguntándome con cual estaba más cómodo y otras veces no, y estas veces que no, es cuando sacaba mi mejor cara y aprendía y me formaba con un proyecto y una tecnología nueva para mí, de ahí mis dudas por elegir aun así Laravel.

Y también CodeIgniter cuenta con curso que quiero compartir con vosotros: Curso de CodeIgniter

Técnicamente… ¿Cuál es mejor entonces?

Veamos en un listado quién tiene más potencia en esos aspectos técnicos:

  • El ORM por medio de Eloquent y la gestión de base de datos con las migraciones de Laravel destaca muchísimo.
  • El uso de consola y comando de Laravel con su Artisan da mucho juego y permite hacer muchas cosas de forma muy sencilla a la hora de actualizaciones o nuevos plugins por ejemplo.
  • En la vista destaca Laravel con su motor de plantilla (Blade).
  • A diferencia de CodeIgniter, Laravel usa mucho del core de Symfony, lo que lo hace muy parecido internamente.
  • La curva de aprendizaje de CodeIgniter es más liviana al ser algo más sencillo de usar
  • Con versiones antiguas de PHP y MySQL funciona mejor CodeIgniter.
  • Ambos son de Open Source.
  • Ambos están genialmente documentados y son muy prácticas estas documentaciones.

Destaca bastante más técnicamente Laravel, tanto en backend como en frontend.

Económica y profesionalmente hablando… ¿Cuál debería aprender primero?

Me gusta hablar bastante de pasta en los artículos, creo que es un tema de interés de bastante gente y que cuesta leerlo en artículos salvo que busques expresamente por eso en Google. Al final creo que es obvio que mucha más gente trabaja por el incentivo económico que por amor al arte, aunque te guste tu trabajo mucho. Yo sin ir más lejos trabajo para que me paguen y trabajo para poder vivir, y no vivo para trabajar, es mi filosofía desde que empecé a trabajar ganando 12K al año y ya era una pasada por aquel entonces y cómo cambian los tiempos que hoy en día al haberme autoanalizado y saber cómo soy como programador ya voy con mucho foco en los proyectos que me llegan.

Con estos frameworks pasa que no le sacamos quizás un buen partido a lo económico cuando ya tenemos un cierto conocimiento, todo va en función de la persona y sus habilidades, si me pongo de ejemplo a mí mismo, le saque partido a mí actitud y aptitudes como programador bastante tarde, lo que me privó de ganar más en ciertos momentos por no abordar el tema económico con los jefes que a mí me daba cosa en su día.

Con estos frameworks pasa que no le sacamos quizás un buen partido a lo económico cuando ya tenemos un cierto conocimiento, todo va en función de la persona y sus habilidades, si me pongo de ejemplo a mí mismo, le saque partido a mí actitud y aptitudes como programador bastante tarde, lo que me privó de ganar más en ciertos momentos por no abordar el tema económico con los jefes que a mí me daba cosa en su día.

Sin duda la respuesta para mí que hago en esta sección es clara, aprendería Laravel antes que CodeIgniter. Y también Symfony antes que CodeIgniter. Laravel y Symfony son los que copan el mercado y por ellos, por los que hay más ofertas de trabajo y puedes jugar para al final alcanzar esa meta económica sí te la propones y se tercia el proyecto.

La mejor forma de empezar es por sus documentaciones correspondientes y por la introducción que te hacen dónde empezar a saber cómo instalar ambos frameworks y echarlos a andar y luego a meterle mano a esos modelos, controladores y funcionalidades. Os dejo como empezar con ambos: documentación de Laravel y documentación de CodeIgniter

Compartir este post

También te puede interesar