Cuando los programadores de PHP comenzamos a vagar por la faz de Internet, no existían frameworks y cada quien se las arreglaba como podía. Luego con el lanzamiento de frameworks como Ruby on Rails, comenzaron a desarrollarse y popularizarse frameworks para PHP.
Sin embargo, hay algunos proyectos que no necesitan toda la estructura de un framework como Laravel o Symfony, ya sea porque son muy sencillos, tienen características muy específicas, o requieren de una velocidad de ejecución extrema.
Por ende surgió la necesidad de disponer de micro-frameworks, es decir versiones mucho más ligeras de los frameworks que ya conocemos.
El universo de PHP ya contaba con algunos como Silex (de los creadores de Symfony) y Slim, sin embargo no disponíamos de una versión «super liviana» de Laravel. Hasta hoy, que fue anunciado Lumen:
¿Qué es Lumen?
Lumen es un micro-framework para PHP creado por Taylor Otwell que comparte muchos de los componentes de su «hermano mayor» Laravel, pero Lumen es una versión más liviana de Laravel y orientado más a la creación de APIs y microservicios, aunque también puedes usarlo para crear sitios web o lo que quieras.
A diferencia de Laravel PHP, archivos y componentes no vienen por defecto en Lumen (como por ejemplo la integración con Bootstrap y los módulos preestablecidos de autenticación y registro) pero sí puedes usar el ORM Eloquent y otros importantes componentes de Laravel en Lumen.
¿Qué significa el nombre del framework Lumen?
Es una «especie» de diminutivo de Illuminate (el nombre clave de los componentes de Laravel 4 y 5)
¿Debería usar Laravel o Lumen?
Si estás planeando desarrollar tu próximo sitio o portal web, y necesitas un CMS, un panel administrativo, un CRM, un foro o sistemas de ese tipo, Laravel es «the way to go», pero si sólo quieres crear un API para tu SPA (aplicación de una sola página) construida con Angular o EmberJS, o quieres implementar un microservice, usar Lumen es una buena opción.
Por otro lado, con Lumen puedes construir cualquier tipo de proyecto, así que si nunca has usado ningún framework y te «intimida» comenzar con Laravel, quizás Lumen sea una buena opción para ti
¿Qué es un microservice?
Son procesos independientes que generalmente se encargan de una sola tarea (por ejemplo un cron-job para hacer un respaldo de la base de datos) y están por lo general desacoplados del resto de la aplicación.
¿Es posible migrar de Lumen a Laravel?
¡Sí! Lumen está construido usando los componentes de Laravel (como Fluent y Eloquent por ejemplo) así que en teoría debería ser fácil pasar una aplicación de Lumen a Laravel (esto es una gran ventaja y diferencia con respecto a otros micro frameworks de PHP).
Ok, muy bien pero: ¿Cómo puedo instalar y comenzar a usar Lumen?
¡Haces muy buenas preguntas! Imagino que ya tienes Composer instalado (sino, te enseñamos cómo instalarlo en Ubuntu o en Windows)
Pues bien, simplemente ejecuta este comando en la consola:
composer create-project laravel/lumen NOMBRE_DE_TU_PROYECTO --prefer-dist
Espera unos minutos y ¡Listo! Ahora sólo necesitas crear un Virtual Host (te explicamos cómo para Windows o Linux y Mac) que apunte a NOMBRE_DE_TU_PROYECTO/public (no olvides la carpeta public) y el paso siguiente es probarlo en tu navegador.
¿No necesitas un virtual host? Entonces simplemente ve a la carpeta de tu proyecto y escribe:
php artisan list
Verás la lista de comandos de Lumen, que funcionan como en Laravel 5, sweet!
¿Cómo comienzo a desarrollar mi API en Lumen?
Simplemente ve al archivo app/Http/routes.php tal como en Laravel, and you are good to go:
<?php /* |-------------------------------------------------------------------------- | Application Routes |-------------------------------------------------------------------------- | | Here is where you can register all of the routes for an application. | It's a breeze. Simply tell Laravel the URIs it should respond to | and give it the controller to call when that URI is requested. | */ $app->get('/', function() use ($app) { return $app->welcome(); });
Por supuesto no olvides visitar la documentación oficial de Lumen.
Por último, ¿Te interesa aprender más sobre Lumen? Cuéntanos en los comentarios, mándame un Tweet y por supuesto no olvides suscribirte al sitio.
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.
Lección siguiente ¡Excelente! Lumen 5.2 ya está aquí