Un vistazo a Angular


Angular es el resultado de la evolución de AngularJS (mejor conocido como AngularJS 1.x), si eres un desarrollador que viene de la versión anterior no te costará mucho trabajo adaptarse a la nueva, pero si eres constante en el uso de las nuevas tecnologías que conlleva este framework (sobre todo si trabajaste desde la versión 1.5+ donde se incluyen los web components).


A partir de Angular 2, los desarrolladores han decidido liberar una versión estable cada 6 meses, con cambios mínimos, así que no te asustes si de pronto escuchar hablar de Angular 4, Angular 5, etc.
Este articulo forma parte del Curso de Angular.

Cambios destacados en Angular

Programación con Javascript

Sin duda el cambio mas importante es el uso de las nuevas versiones de Javascript, me refiero a ECMAscript 6 y 7, donde se utilizan nuevas características del lenguaje como programación orientada a objetos entre otras cosas, esta actualización sin duda nos permite crear aplicaciones mas potentes y estables.

Pero hay un pequeño gran detalle, y es que Javascript no deja de ser un lenguaje dinámico y con un tipado débil (si es que se le puede considerar de esta forma), pero para solucionar esta deficiencia o ventaja para muchos en los cuales me incluyo, los desarrolladores de Angular apoyan el uso de Typescript (framework Javascript desarrollado por Microsoft), el cual nos permitirá tener una construcción de la app con un  lenguaje bastante estricto  y con un tipado fuerte,  es decir tendremos mucho control sobre como se debe desarrollar con Angular sobretodo si en el proyecto trabajan dos o más desarrolladores.

El desarrollo con Typescript es opcional, ya que si lo deseas puedes utilizar ES6 y ES7 directamente, pero, te recomiendo que lo utilices por que la comunidad de angular (en su mayoría) mostrara ejemplos basados en Typescript y sera más fácil incrementar tu curva de aprendizaje.

Escalabilidad

Con AngularJS 1.x sin lugar a dudas el data binding se llevaba todo el el crédito, pero siempre y cuando las aplicaciones sean pequeñas y manejen poca información, ya que al momento de cargar grandes cantidades de información era un lío bastante gordo estar consultando el estado de todas las variables que estuvieran en el scope, con la llegada de Angular, el scope desaparece y la solución lleva mediante los observables (eventos asíncronos basados en secuencias observables) con la librería ReactiveX, haciendo nuestras aplicaciones hasta 5 veces más rápidas y lo más importante, no sobrecargamos de forma innecesaria el navegador.

Las directivas y componentes en AngularJS 1.x ya empezaban a darnos una buena solución al problema de la encapsulación y modularización de nuestro código, ya que con Javascript no habría forma de hacerlo de manera nativa, pero con la llegada de Angular los componentes toman la batuta y por consecuencia desaparece el controlador, de esta forma tendremos más control y encapsulamiento de cada parte de nuestra app.

Ahora hablemos del SEO, ya que AngularJS 1.x al ser una SPA (Single Page Application) que se carga en su totalidad del lado cliente (a parte de que sobrecargar el navegador con tanto proceso) necesitaba de ser prerenderizado antes de ser mostrado al usuario, haciendo la carga de la página menos eficiente, ahora con la llegada de Angular Universal, podremos cargar y renderizar la app desde el servidor y de esta forma al navegador solo llegará lo que se debe de mostrar, haciendo nuestra app más rápida y eficiente así como más amigable en cuanto al SEO.

Conclusiones

Lo anterior desde mi punto de vista es lo más importante en cuanto al cambio de las versiones de Angular, lo que nos falta lo vamos aprender poco a poco conforme avancemos en el tema.

Si te interesa el tema puedes continuar con los siguientes enlaces.-

* Articulo siguiente: Mi primera aplicación con Angular y Angular CLI
* Curso: Curso de Angular

Que tenga feliz código!.

Entradas más populares de este blog

Introducción a los conjuntos (set) con javascript