lunes, 1 de diciembre de 2014

AngularJS - Introducción: ¿Qué es AngularJS?

Aplicaciones Web

Desde un tiempo a está parte la Web ha experimentado un cambio muy grande. Este cambio es consecuencia del estándar HTML5. En este estándar se agrupa un conjunto completo de especificaciones mediante las cuáles se pretende establecer la forma de construir las páginas Web. El objetivo principal que se persigue es una arquitectura Web abierta a cualquier dispositivo, de forma que sea independiente de la plataforma en  la que funcione.

Sin embargo, otro de sus objetivos es dejar paso a la aplicaciones Web. Tanto es así que en 2011 la W3C (entidad que publica el estandar) hablaba así de HTML5: "HTML5 es la piedra angular de un conjunto de tecnologías y APIs para construir aplicaciones web [...] alrededor de HTML5, CSS, SVG, WOFF, API (para el acceso a los datos del usuario, tales como contactos y calendario, o las capacidades del dispositivo, como la geolocalización y la cámara) y más promesas para mantener un área de rápido movimiento de la normalización."

Por ello desde que se anunció la llegada de HTML5 se comienza a hablar del navegador como la nueva plataforma de ejecución de aplicaciones. 


AngularJS

El equipo de AngularJS define Angular como: "un framework estructural para páginas web dinámicas". Y es que AngularJS es un framework de código abierto desarrollado por Google que nos permite la implementación del patrón de arquitectura MVC en una aplicación Javascript del lado del cliente

Gracias a AngularJS se puede utilizar HTML como lenguaje de plantillas y además extender la sintaxis de HTML para expresar diferentes componentes de la aplicación y no sólo eso, al trabajar con MVC podemos separar correctamente la lógica del modelo de datos y la vista en la aplicación. Con ello conseguimos ahorrarnos gran cantidad de código  puesto que no necesitamos añadir una lógica de enlace entre los datos del modelo y la presentación. Además, gracias a que todo ello ocurre del lado del cliente mediante Javascript, AngularJS actua como un socio ideal con la tecnología de servidor que se desee utilizar.

Con todo ello AngularJS permite realizar aplicaciones del tipo SPA (Single-Page Application). Es decir, que una parte de nuestra aplicación cargará dinámicamente sin que se tenga que recargar toda la página, lo que se traduce en una aplicación web más rápida. Por ello deberemos definir las diferentes partes de la interfaz (plantillas) que vayan a ser cargadas dinámicamente.

AngularJS puede trabajar conjuntanmente con frameworks como JQuery. Mientras que JQuery está orientado a tratar con el DOM directamente, AngularJS pretende minimizar el manejo del DOM en la mayoría de sus componentes. Aunque eso no significa que no tenga componentes para trabajar con el DOM. Esto se debe a que AngularJS está creado bajo los principios de que la programación declarativa es la ideal para las interfaces de usuario, mientras que la programación imperativa lo es de cara a la lógica de negocio.

Aprendiendo AngularJS

No es oro todo lo que reluce y a pesar de la potencia de AngularJS aprenderlo puede resultar complicado. Sin embargo, dada su utilidad y potencia merece la pena aprender AngularJS. La curva de aprendizaje de AngularJS puede asemejarse a un palo de hockey. Es decir, comienza siendo sencillo de utilizar pero a medida que nos adentramos en el framework se va haciendo más complicado de conocer y dominar.

AngularJS contiene una cantidad muy grande de recursos disponibles en la web y a menudo podemos encontrar recursos contradictorios y confusos a la hora de buscar en Google. Esto es porque una misma situación puede resolverse de formas diferentes. Es por ello que es muy importante aprender AngularJS de forma lógica y conceptual para comprender todos los escenarios y saber cómo resolverlos en cada situación.

La esencia de Angular se descompone en 5 componentes principales. Son estos los principales componentes, que no los únicos, que debemos asimilar y comprender para el día a día con AngularJS
  • Directivas
  • Controladores
  • Ámbitos
  • Servicios
  • Inyección de dependencias
Curso de AngularJS gratuito patrocinado por Google: http://campus.codeschool.com/courses/shaping-up-with-angular-js/intro







No hay comentarios:

Publicar un comentario