Angular para grandes aplicaciones

Alberto Basalo
Jun 19 · 2 min read

Vivimos en una era de tal abundancia de opciones que nos acaba generando ansiedad de elección. Es particularmente notoria la diversidad de frameworks, librerías y herramientas varias que tenemos a nuestra disposición para desarrollar aplicaciones web.

Veamos si Angular es tu mejor opción o, por el contrario, es una fuente de ruido que puedes silenciar en menos de 5 minutos.

Los frameworks son la materialización palpable de los principios y patrones de diseño de software que han seleccionado sus creadores para ti. Por supuesto que incluyen librerías, herramientas y otras ayudas muy interesantes. Todas buenas.

Pero desde mi experiencia, a largo plazo, lo que permanece es la arquitectura. Si el framework favorece y promueve buenas prácticas de desarrollo, entonces el software será mantenible por más tiempo a menor coste. Repito con las palabras del maestro:

“La arquitectura representa las decisiones de diseño significativas que dan forma a un sistema, donde la medida significativa se mide por el coste del cambio.”

Grady Booch

Photo by Joel Filipe on Unsplash

Claro que si fuese igual de fácil hacerlo bien que hacerlo mal, o si preparase para el cambio futuro no tuviese impacto en la velocidad del presente ¿por qué escoger un camino aparentemente más tortuoso? Sencillamente porque eso no es así.

El software que funciona y está bien diseñado es fruto de un esfuerzo consciente y constante que multiplica el retorno de su inversión en muy poco tiempo.

Angular incorpora muchas buenas prácticas que favorecen el mantenimiento de grandes aplicaciones de negocio. Destaco especialmente una que afecta a todo el desarrollo.

La separación de responsabilidades entre artificios para la presentación (componentes, directivas y tuberías de transformación); para la lógica (servicios y modelos tipados) y para la infraestructura (comunicaciones asíncronas observables).

Y de acompañamiento un surtido de principios y patrones de diseño ya implementados o facilitados por el ecosistema:

  • Inyección de dependencias

Conclusión

En el mundo de la tecnología nos pagan por solucionar problemas complejos que pocas veces se resolverán con soluciones sencillas. Angular y las decisiones de diseño que le acompañan tienen como objetivo facilitar el desarrollo y mantenimiento a medio y largo plazo de aplicaciones web no triviales.