¿Tiene sentido usar jQuery en aplicaciones web modernas solo para webkit?

9

Últimamente estoy trabajando en algunas aplicaciones web móviles para Android (2.3+) e iOS (4+). Sus navegadores son compatibles con la mayoría de ECMAScript5, que es muy potente, y quería utilizar las funciones del lenguaje cuando sea posible, recurriendo a jQuery solo cuando tenía que hacerlo.

Resulta que lo único para lo que uso jQuery es tener una alternativa más corta para document.querySelectorAll. Bien podría deshacerse de él.

Si solo tengo que soportar los navegadores modernos de WebKit, ¿es una buena idea deshacerme de jQuery (y otras bibliotecas de uso general)? Son una capa de indirección, después de todo.

(Las aplicaciones no tienen que hacer llamadas AJAX hasta ahora, supongo que eso es algo que se pondrá feo. ¿Pero vale la pena mantener jQuery solo por eso?)

futlib
fuente
1
Relacionado: gist.github.com/1455456 ;) Para XHR, te sugiero este ayudante . No te responde, pero entiendes mi punto.
Florian Margaine

Respuestas:

8

No, no tiene sentido.

jQuery es una biblioteca hinchada. Todos saben eso. Y todos lo usan porque es una de las raras bibliotecas de navegador cruzado que simplemente funcionan (tenga en cuenta que no dije framework ).

Si no necesita soporte para navegadores heredados, no necesita jQuery.

Las necesidades pequeñas como el acceso directo QSA o un ayudante XHR son delgadas . Se agregan fácilmente a través de tales objetos .

Entonces, si te gusta su API, anímate. Pero no es necesario.

Puedo entender que algunas personas prefieren:

$( '.table' ).addClass( 'active' );

Para (usando By ):

[].forEach.call( By.qsa( '.table' ), function( table ) {
    table.classList.add( 'active' );
} );

Encuentro la segunda forma más explícita, otra estará en desacuerdo. Es una cuestión de preferencia.

Además, si su código tiene alguna posibilidad de ser portado a navegadores heredados más tarde (u otros navegadores móviles que no sean webkit / sucky), use jQuery. Reducirá su dolor de cabeza más tarde.

Relacionado: https://softwareengineering.stackexchange.com/a/148536/42132

Florian Margaine
fuente
3
¿Qué pasa si ha hecho esto 25 veces (no agrega clase x25 pero hay muchos otros casos similares)? Se hace cada vez más difícil de leer porque hay mucho más código para leer.
Esailija
No me resulta más difícil de leer, lo encuentro más explícito. Asunto de preferencia.
Florian Margaine
3
Siento que hay muchas otras razones para usar jQuery además de la compatibilidad con navegadores heredados. No estoy de acuerdo con las opiniones de esta respuesta que parecen extremadamente subjetivas y se basan en la preferencia más que en los hechos.
Michael Durrant
@MichaelDurrant sí, el uso de jQuery de su API es extremadamente subjetivo y se basa en la preferencia. Que es lo que dije en esta respuesta.
Florian Margaine
"Todo el mundo lo sabe" - hmm, esto parece desalentar los contraargumentos. jQuery tiene mucho valor: decadecity.net/talks/what-has-jquery-ever-done-for-us
elias
8

Creo que todavía vale la pena usarlo. jQuery efectivamente hace que su código sea más compacto y más legible, lo que resulta en un desarrollo más rápido y menos mantenimiento (teniendo en cuenta que tiene algo de experiencia con él).

Si jQuery es demasiado pesado para usted, debe probar Zepto , que es una alternativa ligera para jQuery (con una API similar).

Oliver Weiler
fuente