Por qué usar Laravel en el Desarrollo de Software
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
2. Comunidad activa
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
7. Sistema de Rutas, también RESTful
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?
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
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...
¿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...
Core Web Vitals, ¿va a verse comprometido tu posicionamiento en 2021?
Autor: Bruno LorenteCEO de NovadevsEn 2020 Google anunció que la experiencia de usuario iba a ser un factor clave para el posicionamiento en el ranking de los resultados de búsqueda de Google y ahora esto es una realidad que entra en vigor a partir de este mayo 2021...