Actualmente muchos de los Bootcamps en España relacionados con el frontend, centran su formación en la librería React. Esta estrategia podría no ser del todo correcta, dado que Angular sigue siendo el rey en España. Si te consideras frontend y aún no tienes experiencia con este framework, repasaremos algunas de las razones por las cuales deberías hacerlo.
Si estas leyendo este artículo, es porque deseas aprender frontend y no tienes claro si optar con Angular, React, Vue u otra de las librerías que ya existen. O simplemente, porque ya conoces alguna de las otras librerías/frameworks pero no angular, y deseas ver si vale la pena aprender este framework. Y en todas estas realidades, te aconsejaría que aprendieses Angular, y vamos a explicar algunas de las razones a fecha de Mayo del 2021.
Proyecto inicial completo
Cuando hablamos de la utilización de Angular, estamos hablando de la utilización de Angular CLI, este command-line interface tool, que nos permitirá inicializar el proyecto, crear componentes, servicios y otro tipo de piezas para nuestra aplicación y nos facilitará la instalación de dependencias. Además, para aquellos que sean algo más ajenos a la línea de comandos, podemos instalarnos una librería que nos permitiría gestionar dichas funcionalidades con una aplicación visual(Nx),puede ser que es recuerde a VUE UI.
En esta configuración inicial por defecto, nos encontraremos con:
- Test unitarios: con Jasmine y Karma
- Test funcionales, con Protractor
- Test tslint
- Pre-compilador CSS
- Comandos en el package.json para: crear build, ejectuar test unitarios, ejecutar test funcionales, lanzar la aplicación, lanzar tslint
- Aplicación inicial con o sin router
RXjs
Cuando hablamos de Angular, estamos hablando del uso de RXjs para el consumo de servicios y muchas más cosas. Es una librería de programación reactiva con el objetivo de mejorar nuestra experiencia con el código asíncrono y basado en eventos. Mientras en los frameworks/librerías como React o Vue, estaremos utilizando Vanylla JS con Promesas, en angular a través de esta librería utilizaremos observables, obteniendo muchas otras ventajas. Cuando nos referimos a RXjs, estamos hablando de Observables, de Subjects y de Operators.
Module Federation
Una nueva funcionalidad de la librería Webpack, en su versión 5, que nos permitirá definir arquitecturas más sencillas para grandes coporaciones con arquitecturas microfrontends y/o con multitud de proyectos con una base en común. Esta funcionalidad, viene incluida en el proyecto base de Angular V11.1. Lo cual, nos permitirá construir arquitecturas más escalables y poder importar dependencias asíncronas con configuraciones más sencillas.
Typescript
Typescript, es un lenguaje de tipado para javascript, que nos permitirá tener nuestro código más organizado. Muy sencillo de aprender en sus primeras fases, y que si tenemos experiencia con Java, C# o programación a orientación a objetos, el paso será casi automático. Dentro de la comunidad de JS, hay muchos detractores, pero con el paso de los años ha ampliado su influencia no solamente a Angular, sino también a otros frameworks de frontend y también a las aplicaciones de backend con nodejs. Cuando aprendamos Angular, estaremos aprendiendo también typescript. Aunque por contrapartida, no aprenderemos tanto JS.
Librerías Enterprise
Cuando desarrollamos con las librerías frontend, no solemos utilizar soluciones enterprise para nuestro desarrollo. Pero existen diferentes compañías con soluciones que extenderán las funcionalidades de Angular. Un ejemplo de ello sería NX, esta librería la conocí en proyectos internacionales, la cual nos añade algunos extras a nuestro desarrollo que podríamos encontrar en otras librerías: plugins, module federation, integración con cypress, storybook, etc…
Integración con Firebase
Tenemos plugins que nos facilitarán el despliegue automático con Firebase. Que para aquellos que no lo conozcan es un servicio de Google Cloud, que nos permitirá desde desarrollar un backend, hasta añadir determinados servicios a nuestras aplicaciones híbridas con Angular.
Webs corporativas más sencillas
Crear webs de tamaño medio, y sobre todo si tienen formularios es más sencillo y rápido. Dentro de las funcionalidades que nos permiten crear estas webs de una forma escalable, tenemos los módulos y el lazy loading. que nos permitirá construir aplicaciones muy grandes, sin tener problemas de performance o mantenimiento a largo plazo. Por otro lado, Angular dispone diferentes alternativas para realizar los formularios, que nos permitirán diseñarlos, testearlos e incluso, autogenerarlos.
Más empleo
En España, que es el mercado que más conozco, la mayoría de las grandes empresas utilizan Angular para su webs corporativas. Aunque la mayoría de las startups utilizan React, Vue, Svelte…. en el mercado español, sigue dominando esta solución. Esto nos permitiría entrar en el mercado frontend, con mayor facilidad siendo junior.
Conclusión
Aunque con las opciones de React y Vue, a medio plazo obtendremos un conocimiento mayor de JS, si nuestro objetivo es entrar en el mercado frontend español, Angular es una tecnología que antes o después deberás aprender.