Aún es un gran desconocido para gran parte del público, pero está llegando como un elefante por una cacharrería. Con la base de un PHP renacido, Laravel se va haciendo un hueco cada vez más grande en el mercado del desarrollo. Ya empieza a ser casi obligatorio aprender Laravel.
Si vemos el crecimiento de Laravel, podemos empezar a ver un patrón común con lo que fue Linux. Atrás ha quedado la desconfianza inicial, por ser un proyecto de código abierto que no estaba soportado por ninguno de los grandes actores del sector. Ahora es una realidad, en la que la comunidad tiene más peso que los propios creadores.
Y ahí está otro de sus pilares, una comunidad activa con más de setenta mil consultas respondidas en Stack Overflow y otras tantas estrellas en repositorios de GitHub durante el año pasado.
Permite hacer aplicaciones multipropósito fullstack de forma ágil y sencilla. Con una configuración útil para la mayoría de los proyectos que se genera con un comando de una línea y apenas media docena de palabras.
Parece difícil contentar a todos, pero lo está haciendo con gran solvencia. Por un lado tenemos a los perfiles más junior, que ven en este framework una alternativa más accesible que Spring Boot o Django. Por otra parte, tenemos a los programadores más experimentados, que no ven las limitaciones de Symfony o .Net
Aprender Laravel siendo programador junior
Empezar es muy sencillo, Composer lo da todo hecho, una instrucción, esperas alrededor de un minuto y listo. Ya tienes tu aplicación disponible.
composer create-project laravel/laravel example-app
A partir de ahí, ya solamente queda modificar lo necesario para que el proyecto inicial se convierta en una aplicación tan compleja como necesitemos, lo que ayuda en la tarea de aprender Laravel
Como todo buen framework, busca que solamente realicemos la programación que aporte valor. Y aquí empiezan los asistentes, para que aprender Laravel sea más asequible, Artisan nos ayuda a crear todas las estructuras de código. Cuando empezamos en cualquier entorno/lenguaje, lo que más suele costar es hacerlo funcionar todo puesto que si colocamos algún código en el lugar equivocado, nuestra aplicación deja de funcionar.
Artisan nos crea esa estructura de ficheros que hace que funcione la magia de Laravel. ¿Podemos hacerlo manualmente? ¡Claro! Pero solamente tiene sentido si copiamos nuestros códigos entre proyectos. Artisan elimina el error por factor humano en las tareas básicas y rutinarias que nos acaban consumiendo casi un tercio de nuestros tiempos de desarrollo.
Es un framework basado en la arquitectura Modelo-Vista-Controlador pero no es estricto. Podemos crear aplicaciones complejas con una o dos de las capas y sigue siendo igual de potente.
La capa de Modelo
Si utilizamos una base de datos relacional el acceso a datos es muy simple, porque en la capa de modelo la conectividad, persistencia y seguridad vienen de serie en Laravel. El grueso del trabajo se centra en diseñar correctamente el modelo de datos y ésta no suele ser una tarea de programador junior. En el momento que llegue a serlo con las migraciones que actúan como infraestructura como código y que además están pensadas para ser incrementales, el trabajo se simplifica.
La capa de Vista
Para diseñar nuestra capa frontal, tenemos Blade, que se basa en una estructura de HTML5 que, mediante directivas, permite configurar plantillas, componentes reutilizables y páginas totalmente escalables y adaptables a cualquier desarrollo.
Pero esto no significa que tengas que aprender un nuevo framework al nivel de React o VUE, al contrario, con un poco de HTML y de PHP tendremos una curva de aprendizaje casi plana. Casi todas las directivas son un traslado de una instrucción PHP y el resto es componer HTML. Y si no te gusta, siempre puedes recurrir a cualquier framework de frontal que ya conozcas, puesto que se integra perfectamente con aplicaciones de página única o webs completas con múltiples módulos y funcionalidades.
La capa de Control
Aquí viene el grueso del desarrollo… pero no la complejidad. Pasaremos la mayor parte del tiempo diseñando lógicas de negocio y control (como es lógico), pero no perderemos el tiempo con creación de estructuras, validaciones y recuperaciones de información.
Apoyándonos en estructuras que vienen incorporadas en el framework, podemos hacer validaciones de formularios, inyecciones de dependencias o comunicaciones con sistemas externos.
La reconversión del senior
Uno de los problemas que suelen tener los nuevos modelos de desarrollo para los programadores senior o los líderes técnicos es la transición entre lenguajes.
Aquí puedo hablar en primera persona, con una conversión desde Java, con un refresco de varias versiones de PHP por medio. En mi caso, no fue difícil aprender Laravel.
Si bien Java con los framework Spring Boot y Cloud, ha ido complicándose cada vez más con el paso de los años y suponen una barrera importante para realizar una transición desde otro entorno, no ocurre lo mismo con Laravel.
Cuando un programador quiere aprender Laravel es importante que tenga la base de un lenguaje de objetos, porque al igual que en Java, solamente vamos a poder programar objetos, en este caso en PHP. Al programar en PHP, también hay que conocer este lenguaje, pero no hay que asustarse, porque para empezar a programar, con unas cuantas líneas y la mayor parte de ellas bastante sencillas, se realizan aplicaciones más que complejas.
Ayuda mucho la poca orientación que tiene el framework para crear métodos kilométricos, porque si algo tiene Laravel es un volumen muy alto de ficheros de código y un bajo volumen de código por fichero. Para los programadores de lenguajes declarativos puede ser un inconveniente, pero lo será solamente los primeros días. Cada cosa está en su sitio y tiene lógica que esté ahí, por lo que no llevará demasiado tiempo hacer una composición completa de cualquier proyecto que caiga en nuestras manos.
La nueva versión
Tenemos ya ganas de disponer de una nueva versión de Laravel. Llevábamos dos años seguidos con nueva versión en febrero y este año, se ha pasado a marzo. Laravel ya va por su undécima edición y viene con cambios.
Adiós a PHP 8.1
El principal cambio, viene del abandono de la versión de PHP 8.1, que, aunque tiene poco más de dos años, tiene fecha de caducidad a finales de este año.
¿Qué logramos con un PHP 8.2? Pues el principal motivo está precisamente en el fin del soporte de la versión anterior. No tiene mucho sentido seguir evolucionando una versión 11 de Laravel cuando su base ha dejado de estar soportada. Así que ganamos en fiabilidad y seguridad (además de la eficiencia de ejecución).
Nueva estructura de carpetas
Posiblemente si buscamos publicaciones sobre Laravel 11, éste sea el tema más comentado. Después de varias versiones con una estructura de carpetas estable, se introducen cambios.
La configuración se simplifica en cuanto a la estructura de carpetas, pasando la mayor parte de su contenido relevante al propio archivo de configuración de entorno o al core no publicado del framework. De esta forma, evitamos bucear entre ficheros y variables, todo centralizado y más simple. De todas formas, si necesitamos hacer un cambio radical en la configuración, siempre podemos pedirle a Artisan que nos publique las diferentes configuraciones o todas de golpe.
También desaparece la carpeta de middleware, poca explicación al respecto: el mismo motivo que el anterior. Como no es normal que se modifiquen los fuentes originales, nos los quitamos de en medio hasta que los necesitemos.
Cambios en las rutas
Si tuviste pesadillas con el cambio del enrutado de la versión 8 a la 9, no te asustes, se reduce el número de ficheros, pero si los necesitas, puedes crear más.
Y una utilidad añadida, con la rut “up”, podremos ver el estado de salud de nuestra aplicación. Los que conocéis WordPress, estaréis familiarizados con este concepto, pero aquí es diferente, nos va a indicar si nuestra aplicación está activa y verificar sus tiempos de respuesta. Puede parecer poco útil, pero con un simple número nos servirá para analizar el rendimiento de nuestro servidor.
El futuro
Solamente la cabeza de Taylor Otwell puede tener algo de claridad sobre el camino que va a seguir este framework en los próximos años. Y tampoco podemos asegurarlo del todo. Lo que sí que parece claro es que aprender Laravel es una apuesta de futuro.
Una de las grandes ventajas de ser un producto de comunidad es que el propio mercado va a marcar el futuro de Laravel y no una casa comercial que lo modifique a su antojo para sus propios fines. Es cierto que hay un guion y unas directrices, pero hemos visto cómo se ha ido modificando y adaptando con el paso de las versiones y ahora que ya ha llegado a un elevado grado de madurez, los cambios son cada vez más sutiles y medidos.
Con la salida de cada versión, empiezan los rumores de los contenidos a mejorar para la siguiente y es que el ritmo frenético de una versión por año, hace que no haya tiempo para especular a medio y largo plazo.