¿Jquery o AngularJS? Eligiendo entre librería y framework

Hoy me puse a pensar en todos estos años que vengo desarrollando aplicaciones web. En el lugar donde trabajo, tengo la oportunidad de interactuar con diversos equipos como marketing, diseño y maquetación. Las tendencias van cambiando, los gustos, las plataformas donde consumimos la información (PCs, laptops, celulares, tablets, smartwatches, etc…). La tecnología con la que desarrollamos no es la excepción.

En este camino del cambio hemos ido pasando progresivamente por diversos frameworks. Ayer usabamos jQuery, hoy definitivamente es AngularJS.

Vamos a explorar de manera resumida los beneficios de cada uno de ellos.

Jquery

Desde que Jquery fue presentado en el 2006 ha sido la biblioteca JavaScript más utilizada. Se maneja bajo la licencia MIT de código abierto permitiendo su uso en proyectos libres y privados. Ya que es una librería ligera y potente de JavaScript ayuda a los desarrolladores web, simplificando el uso de secuencias de comandos del lado del cliente para aplicaciones web.
Características:

  • Desarrollar animaciones y efectos
  • Sencillo para hacer llamadas AJAX
  • Manipular fácilmente el contenido de una página web
  • Manipulación de la hoja de estilos CSS
  • Manejador de eventos
  • Interactividad y Manipulación del árbol DOM

AngularJS

AngularJS o simplemente Angular, es un framework JavaScript de código abierto (Licencia MIT). Angular es una gran herramienta para crear aplicaciones web interactivas. Su objetivo es facilitar el desarrollo de las aplicaciones basadas en el Modelo-Vista-Controlador (MVC).
Características:

  • Módulo RESTFUL
  • Localización
  • Inyección de dependencia
  • Validaciones
  • Uso de plantillas
  • Dos vías de enlace de datos

Diferencias entre librería(Jquery) y framework(AngularJS)

Una librería como Jquery normalmente proporciona una serie de funciones/métodos muy concretos para simplificar tareas complejas. Podemos utilizarla desde nuestro código pero sin necesidad de adaptar/modificar la estructura de nuestra aplicación.

Por otro lado un framework como AngularJS aporta una estructura completa en la que nosotros “encajamos” nuestro código, implementando la lógica concreta de la aplicación. Impone condiciones, define la forma en que tenemos que estructurar nuestra aplicación y la forma en la que los elementos de esta estructura se comunican.

En pocas palabras podríamos decir que nuestro código llama a las funciones de Jquery, es el que está al mando y utiliza las funciones cuando y como quiere, mientras que AngularJS éste es el que está al mando y tu código debe adecuarse a su estructura.

Entonces, ¿debo usar Jquery o AngularJS ?

Como siempre la respuesta es DEPENDE.

Sin embargo, debe quedar claro que el uso de Jquery dentro de AngularJS debe quedar restringido a las directivas UI. Cuando una desarrollador que viene de Jquery empieza a utilizar AngularJS es normal que caiga en costumbres y mecanismos a los que está habituado con aquella librería. Por ejemplo, se corre el riesgo de querer acceder al DOM desde las controladoras y es algo que no se debe realizar bajo ningún motivo (salvo extremas excepciones).

En ese sentido, para las personas que usan AngularJS y están acostumbradas a jQuery,deberían usar jQuery hasta que no sea estrictamente necesario. Y cuando lo uses, insistimos, siempre será desde la definición de las directivas, nunca desde las propias controladoras.

Si tus requisitos son más sencillos, la realización de sitios web en los que se tienen librerías de Javascript y limitado a crear interfaces de usuario dinámicas o pequeños comportamientos interactivos, puedes seguir usando jQuery.En cambio AngularJS está más destinado a aplicaciones web complejas, más parecidas a las aplicaciones de escritorio, con uso muy intensivo de JavaScript. No todos los problemas típicos de un sitio web serían adecuados de resolver con AngularJS, pues a veces será como “matar moscas a cañonazos” y por la complejidad de Angular te puede generar código más difícil de producir y sobre todo de entender para una persona con menos experiencia.

Queda claro que Angular va más allá del objetivo de jQuery. Son dos librerías distintas, que muchas veces se pueden complementar, pero dependiendo del tipo de proyecto y el escenario que se te presente tendrás que elegir por una de ellas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *