Después de ya muchos años de trabajar haciendo aplicaciones web y desarrollando en diferentes tecnologías, plataformas y lenguajes de programación he visto que la web está tomando mas y mas importancia y que cada día se hace mas y mas fácil desarrollar aplicaciones para esto. Como hemos visto a lo largo de los años han salido nuevas formas, paradigmas y tecnologías para desarrollar tanto el frontEnd como el backend. Todos tiene su propia opinión de cual es la mejor tecnología para desarrollar aplicaciones web y todas son válidas. Realmente todos podemos mencionar alguna ventaja o desventaja de las diferentes herramientas que tenemos.
En este caso yo quiero mencionar algunas cosas de mi experiencia sobre javascript, Angular, Vuejs, Svelte y Blazor. Existen muchos más frameworks para desarrollar web, pero no tendíamos suficiente espacio ni tiempo para hablar de cada uno entonces quiero mencionar de algunos que están populares hoy en día.
Después de trabajar varios años en Angular tengo que decir que me parece que no es para mí claro que si tengo que hacer alguna aplicación en esto lo desarrollaría. Porque creo que no es para mí. Veo los proyectos de Angular extremadamente complicados. Así sea un proyecto pequeño se debe de agregar muchas cosas (componentes, archivos, declaraciones, etc) para poder lograr que el proyecto funcione. La sintaxis es un poco mas compleja que otros frameworks. Por supuesto que sigue siendo un buen ambiente de desarrollo para el que desea trabajar en esto.
Una experiencia que me paso hace muy poco fue una aplicación que desarrolle en Angular hace un par de años y me toco reescribirla. Esta vez fue desarrollada en Blazor (webassembly) y debo decir que me tomo menos de la mistad del tiempo para hacerla. Mucho menos código y para mi gusto más limpio. Creo que hasta mas simple para poder hacer mantenimiento a largo plazo. El webassembly además tiene la ventaja de ejecutarse más rápido al lado del cliente cuando este se envía al browser. Debo decir que de momento blazor tiene mi atención al ver lo simple y fácil que es desarrollar aplicaciones con esta tecnología.
Pero bueno también tengo algunas aplicaciones que desarrolle en Vuejs debo decir que este framework me parece muy fácil de usar y la curva de aprendizaje no esta nada mal. Creo que la sintaxis es muy simple y permite hacer aplicaciones muy rápido. Esta tiene varias formas de implementarse y es decisión del programador ver como la quiere implementar dentro de su aplicación. Podría perfectamente continuar haciendo aplicaciones en vuejs que para mi gusto es muy fácil.
Ahora que pasa con Svelte, recientemente estamos trabajando con proyectos con este framework y ha demostrado ser muy limpio y rápido. Los tamaños de transferencia de los archivos son mucho pero mucho más pequeños que vuejs y angular. Me parece que este ultimo framework es por mucho mejor que Angular y tiene mucho potencial ya que está creciendo y actualizándose rápidamente con cambios interesantes en un futuro cercano. La documentación es muy buena y fácil de entender.
Yo he tomado la decisión que los proyectos donde pueda dar mi opinión siempre voy a tomar en consideración Svelte y Blazor para el desarrollo cliente. Vamos a ver como evolucionan estos frameworks sin dejar de lado que con el tiempo pueden salir muchos otros y mejores por eso no es bueno simplemente. Por eso es importante estar siempre viendo como van cambiando las tendencias y nunca dejar que estar abiertos para aprender cosas nuevas.
Mientras estaba escribiendo este articulo me toco viajar a San Francisco a la conferencia de Visual Studio Live donde hablaron de blazor para el desarrollo de aplicaciones web y mostrando todo lo que viene nuevo. Creo que si vale la pena invertir tiempo en esta tecnología para crear nuevas aplicaciones. Tiene mucho potencial.
¿Qué opinan ustedes? ¿Cuál Framework van a utilizar para desarrollar apps?