Leí la documentación y parece que Lumen es Laravel con menos funciones. Debo estar perdiendo algo. Estoy buscando una tabla de comparación de los componentes y características de Laravel y Lumen. ¿Alguien sabe las diferencias?
Leí la documentación y parece que Lumen es Laravel con menos funciones. Debo estar perdiendo algo. Estoy buscando una tabla de comparación de los componentes y características de Laravel y Lumen. ¿Alguien sabe las diferencias?
Respuestas:
Con la última versión de Lumen (5.2), el Microframework se enfoca en API sin estado.
La documentación dice:
Lumen 5.2 representa un cambio en adelgazar Lumen para centrarse únicamente en servir API JSON sin estado. Como tal, las sesiones y las vistas ya no se incluyen con el marco. Si necesita acceso a estas funciones, debe usar el marco completo de Laravel.
Lumen tiene que ver con la velocidad . Es más rápido y puede manejar más solicitudes por segundo que Laravel.
Laravel es un marco que une muchos componentes (componentes propios y de terceros). Ahora Lumen utiliza muchos de los mismos componentes, pero reduce al mínimo el proceso de arranque. Se podría decir que es un "pegamento diferente", los componentes (y, por lo tanto, muchas de las características) son en su mayoría los mismos.
La mejora del rendimiento se logra quitando algo de la flexibilidad del marco en términos de configuración y alterando el proceso de arranque predeterminado.
Además de eso, hay más funciones deshabilitadas de forma predeterminada y deben activarse antes de que puedan usarse. Como ejemplo: Fachadas (como DB::table()
)
Primero debe descomentar esta línea bootstrap/app.php
para habilitarlas:
// $app->withFacades();
Lo mismo ocurre con los archivos de entorno Dotenv y Eloquent.
Para el enrutamiento, Lumen utiliza nikic / FastRoute en lugar del enrutador symfonys porque funciona mucho mejor y le da al micro-marco otro gran impulso.
Aparte de eso, casi todo es igual que en Laravel.
Buenas lecturas sobre Lumen
Lumen no está diseñado para reemplazar a Laravel, sino que es un marco más especializado (y simplificado) diseñado para microservicios y API. Eliminó funciones innecesarias para una API, como sesiones HTTP y cookies, y también limitó el número de opciones de configuración. Fuera de la caja, Lumen sacrificó la flexibilidad de Laravel por la velocidad.
Sin embargo, puede agregar componentes de Laravel a Lumen para extenderlo, por lo que puede usarse para algo más que microservicios y API. Sin embargo, si su objetivo es extender Lumen para que se convierta en un sitio web, también podría usar Laravel.
También tienen diferentes casos de uso. Lumen y Laravel están destinados a trabajar juntos. Para las API y los servicios que se llaman con frecuencia, use Lumen. Para aplicaciones orientadas al usuario, use Laravel.
Esta respuesta está tomada de una publicación de blog que escribí que explica la diferencia entre Lumen y Laravel.
Cita de Matt Stauffer
Lumen tiene la misma base que Laravel, y muchos de los mismos componentes. Pero Lumen está diseñado para microservicios, no tanto para aplicaciones orientadas al usuario (aunque se puede usar para cualquier cosa). Como tal, las ventajas de frontend como Bootstrap y Elixir y el bootstrap de autenticación y las sesiones no vienen habilitadas de fábrica, y hay menos flexibilidad para extender y cambiar los archivos de arranque.
Puedes leer más aquí
npm install
así, no está completamente listo "listo para usar", diría. Por lo tanto, no perdemos mucho con respecto a estos, al cambiar a Lumen. En Lumen, acabo de crear un paquete. Json y npm instalan Elixer, configuran bower y listo ...
redirect()->intended
. Espero que Lumen se ponga al día en estas áreas. Realmente me gusta un Laravel sin ORM (Eloquent), por lo que Lumen es muy atractivo para mí.
redirect()->intended()
con una API, que es en lo que se enfoca Lumen.
El microframework de Lumen es una versión ligera del marco de apilamiento completo de Laravel. Lumen utiliza la sintaxis y los componentes de Laravel, y se puede 'actualizar' fácilmente a Laravel.
Lumen es un marco más especializado (y simplificado) diseñado para el desarrollo de microservicios y el desarrollo de API. Por lo tanto, algunas de las características de Laravel, como las sesiones HTTP, las cookies y las plantillas, no son necesarias y Lumen las elimina, manteniendo lo esencial: enrutamiento, registro, almacenamiento en caché, colas, validación, manejo de errores y un par de otras.
¿Por qué lumen?
Lumen es la solución perfecta para construir microservicios basados en Laravel y API ultrarrápidas. De hecho, es uno de los micro marcos más rápidos disponibles. Nunca ha sido tan fácil escribir servicios increíblemente rápidos para admitir sus aplicaciones Laravel. Doc
Lumen es un marco para construir API, que esencialmente servirá respuestas JSON para sus solicitudes. Eso es.
Este tipo de aplicaciones se conocen como servicios web en general .
A partir de la actualización de Lumen 5.2, no admite vistas de laravel, sesiones, etc ... para eso tendrá que actualizar a laravel framework completo.
Algunos componentes del marco de trabajo de Laravel se intercambian con otros paquetes a favor del rendimiento. revísalos aquí
Escenarios de ejemplo donde podemos considerar a Lumen
La principal diferencia entre laravel y lumen es que Laravel puede tener comandos artesanales, que lumen no tiene.