1.1 Por qué Angular?

Hay muchos Frameworks y librerias para el frontend, hoy por hoy, uno podría elegir uno distinto para cada proyecto. Ultimamente ReactJS tomo mucha fuerza y aprecio VueJS también, pero desde el 2009 AngularJS fue una gran desición para muchos (me incluyo) e hicimos muchísimos proyectos! Realmente AngularJS en su momento fue un visionario y creo las directivas, algo parecido a los componentes de hoy en día.

El equipo de Angular aprendió muchísimo en todos estos años, y decidio darle una vuelta de rosca (es una frase muy Argentina, significa: "querer hacer un cambio mas para mejor") y empezar a escribir Angular 2 , que luego se convertiría en solo Angular.

Hablando un poco mas a nivel arquitectura, el framework esta muy avanzado, y realmente es demasiado profesional !

¿Qué quiero decir con esto?

Angular (2 en adelante) esta pensando para poder hacer tanto pequeñas aplicaciones, como aplicaciones muy grandes, y a su vez poder mantener un orden fuerte, tiene grandes integraciones para los componentes (los veremos en capítulos siguientes) y como se maneja todo de una forma muy organizada entre si.

Para los que vienen de lenguajes tipados orientados a objetos, Angular va a ser la desmitificación del frontend, realmente es demasiado fácil de migrar (es hora que vengan al lado oscuro del frontend y dejen java atras).

El core de angular es nuevo y moderno, esta hecho sobre las bases de los nuevos estandartes de las webs modernas y escrito por veteranos del frontend, que ya trabajaron y aprendieron mucho de hacer un framework.

En angular 1, teniamos que entender el modelo de MVC (modelo vista controlador) y como conectarlos, ahora en Angular simplemente tendremos que construir todo en base a componentes, que se puede comunicar entre si, pero solamente escribiremos componentes.

Pensemos en una casa.. una casa es un conjunto de ladrillos (en perspectiva, esta claro que lleva mas cosas) , ahora pensemos en Angular como la casa, y que los ladrillos son componentes, esa seria la idea, nuestra WebApp va a ser un conjunto de componentes con algunas cosas mas!

El desarrollador se tiene que enfocar en crear componentes.

TypeScript

Realmente veo a typescript como uno de los puntos de porque Angular, tal y como leíste un par de paginas antes, Angular se empezo a escribir en AtScript y luego migraron a TypeScript.

TypeScript es un super set de ES6/7 , lo que quiere decir es que tiene esas funcionalidades y mas... entre otras el tipado ( es opcional ) pero esto nos da un montón de beneficios a la hora de trabajar con grandes equipos.

Un orden en el código es importante, tal y como comentar el código o hacer test.

Hoy en día una gran cantidad de equipos no se encuentran en la misma sala para poder trabajar codo a codo, si no que lo hacen desde sus casas o desde oficinas a miles de kilometros de distancia,

Gracias a typescript y su buenas practicas, vamos a poder hacer muchas cosas que van a mejorar esto... olvidarnos de los NaN (not a number) , un poco mas adelante vamos a ver los conceptos de typescript.

Si creen que no necesitan eso, realmente los invito a probarlo (el libro se escribió con typescript) ya que da grandes beneficios, sumado a que los IDE's y Editores de texto, vienen con addons para eso.

Performance y Mobile

El equipo de Angular se dedico a tener gente experta para poder hacer que la aplicación sea mas performante y además que el trabajo en mobile sea rápido y fácil de hacer... Los dispositivos actuales tienen menos limitaciones que los de hace años, pero las conexiones no siempre son las mejores, entonces al pensar en funcionalidades, velocidad y tiempos de carga... se dedicaron a hacer cosas exclusivas para mobile.

Angular, como muchos frameworks/librerias modernas, mejoran la performance gracias a los WebWorkers, y si sabemos utilizarlo bien, esto va a dar una experiencia al usuario de que nuestra app es rápida y fluida.

También tenemos que mencionar a IONIC (en su version 2) que funciona 100% en Angular ( 2 en adelante ) para hacer aplicaciones híbridas. Y a NativeScript que funciona con Angular también (pueden programar solo con JS también) y que compila a nativo (si a nativo dije).

Por ultimo, me gustaria mencionar, que no es solo un "hago todo de otra forma" si no que Angular viene con muchisimas mejoras ademas del typescript mobile y componentes.

Si no que viene con funcionalidades como "form builder", "routing", "annotations", "observables", "shadow dom" entre otras.. por lo tanto hay cosas nuevas por aprender y aprovechar.

Last updated