jQuery lleva casi quince años facilitándonos la vida a los diseñadores y desarrolladores web. Las utilidades básicas de esta librería son bien conocidas; simplificar la selección de elementos del DOM, incluir funciones relativamente básicas que en JavaScript había que programar, facilitar el uso de ciertas animaciones básicas y el soporte cross-browser... Pero entonces, ¿por qué parece haber ganas de acabar con él, si vive para hacernos la vida más fácil?
La respuesta está en el modo en el que se está utilizando jQuery, cómo funciona internamente y cómo ha evolucionado JavaScript. Si bien jQuery es una librería, en no pocos casos se ha estado utilizando de forma tan extensiva como si de un framework se tratase, resultando en frontends completamente basados en jQuery. Hoy, la existencia de frameworks JavaScript como AngularJS o Vue.js, y librerías específicamente desarrolladas para el desarrollo de aplicaciones en una sola página como React además de las amplias mejoras de JavaScript, el desarrollo puramente basado en jQuery queda fuera de lugar.
Su uso como librería facilitadora vivirá aún mucho tiempo, puesto que el calado de jQuery es profundo y está integrado en gran parte, si no la mayor parte, de sitios y aplicaciones web. Las fuertes raíces de jQuery también vienen establecidas por la inmensa cantidad de información disponible al respecto en la web, infinidad de manuales, trucos y preguntas y respuestas, de modo que algunos desarrolladores lo utilizaban como sustituto de JavaScript en la medida de lo posible.
¿Es contraproducente utilizar jQuery?
No necesariamente. Se está purgando el uso de jQuery del núcleo de Drupal, puesto que en grandes proyectos procesar el JavaScript a través de librerías no dedicadas como si de un framework se tratase supone una pérdida de rendimiento. A cambio, se está utilizando el framework Vanilla-JS y JavaScript puro. Sin embargo, para los temas de Drupal, jQuery agiliza los desarrollos y no produce sobrecargas apreciables en el rendimiento.
React se está posicionando como una librería más moderna, dedicada y eficiente, situada en la Vista del patrón MVC. esta parte queda delegada en el JavaScript puro, mientras que React se dedica a la Vista mediante un DOM virtual en la máquina del cliente, ahorrando trabajo al servidor. Está más enfocado en construir vistas y funcionalidades más complejas que en retoques estéticos como jQuery.
De forma adyacente, React Native nos permite construir aplicaciones para Android e iOS, y Mac y Windows utilizando una sintaxis muy similar a React, por lo que la transición a React facilita la extensión de nuestras aptitudes a otras tecnologías y plataformas.
¿Entonces, qué?
Utilizar un tema con jQuery para algunos arreglos estéticos en Drupal sigue siendo la opción más sencilla y rápida. Desarrollar todo un frontend en base a jQuery es lo que a día de hoy suena cuestionable.