logoCoderhouse.png
By Israel Guzmán • marzo 19, 2015

NG-Conf y el futuro de Angular

¡La ng-conf fué un evento de primer nivel! La mayor parte de las pláticas estuvieron enfocadas en Angular 2.0, pero también hubo risas (ng-wat), platicas motivacionales como la de Lukas Ruebbelke junto con Geoff Goodman (Creador de Plunker) y pláticas relacionadas con otros frameworks, tales como: ionic, Falcor de Netflix, Firebase, etc... 

A continuación comento lo más relevante de algunas de las pláticas.

  • Netflix anunció en su plática que hará open source su framework Falcor, el cual utilizan actualmente en todas sus aplicaciones. Falcor permite que las vistas descarguen solo la información que necesitan. Una vez descargada la información es guardada en caché y cada que accedemos a una vista ya visitada, la información se obtiene de memoria.
  • ionic también permitirá almacenar en caché el estado de las vistas, de forma parecida a Adobe Flex. También anunció que habrá una versión de ionic 2.0.
  • John Papa habló de su excelente guia de estilo, así como de la necesidad de tener código legible y facil de encontrar. También habló de las 4 reglas para organizar aplicaciones de Angular: LIFT.
  • También se habló de las pruebas de accesibilidad de e2e con protractor para nuestras aplicaciones, así como la importancia de que nuestras aplicaciones web sean ARIA (Accessible Rich Internet Applications).

El futuro de Angular.

Mucha gente se escandalizó después de la ng-europe en octubre del año pasado al saber que las directivas, los controladores, el $scope, los módulos y jqLite van a desaparecer en la nueva versión de Angular. Pero, a pesar de que la sintaxis será diferente, conceptualmente será muy similar, pero con la gran ventaja de que el nuevo Angular utilizará estándares y será mucho más declarativo. También se podrán utilizar web-components, así como otras librerias de JS de manera natural y simple.

El performance de Angular 2.0 con respecto a las versiones anteriores, e incluso comparado con React es ¡Muy impresionante! Dave Smith compa en su plática tres componentes; uno creado con Angular 1.3, uno hecho con Angular 1.3 + React y otro creado con Angular 2.0.

Se mostraron gráficas profundas de árbol de velocidad y memoria; donde hay incrementos de aproximadamente 60% para la primera vez que se carga una vista, antes de quedar en caché, y de aproximadamente 80% para cuando una vista se visita nuevamente.

1             2

Además, se mostró una gráfica del scroll de una tabla utilizando estructuras de datos inmutables para comparar el tiempo entre Angular 1, Angular 2 y Angular 2 con estructuras de datos inmutables. Los resultados son sorprendentes y hay una mejora de O(n) a O(1).

3

El equipo de Angular también anunció su relación y trabajo colaborativo con el equipo de Typescript (Microsoft). El cual es en palabras de Miško es “azúcar sintáctica” para JS. A pesar de que Typescript no es necesario para desarrollar aplicaciones de Angular 2.0, ofrece ¡Grandes ventajas¡ Como ES6, tipos de datos y anotaciones.

Screen Shot 2015-03-19 at 12.23.48 AM

También se habló de las 3 opciones de migración a Angular 2.0. Big Bang, Incremental (Adentro hacia Afuera) e Incremental (Afuera hacia Adentro). 

  • Big Bang: Migrar toda la aplicación completa
  • Incremental: La idea es ir migrando vista por vista (componente por componente) ya que la nueva versión está basada en componentes y porque Angular 1.x y Angular 2.0 pueden convivir en una misma aplicación.

La idea es migrer primero de 1.3.x a 1.4.x, ya que Angular 1.4.x y la nueva versión utilizarán el nuevo router. Posteriormente se migrará de 14.x a 1.5.x que será muy parecida a 2.0. El equipo de Angular también comentó que existirá una guia para migrar de 1.5.x a 2.0.

En resumen, Angular 2.0 será más Simple, más Consistente, más Flexible, más Productivo y Mucho Más Rápido.

Recuerden seguir siendo ¡Super Heroicos con AngularJS!  Screen Shot 2015-03-19 at 1.37.14 AM                      x                          

 

¿Quieres aprender AngularJS? Anótate al curso intensivo y presencial de Coderhouse acá: http://www.coderhouse.com/curso-de-angularjs