Ventajas e inconvenientes de usar jQuery para el desarrollo de funcionalidades Ajax en Javascript. Referencias para aprender a usar jQuery para Ajax.
En este artículo vamos a explorar la posibilidad de usar jQuery para hacer Ajax en Javascript, de modo que podamos saber los motivos por los que es una buena idea, los motivos en los que no sería necesario y, finalmente, cómo podemos empezar a desarrollar Ajax con jQuery.
¿Qué es Ajax?
Ajax es un comportamiento mediante el cual podemos solicitar datos a un servidor desde Javascript, sin necesidad de recargar la página completamente. Este comportamiento es asíncrono, lo que quiere decir que, durante el tiempo en el que el servidor no responde, el navegador puede dedicarse a hacer otras cosas.
Por lo tanto las solicitudes cargadas mediante Ajax, tienen esas dos características, no recargan la página ni la bloquean, permitiendo al usuario seguir interactuando con ella. No vamos a alargarnos más porque tienes una categoría entera dedicada a Ajax, donde puedes obtener mucha más información.
¿Qué es jQuery?
jQuery es una librería Javascript que permite realizar de manera más sencilla y cómoda muchos tipos de comportamientos en el ámbito de la página web, habilitando un API compatible con todos los navegadores que sirve principalmente para manipular el DOM.
Tampoco vamos a decir mucho más aquí, porque tienes un Manual de jQuery completo, que te puede ofrecer toda la información necesaria sobre la librería.
En otra época jQuery resultó fundamental para el desarrollo frontend (del lado del navegador) porque resolvía un problema serio en aquel momento que consistía en que cada navegador funcionaba de una manera diferente. jQuery en cambio ofrecía un API común, por lo que se evitaba tener que escribir alternativas de código Javascript para distintos navegadores. Sin embargo, aunque usar jQuery no es tan imprescindible hoy, permanece hoy como una de las herramientas establecidas de manera común en un alto porcentaje de los proyectos de Internet, ya que es dependencia habitual de CMS, frameworks, plugins y mucho software en el que se basan los desarrolladores para sus proyectos.
Es posible usar jQuery para hacer Ajax
Una de las funcionalidades que nos aporta jQuery es la realización de solicitudes Ajax contra el servidor o contra cualquier servicio web que necesitemos acceder. Lo hace gracias a aportar un nutrido grupo de funciones que nos permiten hacer todo tipo de conexiones, desde cargar un contenido venido del servidor en un área de la página, recibir un juego de datos en JSON o enviar cómodamente datos de formulario, entre otras cosas.
Gracias a jQuery podemos escribir mucho menos código en las llamadas Ajax y presentar las respuestas fácilmente en el contenido de la web mediante una cómoda manipulación del DOM.
Ventajas de usar jQuery
Analicemos los motivos por los que usar jQuery es una buena idea para el desarrollo de los comportamientos Ajax.
- Ofrece un API común para todos los navegadores, de modo que no tenemos que preocuparnos sobre si unas cosas funcionarán o no en determinados casos. Aunque a decir verdad, este motivo ya no es tan importante, porque afortunadamente los navegadores hoy comparten un API muy estándar.
- Ofrece funciones para realización de comportamientos Ajax ya preparados para simplificar tareas comunes, como traerse un HTML y visualizarlo en un elemento, enviar datos por Post, etc. De hacer Ajax nativo, para conseguir estos comportamientos específicos necesitarías mucho más código para configurar las solicitudes Ajax.
- Permite asociar un conjunto de callbacks sencillos que permiten reaccionar cómodamente a los distintos cambios de estado de los procesos Ajax.
- Si tienes jQuery puedes fácilmente escribir código de manipulación de la página que usa está librería, lo que te ahorrará algo de trabajo.
- jQuery ya viene con una serie de ayudas interesantes para obtener juegos de datos de formularios, para enviarlos por POST sin tener que lidiar con el acceso campo a campo y la composición de los objetos JSON.
Desventajas de usar jQuery
Por supuesto, también podemos señalar algunas desventajas de usar jQuery para desarrollar los comportamientos Ajax.
- Actualmente los navegadores ya soportan Ajax de manera muy estándar, por lo que generalmente no vas a necesitar discriminar entre uno u otro navegador para programar.
- Es una librería muy grande. Si solamente la instalas para hacer Ajax la verdad es que estás incorporando bastante peso a la página, para algo que podrías hacer sin ninguna librería o con librerías más ligeras y especializadas como Axios.
Por tanto, hoy usar jQuery no es una necesidad, ni mucho menos. Si lo que quieres es hacer Ajax hay librerías más potentes y útiles. Incluso si estamos usando un framework frontend del estilo de Angular o Vue, lo indicado sería usar la librería de Ajax integrada en ellos. La comunidad de React y de otras librerías frontend suele usar Axios que está más orientado a facilitar las operaciones típicas de acceso a servicios web.
Nosotros recomendaríamos usar jQuery para Ajax solamente en el caso que ya tengas jQuery como dependencia en un proyecto, o bien cuando pienses usar esta librería para muchas otras cosas en tu web, como manipular el DOM, implementar plugins de jQuery, etc.
Cómo usar jQuery para Ajax
Usar jQuery para Ajax es muy sencillo, ya que justamente nos ofrece una serie de funciones que nos aislan de las complejidades de las llamadas Ajax, mediante una interfaz de más alto nivel.
Para entender Ajax en jQuery primero te recomendamos tener claros cuáles son los mecanismos que esta librería te ofrece, es decir, el conjunto de funciones que dispone pensadas para cada uno de los casos de uso más frecuentes. Para ello te recomendamos comenzar por la lectura del artículo Ajax en jQuery.
Una vez tengas claros cuáles son los métodos que jQuery te ofrece para Ajax ya tendrás la capacidad de documentarte sobre cada uno de ellos y sacar el mejor provecho de esta librería. En el mencionado Manual de jQuery encontrarás una sección completa dedicada a Ajax para obtener mucha más información.
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...