Peut-on se passer de jQuery
-> Oui
Doit-on se passer de jQuery
-> Non
![]()
Peut-on se passer de jQuery
-> Oui
Doit-on se passer de jQuery
-> Non
![]()
Tout dépend du site ou de l'application Web à construire.
Si c'est une page avec un malheureux appel ajax et une mise à jour d'une DIV, jQuery est pour moi totalement inutile.
Si c'est une application Web manipulant énormément d'objet, de style et de données, des bibliothèques me paraissent utiles pour faciliter les développements.
Le problème c'est que dles personnes qui ne connaissent pas le Javascript ont plutôt tendance à appliquer les tutos et ...... les librairies.
Ce qui est intéressant, c'est le chargement modulaire de ces librairies. On fait son panier de fonctionnalités, et on génère la librairie, mais on ne trouve plus beaucoup de librairies qui le propose.
C'est vrai si on ne tient pas compte des évolutions.
Mais si le site grossi et qu'il faut ajouter des fonctionnalités on se tourne vers un pluggin JQuery et il faut tout remettre à niveau ou laisser un vilain mélange
Où plutôt le problème c'est qu'ils ne savent pas choisir les bons outils.Envoyé par NaSa
C'est normal qu'il y ait des ralentissement par rapport au js "natif", car en fin de compte jQuery c'est sur une autre façons de développer en JS...
"Write less, do more" (On parle pas de vitess)![]()
Bonjour.
Même si je reconnais beaucoup de qualité à JQuery je ne comprends pas comment quelqu'un d'un peu cencé peut dire qu'elle est indispenssable ou même incontournable.
Il existe des librairies qui sont bien plus adapté dans certains contextes que JQuery. et il en est (des contextes) dans lesquels JQuery est particulièrement inadapté.
Je suis peut être un peut torp pargmatique, je choisis un framework ou une lib en fonction du besoin. c'est peut être pour ça que je ne comprends pas cette assertion.
Pour moi JQuery (et elle porte bien son nom "query") est une lib particulièrement bien faite pour chercher quelque chose dans le DOM. C'est sa principale valeur ajouté. les autres caractéristiques se trouvent très aisément ailleurs. La question que je me pose c'est "pourquoi ai-je besoin de chercher quelque chose dans le DOM ?"
Dans 90% de mes dev je ne cherche jamais rien dans le DOM. rares sont les getElementBy... du coup je n'utilise quasiment jamais JQuery.
ALors je réponds sans conteste à la question du sujet
Oui. on peut très avantageusement se passer de JQuery.
et je nuance
Oui il est des cas où JQuery est l'outil le plus approprié.
je continurais donc en fonction du besoin à chercher la meilleur solution.
A+JYT
Oui mais quand on voit par exemple que le JS généré par Dart égale le JS natif en vitesse (c'est ce qui s'est passé quand j'ai lancé le test ci-dessus sur un Chromium 34), on peut se demander si JQuery est un choix si incontournable.
@sekaijin
On a notre maître Yoda. Le sage a parlé ^^.
@jesusnavas
Et pour ce qui est de la compatibilité, j'ai décidé d'emboîter le pas des développeurs de frameworks JS : pas de support pour IE 8 et inférieur. Message de prévention avec liens pour indiquer au public qu'il lui faut soit Windows 7, soit un Firefox/Chrome/Opera/Safari (pas besoin de droits administrateurs, et il y a aussi des versions portables) quand ils ont XP ou moins. Mon but, c'est de faire avancer les choses, pas de m'abaisser à la médiocrité sachant qu'il y a des solutions faciles à mettre en place pour l'éviter.
Utiliser IE 8 ou moins, c'est un choix qui s'assume, pas une fatalité. Firefox ou Chromium s'installent en tant que simple utilisateur.
J'ai toujours trouvé qu'utiliser JQuery sur de petits sites, c'est comme sortir une pelleteuse pour planter une carotte dans son jardin. Alors oui, on va beaucoup moins se fatiguer qu'avec une pelle et une pioche, mais est-ce bien utile de sortir un engin de 25 tonnes pour faire un trou de 10cm de profondeur ?
Le but de http://youmightnotneedjquery.com/ n'est pas de lancer une guerre ouverte contre JQuery mais de s'attaquer aux développeurs de librairies fainéants qui préfèrent ajouter un dépendance à JQuery et ses 90ko pour pas se compliquer la vie à écrire 20 lignes de plus.
Au final, on se retrouve avec des dizaines de milliers de librairies plutôt intéressantes, mais qui ont une dépendance qui fait 20 fois leur poids.
Ca ne viendrait probablement à l'idée de personne d'inclure un framework en entier juste pour faire une addition ? Ben c'est pourtant une réalité à peine exagérée en Javascript avec JQuery et son API de parcours du DOM, dont tout le monde use et abuse pour réaliser bien souvent une petite tâche mineure qui aurait nécessité au maximum 10 lignes en javascript pur compatible avec tous les navigateurs à partir d'IE8.
Besoin d'un menu déroulant pour un petit site de 4 pages ? Allez, on va prendre un plugin JQuery, qui avec la librairie vont faire 90% du poids du site à eux seuls !
Mais c'est pas grave, tout le monde a de la fibre optique maintenant hein ?
Une pensée pour tous les pauvres bougres qui se tapent encore du 56k ou du EDGE...
Entièrement d'accord, je me bat sans arrêt avec mon boss pour lui dire qu'on perd beaucoup de temps et d'argent avec IE8. Je tombe des nus quand des grosses boites me disent : "Passer à IE8, non c'est pas programmé pour les 3 prochaines années. Par contre on aime bien les arrondis et les ombré qu'on a vu sur notre iPad." C'est sur que quand j'entends ça j'ai envie de lui cracher à la figure et lui dire d'installer un navigateur qui sait ce que c'est du CSS3 et des standards web, mais le savoir vivre et mon patron me l'interdisent.
En tout cas, pour en revenir au thème, jQuery (branche 1) gère les compatibilités IE8 mais pas seulement. Dès fois il faut aussi se battre entre Chrome, Firefox, Safari, Opera... pour avoir un code js multi-navigateur. Même pour des sites sans gestion de compatibilité IE8 ou j'utilise la branche 2 de jQuery, je suis bien content de pas me retaper des problématiques de compatibilité entre navigateurs.
En lisant la page http://youmightnotneedjquery.com/ juste sur le dernier point (sur le trim) j'ai une petite anecdote qui montre à quel point jQuery est indispensable (selon moi) :
L'autre jour un client m'appelle et me dit qu'il a une erreur de script sur IE8. Je regarde la ligne avec erreur :
qui me renvoie une erreur parce que le div est vide il me semble. Je me dit : "ah jQuery fait pas son job, il est pas cool." Eh ben si il le fait, je pensais que .trim() c'était la fonction jQuery, mais non jQuery c'est $.trim(ma_chaine). Je change ma ligne de javascript par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ($("#ma_div").html().trim() == "")
Plus d'erreurs. Sur les compatibilités IE8 depuis que j'utilise jQuery c'est énorme les gains, je ne m'occupe plus de ces problématiques à la con et je peste beaucoup moins sur ce IE8 de ***** à la peau très dure (comment pet-il encore être si utilisé ?).
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ($.trim($("#ma_div").html()) == "")
Les petits gars de jQuery s'occupent gentillement de la compatibilité Firefox, Chrome, Opera, Safari, IE... de la bibliothèque jQuery et moi je concentre sur le reste. J'ai vraiment pas envie de me passer de ce confort là.
C'est pourquoi cette page me laisse dubitatif. Je vois pas l'argument qui ferai qu'on a pas besoin de jQuery. Au contraire, utiliser les codes coté droit et vous aurez pleins de problématiques entre les différents navigateurs. Utilisez le code jQuery sur la gauche (avec la branche 1.xx de jQuery) et fini les problèmes !!!
sekaijin.
Je suis entièrement d'accord avec toi si c'est du pragmatisme ou si pour un projet tu n'en a pas l'utilité ou qu'une autre bibliothèque répondra mieux à ton besoin tu t'en passes aisément.
Mais le document en annexe http://youmightnotneedjquery.com/ à l'air de prôner qu'il est aussi simple d'écrire du javascript de base que du jQuery, ce qui syntaxiquement et (quasi) vrai, mais le jQuery c'est pas juste de la syntaxe.
Comme tu dis, si t'as un projet ou tu dois faire des requêtes .ajax ou utiliser .getJSON ou que tu utilises beaucoup les sélecteurs et tout je trouve idiot de te passer de jQuery ou d'une autre bibliothèque javascript qui vont te résoudre les problématiques de compatibilité entre les navigateurs.
passer de jQuery à Angularjs par exemple, c'est en vogue, ca marche pas mal, ca se passe de jQuery.
Perso, avant je faisait du .net et en passant à Jquery , mes tailles de pages on fondu ... ne faisant plus que quelques kilo voir octets pour certaines ...
C'est pas lourd, c'est efficace ... en plus il y a la partie UI très intéressante pour permettre de faire des pages design sans trop se fatiguer
C'est multi OS, multi Navigateur ...
Perso si j'abandonne ... se sera pour quelques chose de mieux ... mais aujourd'hui je ne vois pas ce qui le remplacera
Je crois qu'on est tous plus ou moins d'accord pour dire que dans l'absolut jQuery n'est pas indispensable mais il offre plus de facilité que le JS natif (lib, UI, plug...). Maintenant à vous lire on en viendrait presque a se poser la question, est il nécessaire de programmer avec des langages haut niveau...
Si on a le temps de l'optimisation maximale tout est bon à prendre et chacun trouvera sa manière de se prendre la tête pour un code qui est plus qu'efficace. Maintenant dans un contexte de projet on prend des raccourcis même si le code pondu est "dégueulasse" on a pas le choix c'est bien souvent dans l'ordre suivant que ça se passe: Fonctionnel => Ergonomique/Élégant => Performant.
A moins d'avoir une bonne & grande équipe de développeur pour un projet moyen, il faut bien se résoudre à la première contrainte de nos métiers: les délais!
Partager