Por qué usar Laravel en el Desarrollo de Software

Jul 27, 2021

En este artículo veremos qué es Laravel, qué beneficios e inconvenientes nos podemos encontrar y por qué es tan útil en el desarrollo de software.

¿Qué es Laravel?

Empecemos por el principio. ¿Qué es Laravel? Veamos lo que nos dice la Wikipedia:

Laravel es un framework de código abierto para desarrollar aplicaciones y servicios web con PHP 5, PHP 7 y PHP 8. Su filosofía es desarrollar código PHP de forma elegante y simple, evitando el «código espagueti». Fue creado en 2011 y tiene una gran influencia de frameworks como Ruby on Rails, Sinatra y ASP.NET MVC.2​

En resumen, Laravel es un conjunto de herramientas y utilidades genéricas escritas en PHP muy bien ordenadas, empaquetadas y de código abierto. Lo que viene a ser un framework PHP.

Como buen framework PHP, Laravel nos ayuda a no tener que escribir código que ya hayas tenido que escribir en otros proyectos, o mucha gente antes que tú, como conexión y gestión de base de datos (Eloquent ORM), sistema de registro y autenticación de usuarios, etc…

Laravel incorpora Blade, un motor de plantillas simple y potente que evitará que tengas que buscar o implementar un sistema de configuración propio, sistema de log, sistema de correo, entre otras perlas. Si, Laravel te proporciona la base para todas esas tareas cotidianas que todo proyecto necesita, para que emplees tu tiempo en encontrar la solución al problema de tu cliente y no en tareas de programación genéricas, sencillas y tediosas que solo te van a hacer perder tiempo.

¿Por qué usar Laravel en tu siguiente proyecto de desarrollo de software web?

En el momento en que te planteas un nuevo proyecto o desarrollo de alguna aplicación seguro que has pensado en todas las tareas que ello conlleva y en los plazos. Contar con una base ya hecha y sólida te permitirá acortar plazos y dedicar tu tiempo a lo que realmente es importante en tu proyecto.

En definitiva, los frameworks te facilitan la vida. Te hacen ahorrar tiempo y ponen a tu disposición gran número de librerías y funcionalidades ya programadas que evitarán que tengas que desarrollarlas tú mismo.

Centrándonos más en Laravel, si sabes programar en PHP, o has utilizado Symfony, prácticamente no te va a hacer falta ni leer la documentación, bueno, sí que te va a hacer falta, pero es muy muy sencillo.

¿Aún no te he convencido? A continuación te presento las ventajas principales que considero más relevantes de Laravel para que te veas obligado a darle una oportunidad en tu próximo proyecto web.

1. PHP

Laravel está escrito en PHP, lo siento haters. Puedes hacer todas las locuras que se pueden hacer con PHP respecto a requests y responses, globales del servidor, etc…

2. Comunidad activa

Laravel es un framework PHP de código abierto con una comunidad híper activa, lo que significa que tienes infinidad foros y sitios con desarrolladores que probablemente hayan respondido hace tiempo a tu duda. Por otro lado, permite que el framework esté libre de bugs y que siempre esté actualizándose. Una gran parte de los componentes que conforman el framework vienen de Symfony, vamos, que de lo bueno, se ha seleccionado lo mejor.

3. Framework gestionado por Composer

Instalar Laravel es muy sencillo, únicamente necesitas Composer, un comando: «composer create-project laravel/laravel nombredemiproyecto». ¿Por qué es así de fácil? Como te he dicho antes, es un conjunto de utilidades (librerías/paquetes) PHP, por lo tanto, es instalable/actualizable desde Composer.

4. Eloquent

Eloquent es el ORM de Laravel (y es mejor que Doctrine). Los ORM (Object Relational Mapping) convierten los datos entre el sistema de bases de datos utilizado en un lenguaje de programación orientado a objetos y la utilización de una base de datos relacional como motor de persistencia. En la práctica esto crea una base de datos orientada a objetos virtual, sobre la base de datos relacional.

Esto posibilita el uso de las características propias de la orientación a objetos (básicamente herencia y polimorfismo). Rápidamente, nos permite consultar y actuar en la base de datos sin tener que escribir PHP, Eloquent es un ORM sencillo y potente, lo tiene todo, y mejor aún, lo tiene todo de una forma sencilla y elegante.

5. Artisan

Artisan es la interfaz de línea de comandos incluida con Laravel. Artisan existe en la raíz de la aplicación como un script llamado «artisan» y proporciona una serie de comandos útiles que te ayudan mientras construyes tu aplicación. Además puedes crear tus propios comandos de artisan, permitiéndote ejecutar tareas programadas/automáticas de una única línea, es ultra potente, me encanta.

6. Migraciones

En la Edad de Piedra, cuando trabajabas en equipo había que andar exportando/importando la base de datos con tus compañeros. Las migraciones le dan solución a ese problemón, las tablas de la base de datos, sus campos, sus claves… Se generan/actualizan desde código PHP en forma de clases que son ejecutadas por el comando «artisan migrate».

7. Sistema de Rutas, también RESTful

Como buen framework Laravel tiene su propio sistema de rutas, lo típico, puedes crear grupos de rutas, rutas con múltiples parámetros, pasarles funciones como argumento, etc…

8. Token CSRF

Puedes incluir un token de seguridad en todos los formularios que permite que estos sean enviados exclusivamente desde el proyecto. Estos token, van cambiando cada ‘n’ segundos, para mayor seguridad del proyecto, lo que permite que no sea auto llenado por un software externo.

9. Blade

El motor de plantillas de Laravel. Para mi gusto, el mejor, más bonito, y más completo motor de plantillas para PHP (lo siento Twig y Smarty). {{$es_la_caña}}

10. Auth

El inicio de sesión ya es algo menos de qué preocuparnos con Laravel. Como indicaba al principio, con un comando de Artisan tenemos montada la base de nuestro sistema de autenticación (incluidas las vistas, modelo, controladores y base de datos). Lo podemos dejar así, por defecto es simple, pero funcional, o lo podemos modificar a nuestro gusto, sin problema.

11. Envíos de email

Podemos mandar mails desde nuestros eventos, controladores, o comandos propios desde una plantilla Blade, sí. Además nos permite enviar mail no sólo desde el típico servidor de correo Postfix. Disponemos por defecto de los siguiente drivers: «smtp», «mail», «sendmail», «mailgun», «mandrill», «ses», «sparkpost» y «log».

12. Soporte nativo para cache, REDIS ¿Hola?

Sin ningún tipo de complicación, tienes una caché en redes (u otros varios sistemas) que hacen que la aplicación corra igual de rápido en producción que en local.
¿Algún inconveniente?

Alguna cosa mala tiene que tener, ¿no? Pues sí, nada es perfecto, aunque Laravel está cerca de serlo.

El principal inconveniente que tiene Laravel es que facilita tanto las cosas que como desarrolladores podemos perdernos en los detalles y convertir algo sencillo en algo demasiado complejo. Se trata de un problema genérico en el que en algún momento todos hemos caído, no tiene nada que ver con Laravel, pero había que decir algo.

En resumen…

Si todavía no conoces Laravel, este es el momento para considerarlo como compañero en tu próximo proyecto. Este framework PHP, perfecto para el desarrollo de software y aplicaciones desde cero, hará que la dinámica de trabajo sea más fluida, permitirá reducir plazos y partir de una base sólida y elegante.

¿Necesitas contar con expertos en Laravel para tu próximo proyecto? ¡Somos tu equipo! Trataremos de guiarte, asesorarte y llevar adelante tu proyecto, ¡contacta con nosotros!

Más publicaciones…

Por qué migrar a Linux tu infraestructura IT

Por qué migrar a Linux tu infraestructura IT

En este artículo hablaremos brevemente de las razones para considerar la migración de tus servidores a un entorno basado en GNU/Linux.¿Qué es Linux? Lo primero de todo es responder a esta pregunta. Según Wikipedia: GNU/Linux es la denominación técnica y generalizada...

leer más
¿Qué es NPM? Introducción al Gestor de Paquetes de Node

¿Qué es NPM? Introducción al Gestor de Paquetes de Node

¿Estás empezando a programar en javascript? Si la respuesta es que sí ya te habrás dado cuenta de que la eficiencia y que los aportes de otros desarrolladores son fundamentales. En esta publicación queremos ofrecerte una introducción a npm y cómo lo podrás implementar...

leer más