¿Por qué elegir symfony o laravel como framework para nuestros diseños?
- La utilización de un framework acorta los tiempos de desarrollo. Por ejemplo, se elimina la necesidad de programar las conexiones con una base de datos al usar operaciones CRUD.
- Mejora la escabilidad del sistema.
- El mantenimiento del código es mucho más sencillo al tener todo localizado y organizado.
- La utilización de un módelo MVC incrementa la velocidad en el desarrollo de nuestra aplicación.
- Los frameworks cubren la mayoría de problemas de seguridad.
Symfony vs Laravel
Symfony 3/4
Symfony es una serie de componentes reutilizables (Bundles) escritos en PHP, permitiendo al desarrollador crear aplicaciones fácilmente escalable y con un alto rendimiento.
Laravel 5.5/5.6
Laravel, también conocido como “el framework PHP para artesanos”, ofrece una gran comunidad y una amplia librería de aplicaciones o desarrollos que podemos utilizar en nuestros proyectos.
Instalación
Tanto para Symfony como para Laravel, Composer tiene un papel crucial en la instalación. Esto se debe a que en ambos casos todo es manejado por componentes.
Los requisitos de Symfony 3/4 son:
- PHP >= 5.5.9, con Symfony 4 PHP 7.2.5
- Composer
- Json habilitado
- Ctype habilitado
- Tener asignado el valor de date.timezone en php.ini
- Mysql instalado
Los requisitos de Laravel 5.5/5.6 son:
- PHP >= 5.6.4
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Composer GULP
- Mysql instalado
Plantillas
Symfony
Twig se define a sí mismo como un sistema modelo para la creación de plantillas para PHP, fácil de aprender y rápido de utilizar.
Laravel
Blade tiene una base similar a Twig, pero, a diferencia de este, permite la utilización de código php en las plantillas y todo el código tiene que ser convertido a php antes de ser visualizado.
Bases de datos
En este campo, Symfony nos ofrece un mayor soporte sobre varias bases de datos.
Symfony
- Microsoft BI
- MongoDB
- MySQL
- NoSQL
- PostgreSQL
- CouchDB
- DynamoDB
- GemFire
- GraphDB
- MemBase
- MemCacheDB
- Oracle
- Apache
- Jackrabbit
Laravel
- SQLite
- MySQL
- PostgreSQL
- Redis
- Microsoft BI
- MongoDB
Velocidad de desarrollo
Desde la perspectiva de una empresa o un cliente, el tiempo transcurrido desde que se inicia el desarrollo hasta que su aplicación sale al mercado es muy importante. Tomando esto en cuenta, Laravel ofrece la posibilidad de llevar a cabo desarrollos rápidos y tiene una curva de aprendizaje más sencilla. Por otro lado, Symfony es un framework muy robusto y que nos garantiza un rendimiento y un tiempo de vida más largo.
Conclusión
Considerar a un framework mejor que otro es algo muy complicado. La mejor opción es que teniendo en cuenta las características de cada uno y el tipo de proyecto, escoger el más adecuado.
De una forma más sencilla, si queremos algo fácil de aprender y los proyectos son aplicaciones con un tiempo de desarrollo corto, la mejor opción es Laravel.
Si queremos un framework robusto, que ofrezca un buen rendimiento o los proyectos son aplicaciones con un tiempo de desarrollo largo, la mejor opción es Symfony.