jQuery ha sido el framework de JavaScript más utilizado jamás creado. Sacó al desarrollo web de la Edad Oscura y trajo algo de alegría a los desarrolladores web (nada de lidiar con agentes de navegadores y código condicional). Sin embargo, jQuery ya no es necesario en las aplicaciones js modernas. A medida que JS y CSS evolucionaron, y el mundo se alejó de Internet Explorer (¡aleluya!), jQuery se volvió obsoleto y anticuado. La OpenJS Foundation ha actualizado los proyectos jQuery UI y jQuery Mobile a "Emeritus", lo que significa que han alcanzado su ciclo de vida y están retirados.
Broma sobre jQuery
De alguna manera, UI5 es el único framework JS moderno activo que aún usa jQuery. A nadie le gusta más. Infla el framework de UI5 y ya no aporta un valor real. Ahora, con el lanzamiento de la última versión de mantenimiento a largo plazo de UI5 v120, ¡parece que estamos entrando en una nueva era!
Si tu pasatiempo es leer CHANGELOGs, es posible que hayas notado que se han deprecado montones de APIs y se ha reemplazado mucho código de jQuery por JS nativo. No tengo idea de cuándo SAP se deshará de jQuery de verdad, pero creo que no tomará mucho tiempo (en tiempo SAP podría ser una década o así 😜). ¡Ya es hora de deshacerse de él!
Dicho esto, creo que nosotros, como comunidad, podríamos ayudar con eso. He estado contribuyendo a UI5 durante mucho tiempo, ¡y me encanta reemplazar cosas de jQuery con JS nativo! He creado una nueva rama de git con algunas reglas de ESLint, eslint-plugin-no-jquery, para encontrar jQuery en la base de código de UI5. Esto facilita mucho encontrar y reemplazar jQuery.
Clona mi fork de
fork
, y cambia a la rama
no-jquery
. ¡Luego, instala las dependencias y ejecuta ESLint con las reglas no-jquery!
git clone https://github.com/mauriciolauffer/openui5.git
git checkout no-jquery
npm ci
npm run lint:jquery
Si deseas centrarte en un problema específico, elimina todas las reglas que no desees del archivo
.eslintrc-nojquery.json
y deja solo la regla en la que deseas trabajar.
{
"root": true,
"env": {
"browser": true,
"es2022": true,
"jquery": false
},
"globals": {
"sap": true,
"jQuery": false
},
"plugins": [
"no-jquery"
],
"extends": ["plugin:no-jquery/all"],
"rules": {
"no-jquery/no-closest": "error"
}
}
Resultados de no-jquery
Únete a mí en esta tarea hercúlea 🥲
Puedes aprender uno o dos trucos durante la búsqueda, y estoy seguro de que entenderás aún más UI5. Tal vez SAP se sienta mal por nosotros y acelere el proceso, entonces finalmente podremos tener una base de código de UI5 bonita y limpia.
Sigue algunos enlaces que te ayudarán a reemplazar jQuery por alternativas de JS nativo: