Aquí están mis notas aproximadas de lo que observé sobre cada uno de los dos marcos. Te dejaré decidir por ti mismo cuál se ajusta a la factura de lo que estás tratando de hacer …
- El enfoque principal de CakePHP está en el marco HMVC . Si bien es un diseño simple, es ideal para sitios web. Laravel se centra en varios patrones clave de diseño empresarial. Además de MVC Laravel le permite trabajar con contenedores IOC, impulsados por eventos, Factory, Facade, etc.
- El enfoque principal de Laravel es apoyar los Servicios y construir algún tipo de aislamiento entre el frontend y el backend (lógica de negocios). Cake prueba métodos de autenticación programática en modo como Auth basado en Form, Auth básico.
- Además de eso, Laravel ofrece capacidades más funcionales como la autenticación social. Más importante aún, podemos asegurar Vistas / Rutas y Servicios de forma independiente. Cake ofrece “horneado” que admite cierta generación de código básico
- Laravel ofrece Artisan, que es un CLI y básicamente nos permite hacer cualquier cosa. Proporciona comandos para ayudar a construir la aplicación ~ sin errores de desarrollo en lo que se pone donde
- Laravel viene con el marco de Micro Services Lumen PHP Micro-Framework Por Laravel. Enorme ayuda para exponer datos como objetos JSON y permitir la paginación, y finalmente una INTERFAZ MUCHO MEJOR.
- Increíble apoyo de la comunidad y tenemos capacidades como Spark. Spark proporciona el soporte de andamios que se encarga de todo el código repetitivo, lo que ahorra una gran cantidad de esfuerzo (esto tiene un costo de 1 vez).
Las características de Laravel:
- ¿Cómo debe ser la descripción del trabajo para un desarrollador de aplicaciones web en una startup nueva y patentada? ¿Qué habilidades, idiomas y habilidades son necesarias?
- ¿Cuáles son las mejores herramientas de automatización para aplicaciones web (front end)?
- ¿Cuál es la mejor herramienta o servicio para mapear todos los flujos en una aplicación?
- ¿Cuáles crees que son las tres mejores aplicaciones web y por qué?
- ¿Cómo son útiles los sistemas de reserva en línea para las empresas de gestión de viajes?
- Soporte IOC : permite un modelo de contenedor de servicio mucho más amigable para el desarrollador.
- Soporte para colas : muy útil para escalar para nosotros, especialmente porque hay tantos trabajos que ejecutamos. Mediante el uso de colas, podemos aumentar la paralelización de la aplicación sin necesidad de mucha infraestructura. The PHP Framework For Web Artisans.
- Blade : las plantillas son ciudadanos de primera clase y HTML no termina teniendo código de espagueti HTML + PHP
- Después de una pequeña curva de aprendizaje, Laravel hace que sea muy fácil para los desarrolladores trabajar. Uno de los desarrolladores trabajó durante 2 días para aprender y luego pudo construir 4 pantallas en 2 días con conectividad DB
- Laravel dado su diseño, naturalmente, permite realizar pruebas unitarias. Las pruebas unitarias en CakePHP no son realmente posibles. terminamos haciendo pruebas funcionales o pruebas de IU (dado su diseño de modelo de controlador).
- Laravel permite la inicialización de la base de datos, lo que permite un control de calidad / funcional fácil, seguridad, pruebas de rendimiento.
- CakePHP no ofrece nada como esto OOTB y tendremos que lograr esto a través de CI o algo
Laravel está acelerando el ritmo y es más popular de los dos, lo que significa que si está buscando un complemento para hacer un trabajo, las posibilidades de encontrar algo en Laravel son mayores (no estoy diciendo que no pueda encontrarlo en Cake)
En cuanto a un desarrollador, si está buscando establecer la gobernanza, mejorar la calidad, hacer pruebas unitarias, es más fácil lograr lo mismo en Laravel. En CakePHP, probablemente pueda lograr todo eso, pero terminará alejándose de lo que Cake recomienda firmemente (controlador de modelo de 2 clases) es todo lo que ofrece Cake.
La productividad del desarrollador se incrementa utilizando las herramientas y el ecosistema que Laravel proporciona como Artisan. no son solo generación de código sino herramientas de creación de aplicaciones. tareas comunes como crear nuevos controladores, vistas o agregar datos de prueba en DB para pruebas, o crear trabajos de Cron para producciones / QA se realizan a través de un entorno. no tiene que hacerlo así fuera del marco. A algunos les gusta el modelo Cake donde se externalizan estas tareas.
Gracias.