Angular 2

Hola a todos, soy Nebil de NetDevices !

Hoy os voy a hablar deAngular 2. Ya ha pasado 1 año desde que estamos en la versión 1.0, sabiendo que la primera versión de Angular fue lanzada en 2009.

Introducción a Angular y Angular 2

Angular es un Marco ("marco de funciones") Front end en código abierto. A diferencia del extremo back , que requerirá una base de datos, el extremo frontal estará más bien vinculado al diseño, a la interfaz de la plataforma.

¿Cuál es el objetivo principal de Angular?

Si hiciéramos una alegoría al cuerpo humano, la estructura de un sitio web podría definirse así:

  • el esqueleto que podría coincidir con el código HTML
  • "aderezo", el diseño que sería posible gracias a la CSS
  • "acción", las interacciones con la interfaz, que estarían más relacionadas con el lenguaje Javascript

UX dependerá obviamente de estos factores. Uno de los principales objetivos de Angular será mejorar la interacción entre Javascript y HTML

¿Por qué cambiaste a Angular 2?

Desde hace unos años asistimos a una acelerada mutación de Internet y de los objetos conectados. De hecho, Internet es ahora "cross device" (smartphones, tablets, iots...). Además, ya no tenemos el mismo uso de los navegadores. Seguimos desarrollando nuevas funciones y extensiones para ampliar las posibilidades. Sin embargo, esto tiene un impacto: la ralentización del navegador. Angular 1 estaba originalmente demasiado "apegado" al navegador, por lo que no era lo suficientemente eficiente para el uso que tenemos de Internet en los dispositivos móviles, por ejemplo. 

Cuando los ingenieros de Google imaginaron Angular 2, miraron hacia el futuro. Se imaginaron que tendríamos más movilidad. Por lo tanto, debería ser "multiplataforma", minimizando el apego al navegador, lo que implica que no estaríamos tan obligados a seguir las actualizaciones del mismo. Este detalle permitirá una mayor velocidad.

Hay un contraste real entre Angular 1 y 2, aunque sólo sea para aprender. Angular 2 es, por supuesto, más complejo. Esta complejidad se debe a que el uso de esta herramienta requiere paralelamente un conocimiento de Typescript y Rxjs (Reactive Extensions). Typescript permite utilizar nuevas tecnologías en Javascript. Tendrá un papel de intermediario al hacer que las nuevas tecnologías sean compatibles con las antiguas, lo que permite no sufrir la restricción de las actualizaciones. Rx se encargará de la gestión de los datos.

Angular 2 y React

Existe un verdadero debate entre Angular 2 diseñado por Google y React de facebook en términos de rendimiento. 

React ofrece una "DOM virtual"y Angular2 otra versión"DOM en la sombra” . Sin embargo, ambos pretenden limitar la dependencia del dispositivo del DOM mediante una abstracción parcial o incluso total del mismo.

El DOM virtual corresponderá a una copia virtual del DOM, considerada mucho más ligera que éste. Al modificarlo, el desarrollador tendrá que actualizar el DOM regularmente.

En comparación, Angular 2 se basará en el "shadow DOM", que consiste en una abstracción parcial del DOM. Esto significa que se realizan modificaciones directas en el DOM, lo que evita la necesidad de controlar constantemente las actualizaciones. Esto es aún más fácil gracias a Typescript.

El interés de una abstención de los DOM

En términos sencillos, el DOM (Modelo de objetos del documento) es una API (interfaz de programación de aplicaciones) que permite el desarrollo, la gestión y el uso adecuado de documentos en HTML y XML.

El DOM se diseñó originalmente para los navegadores de los ordenadores. Esto implica (en cuanto se cambia de dispositivo) un límite en la cantidad de datos almacenados, y por tanto un impacto considerable en la velocidad y el rendimiento. Una abstracción del DOM permitirá precisamente invertir esta tendencia y hacer por un lado la programación de aplicaciones mucho más sencilla, y por otro lado una mejora delUX/UI.

Aunque utilizamos ambas tecnologías en NetDevices, elegí especializarme en Angular 2 porque uso Meteor.js. Esto me permite hacer algunas fullstack en tiempo real.

Angular 2 en NetDevices

En NetDevices utilizamos habitualmente Angular 2 para crear aplicaciones web y móviles. También lo estamos utilizando en proyectos para dos de nuestros clientes, consistentes en la creación de una oficina back y un móvil application que les permite emitir radios y anuncios en sus tiendas. Para estos proyectos, asociamos Angular 2 à Córdoba y Iónico2.

NetDevices es un equipo de gestores de proyectos metódicos, desarrolladores frikis, integradores / diseñadores web, todos ellos apasionados por el desarrollo web y las nuevas tecnologías.Con nuestras soluciones Web2Mobile, Sharry (mobile market place) y nuestra asociación con IBM, sabemos cómo satisfacer sus necesidades, desde las más sencillas hasta las más complejas.Para más información, no dude en ponerse en contacto con nosotros.