No necesitamos front-end frameworks
Tengo un problema con los frameworks de javascript... aunque desde mis inicios como dev me inspiraron a resolver problemas de formas innovadoras y creativas, cada vez es más difícil justificar su uso
Los frameworks de javascript se crearon bajo una filosofía principal: Los lenguajes de servidor no aprovechan las tecnologías del browser y javascript sí, por lo tanto, traslademos la lógica de negocio de las aplicaciones al cliente y aprovechemos ese poder
Empezó por ahí de 2010, con el boom del mercado de desarrollo móvil, introduciendo conceptos como JSON web tokens y state management a Javascript, resultando en proyectos web muy robustos, con arquitecturas que trataron al browser como una plataforma en sí misma; Componentes lógicos reutilizables, encapsulación de estilos... ¡el anti-monolito! pero, ¿para qué?
En teoría ésto es un concepto interesante, pero en la práctica, se terminó convirtiendo en una total crisis de identidad: ¿Qué es Javascript y para qué sirve?
Alejar conceptualmente al browser del servidor introdujo una nueva tendencia de desarrollo web en la que las APIs RESTful son obligatorias y todo es un componente de javascript, pero ahora hasta simples páginas de imágenes y texto utilizan indicadores de carga
Hoy en día las web apps más "modernas" dependen de APIs del navegador para simular las funcionalidades más básicas de la web como mantener estado en la url, soportar SEO, historial de navegación, recordar la posicion del scroll... Proyectos basados en tecnologías básicas como html, css y js requiren de un gestor de paquetes, bundling, transpilación (Eso sí, cada semana sale un nuevo framework con una opinión distinta de cómo hacerlo)
No digo que no existan casos que requieran de éstas soluciones complejas, pero sí creo que en la mayoría de los casos, optar por un front-end framework viene de no tener clara la naturaleza de javascript, yo también cometí este pecado alguna vez
Javascript fue creado para agregar dinamismo a un sitio estático; Agregar interactividad a la experiencia del usuario actualizando fragmentos del dom al vuelo; ventanas flotantes, elementos animados, mensajes de chat... El propósito original de javascript no era convertir el browser en un sistema operativo
Es difícil justificar la implementción de un front-end framework cuando su selling point es que el proyecto tendrá características similares a una aplicación móvil, ¿porqué queremos que un sitio web se comporte como una aplicación móvil? ¿porqué no construir una app móvil, entonces? no se siente como una solución honesta...
En los últimos años, del código que he escrito quizá un 20% ha sido javascript, pero ése código ha resuelto problemas que sólo javascript puede resolver; Javascript es escencial y extremadamente útil para aspectos muy específicos de la web, y existen librerías excelentes que abrazan esta idea (jquery, alpine, lit)
Y quizá, si nos preguntamos realmente qué es javascript y para qué sirve, llegaremos juntos a la conclusión de que en la mayoría de los casos, no necesitamos front-end frameworks
Mi opinión profesional es, que los front-end frameworks más bien pertenecen a una categoría de tecnología experimental; Atraen talento a la industria e invitan a desarrolladores veteranos a conocer tecnologías emergentes, pero no han superado la prueba del tiempo y mantienen a la comunidad de javascript dividida en tribus
En la última década, los front-end frameworks crearon una burbuja tecnológica en la que existen <FrameworksCounter></FrameworksCounter>
maneras super complejas de resolver los problemas más sencillos de la web, y una gran cantidad de desarrolladores no pueden programar sin un framework. En la vida real, optaría por un stack aburrido y honesto, y evitaría cualquier tecnología "interesante" que agregue complejidad innecesaria al proyecto
Tuve que recorrer un camino largo con javascript antes de comprender cómo brilla más cuando es utilizado de manera quirúrgica, en el momento y situación que es realmente necesario: Este es uno de los plot-twists más trascendentales de mi carrera