¿Qué es Lumen y cuando usarlo?

Introducción a Lumen el micro-framework que tiene como hermano mayor a Laravel.

Rodríguez Patiño, Eduardo
2020-11-28 | 890 lecturas

Ya tenemos buen tiempo desde que Laravel fue lanzado al mercado y su aprobación por la comunidad ha sido increíble convirtiéndose hoy en día en el framework más popular para el desarrollo de aplicaciones webs con la tecnología PHP.

Sabemos que Laravel es poderoso pero muchas veces necesitamos cubrir necesidades específicas y no queremos contar con tanto poderío.

Lumen

Es un micro-framework, es decir una <<versión liviana>> que busca cubrir necesidades específicas como sería el desarrollo de RESTFul APIs y Microservicios, propuesto por Taylor Otwell y liberado en abril del 2015.

Lumen y Laravel al ser hermanos vienen a la par, por lo tanto veremos que cada versión nueva de Laravel estará disponible para Lumen.

¿Cuándo usar Lumen?

  • Si nuestra APP solo será una RESTFul API o un Microservicio.
  • Si queremos ganar más perfomance (al cargar menos componentes, archivos, este procesa más rápido).
  • Para los que no quieran lidear con toda la documentación de Laravel.

Alternativas

Anteriormente solía usar Slim 3 para desarrollar una API y la verdad que me gustaba bastante pero en proyectos más trabajados me quedaba algo corto y tenía que agregar mucha dependencia a terceros para solucionar mis problemas. Por ejemplo, para trabajar con la base de datos terminaba usando Eloquent (de laravel).

Otra alternativa es Silex (Symfony) pero de este no puedo hablar porque nunca lo he usado ..

Aunque Lumen es una versión bastante simplificada de Laravel igual deberemos invertir algo de tiempo en documentarnos.

¿Cómo iniciar con Lumen?

Antes que nada debemos tener instalado composer y luego instalar el cliente de Lumen a través del siguiente comando:

composer global require "laravel/lumen-installer"

Para crear un nuevo proyecto de Lumen, ejecutamos el siguiente comando en la carpeta donde vamos a visualizar nuestras aplicaciones PHP.

lumen new nombre_de_mi_proyecto