¿Qué es AngularJS y por qué deberías usarlo?

Dicen que los programadores Java en ocasiones hablamos como si fuéramos robots. En realidad somos una especie de caballeros Jedi. Somos capaces de hacer realidad ciertas tareas que para otras personas podrían resultar imposibles. Resolvemos problemas de un lado a otro de la galaxia. Somos multiplataforma y estamos orgullosos. Pero, seguramente te habrás encontrado en la situación de tener que desarrollar una aplicación web; como por ejemplo un blog, una página de presentación de una empresa o un directorio y en estos casos Java ya no es tan eficaz.

Cómo diría el maestro YODA: “Si desarrollo Web quieres hacer, JavaScript debes aprender”. Pero no es fácil desarrollar aplicaciones web productivas basadas en JavaScript. Esto se debe  a lo engorroso que es escribir código bajo la especificación ECMAScript. Entonces, ¿qué hacemos? Por suerte existen librerías y frameworks de desarrollo en los que podemos apoyar nuestro trabajo. Hoy quiero hablaros de Angular, un framework JavaScript muy usado en la actualidad. Lo podemos usar tanto para desarrollar aplicaciones web como realizar apps móviles híbridas.

 

¿Qué es AngularJS?

También conocido como AngularJS es un framework MVC (Modelo Vista Controlador), desarrollado por Google para el Desarrollo Web Front End que permite crear aplicaciones SPA (Single-Page Applications) sin despeinarnos. Al usar un patrón MVVM (model view view-model) separamos la lógica de la de diseño pero mantenemos ambas partes conectadas (data binding). De manera que la capa visual no sabe lo que está pasando en la capa lógica pero manteniendo control sobre el DOM (el cuerpo de la web) y actualizar su contenido como queramos.

Si con jQuery ya podíamos manipular el contenido y estructura de nuestra web con Angular también podemos además comunicarnos con el servidor, recuperar datos, gestionar estas llamadas y mostrar el resultado en la vista. Todo esto y más en un entorno web.

Así es Angular, la piedra filosofal que integra una solución completa frente a otras opciones como jQuery, Knockout, Handlebars o PagerJs —librerías orientadas a resolver un problema concreto, pero no proporcionan una solución global para desarrollar aplicaciones— que nos permite prescindir del vetusto PHP en nuestros desarrollos usando una tecnología moderna, en constante evolución y actualización, con la que podemos habilitar servicios web y construir nuestro software mediante una conexión con servidor dinámica, databinding, organizar sus componentes en módulos y modificar el DOM sin tener que remover de forma extrema el fichero HTML y el patrón MVVM.

Otro detalle a tener en cuenta es que frente a otras opciones como jQuery, Knockout, Handlebars o PagerJs. Esas son librerías orientadas a resolver un problema concreto, pero no proporcionan una solución global para desarrollar aplicaciones.

 

¿Qué ventajas ofrece AngularJS?

Tal como comentaba antes, unas cuantas. Aunque quizá si acabas de llegar al mundillo del desarrollo o simplemente estás aquí por curiosidad igual te he liado un poco. Lo mejor es que te enumere las principales ventajas de desarrollar en AngularJS y no en JavaScript.

 

Puedes usar TypeScript o no

Angular no te obliga a escribir tu código usando el lenguaje TypeScript. Si eres programador Java quizá agradezcas poder sentarte y programar en ECMAScript "puro" pero el equipo de desarrollo de Angular tomó la decisión de hacer todo el desarrollo con TypeScript, documentación y ejemplos incluidos.

¿Por qué complicarse? ¿Si algo funciona no es mejor no tocarlo? Pues al contrario de lo que parece, esta decisión tiene su buena razón. Con JavaScript y otros lenguajes encontramos infinidad de ejemplos escritos en ECMAScript pero debo recordar que existen diferentes versiones y cada versión ofrece varias formas diferentes de declarar un objeto, lo cual puede confundir a muchos.

Esto genera un serio problema de inconsistencia. Al usar TypeScript no tenemos este problema. TypeScript evita la confusión y ofrece un mantenimiento más fácil de las aplicaciones.

 

No hace complicado aquello que debe ser fácil

Angular es un framework y no una biblioteca (todavía existen clases) por lo que incluye muchas más opciones y funcionalidades de serie que usan simplemente una biblioteca. Esto supone un importante ahorro de recursos al no tener que depender de bibliotecas de terceros para sacar adelante nuestro proyecto.

Esto hace que sea mucho más fácil aprender a usar Angular, desde el primer momento ya sabes cómo organizar tu código, lo que permite a empresas incorporar nuevas personas a su equipo de desarrollo y reducir sus tiempos de producción.

 

Componentes web

Reutilizar nuestro código supone una enorme ventaja. Angular adopta el estándar de los componentes web. Un conjunto de APIs que permiten crear nuevas etiquetas HTML personalizables y reutilizables que podemos utilizar en otros proyectos con independencia del navegador que utilicemos. ¿Y qué beneficio nos ofrece esto? ¡Más tiempo libre!

 

Es open source

No vamos a profundizar mucho sobre sus bondades pero en la actualidad el código abierto es clave en el desarrollo de la nueva economía colaborativa. Permite que las personas en todo el mundo emprendan y colaboren sin restricciones tecnológicas.

Gracias a este tipo de software abierto es posible que otras personas aprenden a partir de nuestro código, aporten soluciones o desarrollen las suyas a partir de las aportaciones de otros.

 

Gran soporte y recursos disponibles

A diferencia de otros lenguajes podemos usar desde el bloc de notas a los principales editores e IDEs para trabajar con este framework de la manera más cómoda posible.

Podemos desarrollar nuestra aplicación desde cero o a partir de un aplantilla. Las plantillas en Angular presentan la ventaja de que almacenan por separado el código de la capa lógica y de presentación, de modo que podemos sacar partido y editar este código con alguna de las muchas herramientas o IDEs disponibles.

Pero, la mejor parte es que la comunidad de usuarios y desarrolladores que utilizan Angular es tan amplia que es posible encontrar respuestas a nuestras consultas con un código fácilmente legible y accesible. Y si todavía nos quedan dudas podemos consultar la excelente documentación disponible.

 

Conclusiones

AngularJS sigue evolucionando y se posiciona cada vez más como uno de los lenguajes más demandados por las empresas. Una de sus principales ventajas reside en que si ya conoces Java o si eres un maestro del Kung-Fu en JavaScript no te costará adaptarte. El 90% del código te sonará y si tienes alguna duda siempre puedes consultar en la web gracias a su comunidad de usuarios y gran cantidad de documentación.

Ya por último, tanto si eres un profesional como si eres un aficionado que arranca en el desarrollo de aplicaciones móviles encontrarás en AngularJS un buen punto de inicio para crear tus propias aplicaciones rápidamente gracias a su curva de aprendizaje mínima.


Guía de Posibilidades Profesionales en el Ecosistema de Java