software - php framework
Diferencias y similitudes entre Lumen y Laravel (5)
Actualización (5.2)
Con la última versión de Lumen (5.2), el Microframework se enfoca en API sin estado.
La
documentation
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.
Respuesta original (<= 5.1)
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 de terceros y propios de Laravel). 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 en
bootstrap/app.php
para habilitarlos:
// $app->withFacades();
Lo mismo ocurre con los archivos de entorno Dotenv y Eloquent.
Para el enrutamiento, Lumen usa nikic/FastRoute 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
- Documentation (especialmente la introduction )
- Artículo de Matt Stauffer
- Entrevista con Taylor Otwell (especialmente la última pregunta)
- Discusión de Reddit
- laracasts.com/lessons/introducing-lumen
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?
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í
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.
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, de modo que pueda 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.
¿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 Lumen
- Es posible que desee abrir algunas características de una aplicación a otros desarrolladores a través de API
- Su aplicación debe ser compatible con aplicaciones web y móviles, entonces será perfecto para almacenar los datos en una base de datos envuelta en API Lumen.
- Cuando considera la escalabilidad como un punto importante, es posible que necesite luz