Por qué Laravel y Livewire son un "killer ⚡️ stack" para mi proyecto Tipicolis
Detrás de cualquier web o aplicación es inevitable la sopa de letras acerca de la tecnología a usar. Son muchas las opciones que uno puede barajar para construir su aplicación, pero cada maestrillo tiene su librillo y yo he decidido apostar de nuevo por estas tecnologías. Aquí los motivos.
Como estuve escribiendo en mi anterior post sobre la construcción de mi MVP Tipicolis ahora mismo ando con el modelado de la aplicación web. Lo que viene siendo crear planos y definir las partes o entidades / modelos que formarán la estructura de la aplicación.
También comenté que la tecnología que voy a usar es Laravel, un completo y conocido framework (hay varios) de desarrollo web basado en el lenguaje de programación PHP. Para poner contexto, PHP es un lenguaje con bastantes detractores 😈 principalmente por su cantidad de código legado. Pero la realidad es que PHP y Laravel han seguido mejorando constantemente. Tal es así que hay una sensación en muchos desarrolladores de haber estado reinventado la rueda con soluciones complejas que al final terminan por hacer lo que PHP y un framework PHP lleva haciendo muchos años. Ahí me he encontrado yo, pero no más.
Si eres un solo developer, Laravel te da alas.
Una de las cosas que más atrae de Laravel es su filosofía “ship something” (entrega algo). Es una herramienta pensada para desarrolladores que quieren lanzar productos de forma rápida pero sin sacrificar solidez. El lema es la productividad y cuando remas solo, eso importa mucho. El mejor activo de Laravel, es la comunidad y los proyectos que orbitan alrededor del framework. Creo que no hay una herramienta que contagie tanto la filosofía del “maker” como Laravel. Por supuesto que no todo es “lararizable” pero si tu proyecto cumple estas premisas, seguro que se adapta:
- Tu proyecto no es trivial: necesita conectar muchas partes (usuarios, servicios, productos, etc) entre sí con una lógica de negocio.
- Tu proyecto va a ser desarrollado por un único developer o un equipo pequeño con tiempo de entrega y recursos limitados. Aquí el brillo con los MVP.
- Tu proyecto sigue unas convenciones o unos patrones conocidos (un login, es un login, permisos son permisos).
- Necesitas un proyecto con una base de código abierta y comprensible por más personas fuera de tu equipo.
Claro que existen otras herramientas que cumplen con estas premisas pero es difícil escapar al brillo de Laravel y su ecosistema. La decisión de usarlo en mis proyectos es que las ventajas de hacerlo frente a las desventajas son muchísimas. Para ponerlo en contexto: usarlo es como tener todo un “Leroy Merlin” a tu disposición. No vas a usarlo todo, pero cuando te haga falta algo, sabes que lo tienes.
Livewire te da superpoderes 🦸 para construir interfaces modernas
Comentaba que Laravel cuenta con ecosistema espectacular de aplicaciones y herramientas. Una de las más celebradas es Livewire por los mismos motivos que Laravel triunfa: su enfoque en mejorar la productividad. Para un desarrollador que trabaja en las dos partes de una aplicación (lógica de negocio y presentación) Livewire es un completo acierto. Ha conseguido tender un puente o un cable, en algo que causaba frustración: unir las partes que forman una aplicación moderna sin la fricción de aprender multitud de tecnologías. Y todo desde PHP 🐘
Para un desarrollador web en solitario como yo, esto es un auténtico superpoder. En lugar de dividir mi tiempo y mi energía mental entre dos ecosistemas, puedo concentrarme en uno solo. Me permite construir una aplicación web con una experiencia de usuario moderna y fluida. Una experiencia que cualquier persona te diría que sólo es posible con un framework moderno como React o Vue, herramientas muy sólidas pero no siempre necesarias.
Y por si fuera poco uno de los puntos más interesantes de Livewire, es que permite hacer con cierta sencillez muchas de las funcionalidades que espera un usuario en una aplicación moderna: formularios reactivos, modales, interacciones, etc… Otro aspecto crucial es totalmente “SEO friendly”. Al ejecutarse en el servidor las páginas son perfectamente indexables, aspecto fundamental para determinados proyectos.
En conclusión Laravel + Livewire son mis dos principales herramientas para construir el MVP de Tipicolis (y otros proyectos). Seguiremos contando muchas cosas acerca de todo esto en futuras publicaciones.