angularJS

Aplicaciones con AngularJS

Revolución JavaScript

Bien, como lo hemos mencionado en artículos anteriores, como el de node.js, el mundo de la tecnología crece cada día, así mismo las herramientas que nos permiten desarrollarlo. Actualmente JavaScript, un lenguaje muy conocido, pasó de ser sólo la manera en que hacías que tu aplicación fuera más dinámica y vistosa a un entorno maduro de desarrollo con el cual puedes programar tanto la parte del cliente como la parte del servidor, es decir, en lugar de utilizar lenguajes de programación como .NET, Java, Python, Ruby, etc., podemos utilizar JavaScript para programar la parte backend de nuestro sistema utilizando node.js.

Pero el futuro no sólo nos ha traído eso para JavaScript, actualmente existen Frameworks que nos permiten crear mejores aplicaciones, en menor tiempo y esfuerzo utilizando el patrón MVC (Modelo-Vista-Controlador), como lo son AngularJS, BackboneJS, Knockout, entre otros. Para este artículo nos centraremos en uno de los más populares y el cual fue desarrollado por Google.


que-es-angularjs

¿Qué es AngularJS?

AngularJS es un Framework JavaScript que nace con el propósito de mantener una buena estructura de código, así como construir SPA (Single-Page Applications), el cual consiste en crear toda tu aplicación únicamente utilizando JavaScript, HTML y CSS, es decir, no tener que realizar una llamada a tu servidor para poder cargar una nueva página, cambiar de pestaña, etc., sería como simular una aplicación de escritorio la cual tiene un flujo constante y haciendo el tiempo de respuesta casi inmediato en tus peticiones y consultas gracias a la integración con AJAX.

Anteriormente sólo utilizábamos librerías como jQuery para facilitarnos el manejo del DOM, efectos y peticiones por AJAX, pero seguimos sin mantener una buena escritura de código lo que ocasionaba un código poco manejable y legible.


Controllers

Los controladores son los encargados de inicializar, modificar la información contenida en nuestra vista HTML y realizar las funciones que se encargarán de realizar las acciones de nuestra vista.

Data binding

Una de las características principales de AngularJS es el Data binding, el cual consiste en sincronizar el modelo y la vista automáticamente, utilizando ciertas directivas como ng-model. Esta sincronización es bidireccional, es decir, la información se sincroniza tanto si cambia el valor en la vista como si lo hace el valor en el modelo.

angularJS-data-binding

En el ejemplo anterior, nuestro campo de texto que contiene la directiva ng-model=“nombre” esta enlazada a nuestro HTML utilizando la doble llave {{}} para el manejo de las expresiones, estas expresiones nos permiten ejecutar código JavaScript, pero no cualquier funcionalidad JavaScript, sino únicamente la funcionalidad del mismo angular.

Una vez que ejecutemos nuestra aplicación veremos que cada que ingresamos un nombre en nuestro campo de texto, el mismo se imprime de manera inmediata en nuestra etiqueta < h1 >< /h1 >.

Services

Los services son los encargados de comunicarse con el servidor para enviar y obtener información, que después será tratada por los controladores para mostrarla en las vistas.

Uno de los services incluidos en el FrameWork es $http, el cual se encarga de realizar las peticiones GET, POST, PUT y DELETE a un servicio API REST, la cual será la manera en la que nuestra aplicación maneja la información.


Conclusión

AngularJS permite extender el vocabulario HTML con directivas y atributos, manteniendo la semántica y sin necesidad de emplear librerías externas como jQuery para que funcione, y utilizando patrones de diseño como MVC para darnos un buena manejo y estructura a nuestra aplicación.


Si estás próximo a arrancar un proyecto de desarrollo de software, estás buscando soluciones en sistemas de información o desarrollo de aplicaciones móviles y tienes dudas sobre este tema, te invito a que nos contactes.

Somos una empresa de software, especialista en desarrollo de aplicaciones web, fábrica de software y desarrollo de aplicaciones móviles. Desarrollamos software basado en Microsoft .NET, Node.JS y aplicaciones nativas en iOS o Android; para aquellas empresas que solo requieren la contratación directa de especialistas, proveemos consultores por proyecto, temporales o fijos, con experiencia en las tecnologías más avanzadas para apoyar tu estrategia en desarrollo de sistemas y desarrollo de apps.