Si quieres desarrollar en PHP que es el lenguaje de programación más extendido en el uso de servidores, estas prácticamente obligado a aprender Laravel; Laravel es un excelente opción para aprender apenas tengas la oportunidad, es un framework todo en una, con una inmensa API, y lo que no provee el framework, hay paquetes potentisimos que no te dejan mal parado y te permiten ahorrar un montón de trabajo programándolos de manera manual:
- Breeze: Un paquete que instalamos casi apenas creamos el proyecto y nos permite tener un sencillo y flexible sistema de autenticación en el proyecto, por defecto, también instala Tailwind como un framework moderno CSS para que lo podamos emplear a lo largo de toda la aplicación, también, podemos escoger si queremos que emplee Vue, React o Blade para la creación de los elementos visuales, es decir, botones, campos de formulario… todo lo que está en el cliente.
- Spatie: Un paquete excelente para poder proteger la aplicación mediante roles y permisos
- Jetstream: para poder crear webs SPA empleando Blade+Alpine o con Vue, es decir, integrar con un solo comando algunas de estas tecnologías junto con Laravel.
Estos solamente por mencionar algunos paquetes, pero, existen muchos más paquetes disponibles y muy útiles para Laravel.
Laravel es un framework tan famoso que es más famoso que su lenguaje de programación que es PHP, es decir, es más buscado que el propio PHP.
Laravel, aparte de tener un ecosistema enorme como comentamos, una gran comunidad activa, una excelente documentación y muchos paquetes, sin contar los paquetes nativos para PHP, también podemos contar con TODO el ecosistema de Node a nuestra disposición, es decir un proyecto en Laravel, cuenta también con un proyecto en Node integrado.
Por lo tanto, podemos emplear Laravel en el backend o en lado del servidor y Node con cualquier paquete que queramos instalar del lado del cliente es decir del frontend.
¿Qué es Laravel?
Laravel es un framework PHP, un framework con muchas funcionalidades incluidas para manejar diversas situaciones como la creación de APIs, módulos de gestión completos, validación de formularios, un MVC en su core para manejar las solicitudes, uso de componentes para crear partes independientes o pequeñas piezas de código, algo similar a lo que tenemos en Vue y una gran cantidad de paquetes estupendos para faciitarnos la vida; en definitiva, es un framework PHP diseñado para abordar cualquier tipo de aplicación web hoy en día.
Escenarios Ideales para Aprender Laravel
En este blog, encontrarás mucho material para aprender a desarrollar en Laravel de una manera muy sencilla, directa; puedes encontrar desde publicaciones hasta libros en Laravel y cursos gratuitos y de pago con los cuales podrás conocer MÁS que las bases de este popular e inmenso framework.
En general, en Internet podrás encontrar mucho material, al ser un framework con mucho tiempo en el mercado y con una gran comunidad siempre encontrarás algo interesante que aprender o implementar con Laravel.
¿Cuánto tiempo se tarda en aprender Laravel?
Aquí es donde empezamos a poner los pies en la tierra, Laravel es un framework ENORME, con muchas opciones, su ambiente es complejo y era difícil de manejar, aunque, una de las grandes ventajas que nos trae todas las versiones de Laravel, es decir, en las últimas versiones de Laravel cada vez a facilitado el proceso de instalación del ambiente de Laravel, antes, en MacOS era valet, que es un ambiente manejado por comandos, en Windows era imposible, hasta que lanzaron una conexión con el subsistema linux, luego Laragon (que no es el ambiente oficial) y en MacOS, Sail con Docker hasta llegar a Laravel Herd que considero el ambiente definitivo para desarrollar, ya que, este último a diferencia de los anteriores, no es necesario ejecutar un solo comando si no, por ventajas, instalación básica y típica next, next.. y muy amigable.
Pero… en cuanto a la programación, como comentamos antes las bases del framework son las mismas y cada versión de Laravel o cambia paquetes actuales o agrega más características a las ya existente, lo cual suena excelente, y lo es, pero, para aprender, significa que por cada versión de Laravel tenemos más opciones lo cual puede dificultar su aprendizaje, así que si, aprender Laravel no es fácil, pero, con una correcta guía puedes aprenderlo aunque llevará su tiempo, conoce el uso de las rutas, controladores, vistas, archivos de configuración, artisan, componentes entre otros, tomará un tiempo, pero, la buena noticia es que, seguramente cada vez que vayas conociendo estas fascinantes tecnologías, vas a querer aprender más y más y te gustará más.
Un tiempo, puede ser difícil de dar, pero, calculo que más de 100 horas serán necesarias para conocer estas bases, crear al menos un par de proyectos básicos con algunas características, ya partir de este punto, podrás ir conociendo más características del framework.
¿Qué debo conocer antes de trabajar con Laravel?
Laravel es un framework avanzado, a diferencia de CodeIgniter, debes de tener conocimiento en la trilogía del mal claro está, HTML, CSS y JavaScript, también tener buenas bases en PHP y como recomendación personal, se hace más fácil si ya trabajas en otro framework como CodeIgniter, tal cual comentamos anteriormente.
¿Por qué aprender Laravel? o ¿Vale la pena aprender Laravel?, qué habilidades debo de tener
Si quieres desarrollar en PHP, que es uno de los lenguajes de programación más versátiles, por no decir el más versátil en el desarrollo de aplicaciones del lado del servidor, Laravel, aquel que es más famoso que su propio lenguaje de programación, no puede pasar desapercibido, y es que es un poco lamentable la verdad, pero, si no fuera por Laravel, los frameworks en PHP se pudieran considerar que están casi muertos.
La fama de Laravel no es gratis, es un framework excelente para desarrollar todo tipo de aplicaciones, sobre todo, aplicaciones de gran tamaño y de manera eficiente y rápida, es decir, que el tiempo en implementar cualquier aplicación, será menor si haces dicho desarrollo de manera manual, y esto es debido a los excelentes paquetes que tiene disponible el framework.
Así que si, un rotundo sí te recomiendo enormemente que aprendas a desarrollar en Laravel, en cuanto a las habilidades, ya te las comenté en el apartado anterior.
Lo malo de Laravel
Lo malo de Laravel es que, tiene una curva de aprendizaje elevada si no haz programado en otro framework, es un framework en constante evolución y por lo tanto van cambiando aspectos del mismo, aunque la buena noticia es que son de forma mas no de fondo, es decir, que son cambios de nuevos paquetes, algunas funcionalidades adicionales pero sin sacrificar las bases del mismo.
Como primer framework PHP te recomiendo CodeIgniter, las razones, te las dejo por aquí:
CodeIgniter 4, el mejor framework para iniciales
O también, puede ser Flask una excelente opción:
Flask, un microframework ideal para empezar en el desarrollo web
Aunque, el recomendado sería Codeigniter al ser también un framework basado en PHP.
Ya a partir de esto, puedes pasar a desarrollar en Laravel el cual, tiene muchas similitudes con los dos frameworks que mencionamos antes, sobre todo con CodeIgniter, que tiene una modularización muy similar pero obviamente más simplificada.
CodeIgniter viene siendo un Laravel Lite.
Otro aspecto que no me gusta en lo personal de Laravel, es que a veces venden una nueva funcionalidad como si fuera la panacea, y poco después la eliminan o sacan una versión mejorada, como ocurrió con Laravel UI que fue reemplazado por Laravel Breeze y un poco lo que sucede con Docker y Laravel Sail, que aunque esta última no sea un reemplazo de la primera, ya que podemos emplear Docker en producción, por el orden en el cual presentaron estas herramientas se siente a veces que el desarrollo en Laravel va un poco apresurado y desordenado.
Otro ejemplo de descontrol en Laravel, es con los paquetes de Inertia y Livewire, los cuales renombraron vários componentes internos a los mismos, que aunque estaban en una fase temprana de desarrollo, no se siente correcto, y en el caso de Limewire podemos ir más allá, como comentamos, Livewire permite crear páginas de tipo SPA, internamente, Livewire permite actualizar el estado de un elemento de HTML con algún atributo en HTML; en la primera versión POR DEFECTO, se aplicaba cada vez que se actualizaba un campo, automáticamente se envía una petición al servidor para actualizar el estado, cosa que es bastante ineficiente como puedes pensar, en la siguiente versión de Livewire dieron una vuelta de 180 grados y ahora funciona como tuvo que funcionar inicialmente y es que POR DEFECTO, no se actualiza el estado del servidor.
Otro aspecto que no me gusta demasiado de Laravel, es el uso de las versiones mayores, todos los años a partir de febrero aparece una versión mayor, vamos, como si fuera el nuevo iPhone para el año, situación que muchas veces parece forzada y generalmente lo único que presentan son nuevos paquetes o tecnologías que acompañan el ecosistema Laravel y ciertas actualizaciones de paquete, dificultando las consultas que queramos realizar a Internet, a veces podemos ver alguna implementación que no es válida con la versión actual de Laravel, vamos como si fuera la fragmentación de Android.
Laravel saca una versión mayor todos los años al igual que Apple presenta un iPhone todo los años
Dudas que puede tenner la gente para desarrollar en Laravel
Laravel en espana
en desarrollo…
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter