Se trata de uno de los mejores frameworks basados en PHP. ¡Te contamos por qué deberías aprender a utilizarlo!

¿Qué es Laravel y para qué sirve?

pablo.blanco
14/02/2024

Laravel es un framework basado en PHP de código abierto que se emplea con frecuencia para crear sitios web y aplicaciones. Desde la primera versión que se hizo pública en 2011, su popularidad ha ido creciendo como la espuma hasta coronarse como uno de los mejores frameworks de PHP, superando en popularidad a otros frameworks ya asentados como Symfony, CodeIgniter o Yii. Se trata de un lenguaje de back-end, por lo que ofrece pocas prestaciones en términos de front-end, por lo que suele combinarse con otros lenguajes como Vue.js.

Cabe recalcar que Laravel no es un lenguaje de programación en sí, sino un framework que bebe de PHP. El objetivo de los frameworks es simplificar la sintaxis de un lenguaje de programación base para que resulte más sencillo e intuitivo de manipular. Así pues, si tuvieramos que picar código en PHP puro para crear un sitio web, nos llevaría mucho tiempo crear un sitio web en condiciones. Evidentemente, para emplear Laravel es necesario tener por lo menos unas nociones de cómo funciona PHP.

¿Para qué sirve Laravel?

Proporciona una estructura organizada para el código, de forma que el proceso de desarrollo se simplifica con creces, ya que ofrece herramientas y funciones predefinidas para tareas comunes, como manejo de bases de datos, autenticación de usuarios, enrutamiento de URL y gestión de sesiones. Además, Laravel promueve buenas prácticas de programación como el uso del patrón de arquitectura MVC (Modelo-Vista-Controlador), lo que resulta que sea más fácil realizar un mantenimiento y una refactorización y que programar sea más intuitivo para los desarrolladores.

Además, Laravel viene con infinitas herramientas que cumplen funcionalidades propias. Algunas de las más destacadas son:

  • Artisan: Es una interfaz de línea de comandos orientada a crear y gestionar diferentes aspectos de la aplicación, como rutas, controladores, migraciones, pruebas, etc.
  • Vite: Es una herramienta de desarrollo que permite compilar y actualizar rápidamente los recursos de front-end, como JavaScript, CSS, Vue, React, etc.
  • Eloquent: Es un ORM (Object Relational Mapper) que facilita la interacción con las bases de datos mediante un lenguaje fluido y expresivo, que permite realizar consultas, inserciones, actualizaciones y eliminaciones de forma sencilla y segura.
  • Sanctum: Un paquete que proporciona una forma simple y ligera de autenticar las API y las aplicaciones de una sola página (SPA), usando tokens o cookies.
  • Jetstream: Es un paquete que ofrece un punto de partida para las aplicaciones de Laravel, con un sistema de autenticación completo, un panel de control, un sistema de equipos y otras características comunes.
  • Livewire: Es una biblioteca con la que crear interfaces de usuario dinámicas usando solo PHP, sin necesidad de JavaScript.
  • Middleware: Son clases que filtran las peticiones HTTP antes de que lleguen al controlador, permitiendo realizar acciones como verificar la autenticación, validar datos, aplicar caché, etc.
  • Collective: Es un conjunto de paquetes que mantiene la comunidad online de Laravel, que ofrecen funcionalidades adicionales o complementarias al framework, como generación de formularios, componentes de Blade, helpers, etc.

Ventajas y desventajas de Laravel

Como con todos los frameworks y lenguajes de programación, Laravel tiene sus puntos fuertes y débiles. Antes de escoger un framework o lenguaje de programación para desarrollar una web o app, es conveniente que nos informemos exhaustivamente de sus capacidades, funcionalidades añadidas y versatilidad para poder trabajar cómodamente y que se ajuste a las expectativas del proyecto. Así pues, Laravel tiene sus ventajas e inconvenientes:

Ventajas

  • Es fácil de usar: Dentro del desarrollo web, lo que resulta más complicado es programar, cuya dificultad dependerá de los requisitos de la web en concreto, su tamaño, su diseño y el tiempo y esfuerzo que se quiera invertir en ella. Al venir con funciones predeterminadas por defecto, Laravel simplifica con creces todo el proceso de desarrollo, ya que reduce la cantidad de código que hay que escribir y, por tanto, agiliza todo el flujo de trabajo y lo hace más eficiente.
  • Escalabilidad: Laravel se considera un framework excelente para desarrollar apps no solo porque así esté diseñado y concebido, sino por su escalabilidad y adaptabilidad. Es decir, se amolda a todo tipo de proyectos independientemente de sus requisitos, por lo que es capaz de cubrir gran parte de las necesidades que pueden encontrar oportunas los desarrolladores web.
  • Migraciones: En Laravel es relativamente sencillo migrar datos a otra ruta con el comando make:migration, ahorrando una cantidad de tiempo muy significativa en algunos proyectos.
  • Accesibilidad: Decimos que Laravel es accesible porque es fácil de aprender, especialmente si ya conocemos bien PHP o si sabemos otro lenguaje de programación. Como con todos los frameworks y lenguajes de programación que encontramos, aprender a utilizarlo es sencillo, pero dominarlo con todos sus entresijos lleva años. Otro factor que lo hace accesible es que su comunidad online rebasa los 50.000 usuarios, que solucionan dudas y aportan recursos en foros dedicados a Laravel como Laravel.io o Laracasts.
  • Ciberseguridad: Trae opciones de configuración orientadas a conservar la seguridad de accesos. El framework se encarga de verificar la identidad del usuario que quiera manipular el código pidiendo la contraseña en múltiples ocasiones. A través de Laravel, es muy sencillo recordar contraseñas de los usuarios, validarlas e identificarlos.

Desventajas

  • Sencillez: Sí, la sencillez no es solo una ventaja, también puede resultar perjudicial para un proyecto de desarrollo demasiado exigente o complejo. Laravel es un framework pensado para que fuera fácil de usar, por lo que sacrifica ciertas funcionalidades, personalización y flexibilidad de código a favor de agilizar y simplificar los procesos de trabajo.
  • Código inflado: Cuando hablamos de código inflado nos referimos a que se genera código excesivo y redundante. En algunos casos, las funcionalidades que vienen implementadas en el framework de Laravel adolecen de inflar el código innecesariamente, lo que ralentiza mucho el software desarrollado y aumenta las probabilidades de que aparezcan bugs.
  • Coste elevado: Por sí solo, Laravel es un framework de código abierto. El problema viene cuando empezamos a incorporarle nuevos componentes y funcionalidades, cuyo precio final sí sube bastante. Aparte del precio, es posible que estos añadidos ralenticen el rendimiento de la aplicación o sitio web.

Artículos relacionados

Es un conjunto de principios breves y sencillos que definen el diseño y la funcionalidad de Python. ¡Te explicamos cada uno con ejemplos!
pablo.blanco

Los 20 principios del Zen de Python explicados con ejemplos

08/07/2024

El Zen de Python (también llamado PEP 20) son un conjunto de principios breves y sencillos que definen el diseño y la funcionalidad de Python como lenguaje de programación.

Las tres leyes de la robótica son un conjunto de principios éticos y de seguridad aplicados a los robots y otros sistemas tecnológicos inteligentes.
pablo.blanco

Las tres leyes de la robótica de Isaac Asimov: aplicaciones actuales

03/07/2024

Las tres leyes de la robótica son un conjunto de principios éticos y de seguridad aplicados a los robots y otros sistemas tecnológicos inteligentes que inventó el afamado

Tanto el QA como el QC son partes integrales de la revisión de la calidad en un proyecto de software. ¿Pero conoces qué diferencia a cada faceta?
pablo.blanco

Diferencias entre QA y QC en un proyecto de software

13/06/2024

La calidad es uno de los aspectos troncales de una empresa que se tiene en estima.