76 votes

Quelles sont certaines des raisons techniques empiriques de ne pas utiliser jQuery?

Contexte: Je suis étonné par le nombre de développeurs front end qui hack en HTML, Javascript et CSS tout au long de la journée et que l'ignorer des outils comme jQuery ( ou autre équivalent helper cadres ) et de refuser de les utiliser. Je ne parle pas de JavaScript gourous, je suis en train de parler dans les tranchées de chaque jour Joe production développeurs. Je reçois beaucoup d'arguments qui ressemblent plus à des excuses ou des opinions personnelles que je ne pense pas avoir tout le mérite technique, je veux m'assurer que je ne suis pas en manque de quelque chose.

Question: Quels sont certains empirique des raisons techniques, ne pas utiliser jQuery?

Je ne suis pas à la recherche religieuse ou dogmatique des arguments ou des opinions subjectives "comme un autre cadre, c'est mieux", envisager jQuery l'homme de paille pour tous comparables cadres de la question.

130voto

rsp Points 11526

Je vais répondre à propos de jQuery, mais ce sont les mêmes arguments que j'ai entendu contre l'utilisation de YUI, Prototype, Dojo, Ext et quelques autres. Principaux arguments que j'ai entendu:

  1. la taille du fichier, qui est en fait 29KB - probablement plus petit que le logo sur une moyenne de site web et peut être servi à partir de Google CDN qui est susceptible d'être déjà dans le cache de la plupart de vos visiteurs. Comme l'utilisation de jQuery signifie toujours plus petite taille de fichier de vos propres fichiers JavaScript, il peut réellement signifier le plus petit téléchargement, même si ce n'est déjà dans le cache du navigateur.

  2. la vitesse d'écriture de JavaScript peut être plus rapide, mais l'écriture portable JavaScript semble être impossible pour la plupart des gens. Un site web qui est plus rapide mais ne fonctionne pas sur tous les navigateurs les plus utilisés est inutile dans le monde réel. En plus de jQuery utilise certains assez lourd optimisations à fait être sacrément rapide et ne cesse encore plus vite, avec chaque nouvelle version, c'est donc en fait pas si facile à écrire plus vite le code à la main pour autre chose que des exemples triviaux.(*)

  3. la "propriété intellectuelle" - une société qui est effrayé à l'aide de quelqu'un d'autre code - alors qu'en fait, jQuery est open source et du logiciel libre, qui est utilisé partout à partir de votre grand-mère du blog à Amazon, à partir de Twitter à la Banque de l'Amérique, de Google à Microsoft si ils peuvent utiliser n'importe quelle entreprise peut utiliser.

  4. Je ne peux pas le souvenir d'avoir entendu tout autre argument utilisé au sérieux.

(*) Voici un exemple trivial: getElementById('someid') vs jQuery('#someid')

Est d'utiliser getElementById plus vite? Oui. Et bien sûr, tout le monde vérifie toujours la parentNode à attraper lorsque Blackberry 4.6 retourne les nœuds qui ne sont plus dans le document, à droite? jQuery n'. Et tout le monde traite le cas où IE et Opéra de retourner les articles par leur nom au lieu de l'ID, droit? jQuery n'. Si vous ne le faites pas, alors votre code n'est pas portable et d'introduire des bogues qui peuvent être très difficiles à trouver. Et getElementById est le plus trivial exemple que l'on pourrait éventuellement trouver - ne me mettez pas même commencé sur les événements et AJAX et DOM...

Mise à jour:

Il est en fait un quatrième résultat de demander pourquoi quelqu'un ne veut pas utiliser jQuery. J'ai oublié de le mettre sur cette liste car il n'est pas vraiment une réponse, mais plutôt l' absence de toute réponse. Le commentaire que j'ai obtenu hier m'a rappelé à ce sujet. Ce n'est guère une "raison technique" soit ajouté à la liste, mais peut-être néanmoins intéressants et peut-être en fait la réaction commune.

Ce que, personnellement, je les soupçonne d'être la principale raison sous-jacente à l'ensemble de ces réactions, mais, est ce que je crois être le plus grand obstacle aux progrès de l'informatique: "je ne veux pas l'utiliser parce que je n'ai jamais fait, donc il ne doit pas être si important que cela."

Il était une fois la réaction à l'optimisation des monteurs, des compilateurs, la programmation structurée, un langage de haut niveau, la collecte des ordures, de la programmation orientée objet, la fermeture ou à peu près tout ce que nous tenons aujourd'hui pour acquis - et aujourd'hui, c'est l'AJAX bibliothèques. Peut-être qu'un jour on ne va rappelez-vous que une fois, nous avons utilisé manuellement interagir avec les premières API DOM niveau de l'application, comme aujourd'hui, personne ne se souvient qu'une fois, nous avons utilisé pour écrire des programmes en utilisant brut, sans fioritures, impénétrable nombres hexadécimaux.

24voto

philwinkle Points 3749

jQuery exprime tout dans un DOM-centrée sur le paradigme de ce qui peut être trompeur et ne nécessite aucun besoin de s'exprimer dans un modèle d'application.

De nombreux développeurs de liquidation de programmation eux-mêmes dans un coin avec ce DOM centrée sur le motif et finit par se rendre compte qu'ils n'ont pas créé de rien extensible ou réutilisables.

Rebecca Murphey a une grande écriture-up de son propre commutateur au Dojo à partir de jQuery - le blog est plus au sujet de pourquoi pas jQuery contre pourquoi Dojo.

18voto

clockworkgeek Points 25923

L'une des raisons de ne pas utiliser un cadre et c'est une extrême bord de cas est lors de l'écriture de intégrable code pour un autre site, comme une bannière. Arbitrairement l'insertion de certains compliqué bibliothèque ou l'autre de polluer l'espace de noms et éventuellement la rupture de quelqu'un d'autre site. Non pas que je ne le mettrais pas devant certains annonceurs à essayer de toute façon, l'étang-la succion de l'écume, mais je m'égare...

Je désapprouve l'ajout d'un cadre, lorsque l'on est déjà présent et tout aussi performant. Je le vois trop souvent et c'est ma bête noire, je le vois comme injustifiée, la météorisation. C'est une autre question tout à fait.

Autre que cela, je ne vois pas de raison de ne pas.

11voto

jpea Points 2172

taille du fichier - mais vraiment, au-delà de cela, c'est un don divin absolu pour le javascript multi-plateforme et les différences de navigateur. Vous devriez avoir de très bonnes raisons pour ne pas le vouloir dans votre boîte à outils (ou pour être un idiot de développeur intégriste).

7voto

alex Points 186293
<ul> <li>Ils ne peuvent justifier la taille du fichier (même s’il est probablement moins de script qui n’est pas utiliser les abstractions fournies).</li> <li>Ils ne veulent pas s’appuyer sur des outils tiers.</li> <li>Leur entreprise ne veut pas exécuter toutes les bibliothèques (pour une raison quelconque).</li> <li>Leur entreprise ne veut pas exécuter tout code JavaScript non écrite par leurs employés.</li> </ul>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X