Est-il judicieux d'utiliser jQuery dans des applications Web modernes avec webkit uniquement?

9

Je travaille récemment sur quelques applications Web mobiles pour Android (2.3+) et iOS (4+). Leurs navigateurs prennent en charge la plupart d'ECMAScript5, qui est très puissant, et je voulais utiliser les fonctionnalités du langage dans la mesure du possible, en n'ayant recours à jQuery que lorsque je le devais.

Il s'avère que la seule chose pour laquelle j'utilise jQuery est d'avoir une alternative plus courte pour document.querySelectorAll. Autant s'en débarrasser.

Si je dois seulement prendre en charge les navigateurs WebKit modernes, est-ce une bonne idée de se débarrasser de jQuery (et d'autres bibliothèques à usage général)? Ils sont une couche d'indirection, après tout.

(Les applications n'ont pas à faire d'appels AJAX jusqu'à présent, je suppose que c'est une chose qui va devenir laide. Mais cela vaut-il la peine de garder jQuery juste pour ça?)

futlib
la source
1
En relation: gist.github.com/1455456 ;) Pour XHR, je vous suggère cet assistant . Cela ne vous répond pas, mais vous comprenez mon point.
Florian Margaine

Réponses:

8

Non, ça n'a pas de sens.

jQuery est une bibliothèque gonflée. Tout le monde le sait. Et tout le monde l'utilise parce que c'est l'une des rares bibliothèques multi-navigateurs qui fonctionnent (notez que je n'ai pas dit cadre ).

Si vous n'avez pas besoin de prise en charge pour les navigateurs hérités, vous n'avez pas besoin de jQuery.

Les petits besoins tels que le raccourci QSA ou un assistant XHR sont minces . Ils sont facilement ajoutés à travers de tels objets .

Ensuite, si vous aimez son API, allez-y. Mais ce n'est pas nécessaire.

Je peux comprendre que certaines personnes préfèrent:

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

À (en utilisant By ):

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

Je trouve la deuxième voie plus explicite, d'autres seront en désaccord. C'est une question de préférence.

De plus, si votre code a une chance d'être porté vers des navigateurs hérités plus tard (ou d'autres navigateurs mobiles non-webkit / sucky), utilisez jQuery. Cela réduira vos maux de tête plus tard.

En relation: https://softwareengineering.stackexchange.com/a/148536/42132

Florian Margaine
la source
3
Et si vous l'avez fait 25 fois (pas addClass x25 mais il y a une tonne d'autres cas similaires)? Cela devient de plus en plus difficile à lire car il y a tellement plus de code à lire.
Esailija
Je ne le trouve pas plus difficile à lire, je le trouve plus explicite. Question de préférence.
Florian Margaine
3
Je pense qu'il existe de nombreuses autres raisons d'utiliser jQuery autres que la simple prise en charge des navigateurs hérités. Je ne suis pas d'accord avec les opinions de cette réponse qui semblent extrêmement subjectives et basées sur la préférence plutôt que sur les faits.
Michael Durrant
@MichaelDurrant oui, l'utilisation jQuery de son API est extrêmement subjective et basée sur les préférences. C'est ce que j'ai dit dans cette réponse.
Florian Margaine
"Tout le monde le sait" - hmm, cela semble décourager les contre-arguments. jQuery a beaucoup de valeur: decadecity.net/talks/what-has-jquery-ever-done-for-us
elias
8

Je pense que cela vaut toujours la peine d'être utilisé. jQuery rend efficacement votre code plus compact et plus lisible, ce qui se traduit par un développement plus rapide et moins de maintenance (en tenant compte de votre expérience).

Si jQuery est trop lourd pour vous, vous devriez essayer Zepto , qui est une sorte d'alternative légère pour jQuery (avec une API similaire).

Oliver Weiler
la source