¿Qué es Laravel y para qué sirve?
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?
- 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
Sistemas MES: qué es, origen y funciones
Un Sistema de Ejecución de Manufactura (MES, por sus siglas en inglés) es una solución de software que proporciona una visión en tiempo real de los procesos de manufactura
¿En qué consiste un menú sticky y cómo implementarlo en una web?
Actualmente, la experiencia del usuario dentro de una página web es uno de los elementos más importantes, tanto para disciplinas como el SEO, pero también para que exista una mayor
Todo lo que debes saber sobre un ataque Man-in-the-Middle
¿No sabes qué es un ataque Man-in-the-Middle?