
¿Qué es AngularJs?
AngularJS es un framework javascript de código abierto del lado del cliente, creado por Miško Hevery y Adam Abrons en 2009 que promueve una alta productividad y experiencia en el desarrollo web.
Fue generado en la creencia de que la programación declarativa es la mejor opción para construir la interfaz de usuario, mientras que la programación imperativa es mucho mejor para implementar la lógica de negocio de una aplicación.
Para lograr esto, AngularJS le brinda al HTML tradicional una extensión de su vocabulario, haciendo a los desarrolladores la vida más fácil. El resultado de este enfoque es la realización de código reutilizable, y fácil mantenimiento de los componentes, dejando atrás una gran cantidad de código innecesario.
Nacimiento de AngularJS
En 2010, Miško Hevery estaba trabajando en Google en un proyecto llamado Feedback. Basado en Google Web Toolkit (GWT), el proyecto Feedback estaba alcanzando más de 17.000 líneas de código y el equipo no estaba satisfecho con su productividad. Debido a eso, Miško hizo una apuesta con su manager: iba a volver a escribir el proyecto en 2 semanas usando su framework. Después de 3 semanas y sólo 1.500 líneas de código, le entregó el proyecto!
Hoy en día, el framework es utilizado en más de 100 proyectos simplemente en Google, y se mantiene por su propio equipo interno, en el que participa Miško.
El nombre del framework fue dado por Adam Abrons, y se inspiró en los signos mayor y menor <> de los elementos del HTML, (en los manuales de programación llamados paréntesis angulares)
AngularJs versus Jquery
AngularJS y JQuery toman diferentes enfoques para el desarrollo de aplicaciones web. JQuery trabaja manipulando de forma explícita el Document Object Model del navegador (DOM) para crear una aplicación. Mientras que el enfoque que toma AngularJS usa el navegador para ser el fundamento en el desarrollo.
JQuery es, sin ninguna duda, una poderosa herramienta para trabajar, es robusto, fiable, posee una gran comunidad de desarrolladores y podemos obtener resultados más o menos rápido. Pero, no es la herramienta adecuada para todo desarrollo más de lo que podría ser AngularJS. Puede ser difícil de escribir y gestionar grandes aplicaciones usando JQuery.
El principal inconveniente de AngularJS, es que hay una inversión por adelantado en el tiempo de desarrollo antes de empezar a ver los resultados, algo que es común en cualquier desarrollo basado en MVC. (ya veremos que significa este concepto). Se necesita al comienzo invertir tiempo en comprenderlo y en implementarlo.
Por lo general, se recomienda usar JQuery para aplicaciones web de baja complejidad y utilizar AngularJS para aplicaciones SPA más complejas, en donde tengamos tiempo para el diseño y la planificación cuidadosa.
En resumen, cuál es mejor? La respuesta es sencilla: depende para qué!. Además estamos acotando la lista de frameworks y entornos de desarrollo posibles a estas dos vertientes, pero el mundo de los frameworks es mucho más extenso y complejo.