Se connecter

Informatique

Création de sites web

Sujet : J'utilise encore du jQuery
1
Marduweb
Niveau 17
12 mai 2020 à 16:10:47

Franchement je trouve que c'est encore utile :(

quand je vois des sites comme http://youmightnotneedjquery.com/ qui sont censés convaincre que jQuery c'est pas si utile, bin ça fait l'effet contraire quand je vois tout le code qu'il faut faire

par exemple ajouter un simple evenement tu fais

$(document).on(eventName, elementSelector, handler);

et là sans jquery il faut faire

document.addEventListener(eventName, function(e) {
    // loop parent nodes from the target to the delegation node
    for (var target = e.target; target && target != this; target = target.parentNode) {
        if (target.matches(elementSelector)) {
            handler.call(target, e);
            break;
        }
    }
}, false);

c'est imbuvable nan ? :(

donc t'as les gens qui vont créer leurs propres fonction pour ajouter des events.. Et paf ça refait jQuery à la fin :pf: mais ils sont content car ils ont pas jQuery en dépendance, à la place ils ont réécrit leur jQuery maison, avec la doc et la maturité en moins.

Je comprend pour ceux qui sont "full-front" (c'est à dire pas de HTML déjà existant généré par le serveur) que jQuery c'est pas utile car tu vas utiliser des frameworks pour les SPA où tu manipule pas le dom directement (comme React ou Angular) mais pour le reste je suis dubitatif :(

Bootstrap 5 va par exemple supprimer la dépendance de jQuery car ils estiment qu'il n'y en a plus besoin, mais du coup ils abandonnent le support de IE10, c'est-à-dire qu'ils abandonnent tous les trucs chiant que jQuery gérait pour eux au final.

La version FULL de jquery ne fait que 87 ko, puis elle est mise en cache, à côté de ça tu as des sites où des images vont prendre 2 MO, donc l'argument du poid c'est pas ouf. D'autant plus que jQuery Slim ne fait quant à lui qu'un peu plus de 24 ko

Sans oublier les innombrables plugins qui sont basés sur jQuery, comme Select2

Pourquoi abandonner des anciens navigateurs et écrire davantage de code ?

Je comprend pas, pour moi avoir le minimum de code possible extrêmement important

Vous en pensez quoi ?

VinkingBanni
Niveau 10
12 mai 2020 à 16:34:12

http://www.commitstrip.com/fr/2020/01/08/unintentional-framework/

tsez93
Niveau 10
12 mai 2020 à 17:52:19

ta raison

Le_Tryall
Niveau 8
12 mai 2020 à 18:22:08

Surtout que Jquery, c'est que 31.4 KB, je comprend encore moins les clones plus simplistes de Jquery en plus léger (et donc moins de fonctionnalités).

Jquery est une bonne librairie pour les projets simples.

Vue, Angular & React sont plus adaptés pour des projets de plus grande envergure sur plusieurs années de développement.

Marduweb
Niveau 17
12 mai 2020 à 21:46:04

Vue, Angular & React sont plus adaptés pour des projets de plus grande envergure sur plusieurs années de développement.

Oui ou même des projets qui fonctionnent différemment, où tu n'as accès qu'à une API pour ton front car ils font une appli mobile par exemple, ou dans des grosses boîtes ou t'as plein de dev back & front séparés

Mais je vois de plus en plus de dev front qui ne savent faire que du React et qui balancent ça pour tout..

Y'a eu une période où tout se faisait en jQuery et là c'était peut-être abusé pour certaines choses, mais maintenant j'ai l'impression que c'est "surtout sans jQuery" même pour les projets où ça s'y porte bien

En tout cas je pensais pas que vous seriez d'accord, j'ai l'impression que tout le monde ne jure que par les tout derniers frameworks et le vanilla JS, ça me rassure un peu :oui: Merci :oui:

boucif
Niveau 24
12 mai 2020 à 22:05:43

Bein le js a évolué depuis et t'as aussi l'avènement des framework front

_Pytchoun
Niveau 53
12 mai 2020 à 23:11:59

Le 12 mai 2020 à 22:05:43 boucif a écrit :
Bein le js a évolué depuis et t'as aussi l'avènement des framework front

comme

Le_Tryall
Niveau 8
12 mai 2020 à 23:34:37

Le 12 mai 2020 à 23:11:59 _Pytchoun a écrit :

Le 12 mai 2020 à 22:05:43 boucif a écrit :
Bein le js a évolué depuis et t'as aussi l'avènement des framework front

comme

Vuejs, React, Angular pour ne citer que les plus connus.

deepblue
Niveau 13
13 mai 2020 à 00:10:49

La version FULL de jquery ne fait que 87 ko, puis elle est mise en cache, à côté de ça tu as des sites où des images vont prendre 2 MO, donc l'argument du poid c'est pas ouf. D'autant plus que jQuery Slim ne fait quant à lui qu'un peu plus de 24 ko

Ce n'est pas nouveau : la majorité des sites est obèse et mal développée.

La question que te peux te poser est : as-tu besoin de faire charger 87Ko de donnée + ton code alors que tu pourrais faire moins ? Typiquement, sur mon blog, j'ai 70,4Ko de javascript et y'a du code vanilla + 2 libraires pour coloriser du code dans mes articles, faire du lazyload et animer mon entête. SI j'avais du utiliser jquery, j'aurais doublé le poids du javacript mon un apport nul.

Marduweb
Niveau 17
13 mai 2020 à 09:44:27

Après ça dépend des cas, tu vas pas importer jQuery si tu en a pas besoin, mais est-ce que tu fais des choses en plusieurs lignes qui peuvent être faites en une seule en jQuery ? est-ce que tu as sacrifié des navigateurs un peu plus anciens en faisant ça, même s'ils représenteraient que genre 2% de ton audience ?

Si c'est le cas, bah je préfererais quand même utiliser jQuery car le code sera plus maintenable et plus compatible, sauf si t'as vraiment très très peu de js

Rien qu'hier on a eu encore le coup : le js d'un de nos sites fonctionnait pas sur safari et ie, et le dev qui l'a fait a du importer 3 tonnes de polyfills pour que ça marche.
Sans oublier que pour faire tout son js il utilise tout un webpack (j'ai rien contre webpack pour certains cas mais pas quand il y a pratiquement aucun JS dans le site) et que dans 3 ans je suis sûr qu'on arrivera pas à recompiler pour une raison x ou y, genre npm qui arrive plus à récupérer les dépendances trop anciennes...
Et du coup on se tape l'air con vis à vis du client qui trouve des bugs qui auraient pu facilement être évité, pour moins de temps de dev et un code plus propre, c'est ridicule. :(

Le_Tryall
Niveau 8
14 mai 2020 à 20:20:53

Après un petit coup de babel ça permet d'éviter ce genre de cas non ?

Tu require Jquery avec NPM et tu importe uniquement les classes que tu souhaite utiliser. Tu passe ton code source sur babel qui le rend compatible avec IE et les autres navigateurs qui n'utilisent pas le V8 engine.

tartuffe_2013
Niveau 15
14 mai 2020 à 21:47:24

jQuery c'est top je m'en sert souvent pour rendre mes sites plus dynamique

Superyudjin_2
Niveau 9
20 mai 2020 à 13:25:16

disons que jquery ca facilite l'expérience des développeurs au détriment de celle des utilisateurs. Le plus important faut pas oublier que c'est les utilisateurs

Marduweb
Niveau 17
20 mai 2020 à 21:27:44

Bin les utilisateurs ils voient pas la différence

même moi qui suis dev je verrais JAMAIS la différence entre un site qui utilise jQuery et l'autre non si je regarde pas les sources

Donc on peut pas vraiment dire que ça se fasse au détriment des utilisateurs

ShadowOfCroft
Niveau 8
31 mai 2020 à 11:41:59

jQuery c’est pas mort ou devenu inutile, c’est juste que des librairies comme VueJs font beaucoup mieux désormais.

Marduweb
Niveau 17
31 mai 2020 à 17:03:41

C'est pas pareil je trouve, vue c'est pas ouf quand tu as déjà du HTML qui existe déjà et que tu veux juste manipuler le DOM (par exemple si tu as un backend qui te génère déjà des formulaires html classiques et que tu veux afficher un champs quand l'utilisateur coche un case, vue va pas trop aider pour ce cas je pense)

En revanche c'est bien tu veux générer et mettre à jour de l'HTML à partir de données JS (par exemple si tu récupères du json d'une API que tu es susceptible de renvoyer et que tu as besoin de rendre interactif)

boucif
Niveau 24
31 mai 2020 à 20:45:43

Jquery pose des problèmes de compatibilité avec des bibliothèques recentes, si tu essayes de l'utiliser avec angular le js ne risque de plus marcher du tout.
Et en vue avec v-if je crois il est simple de cacher afficher un champ.

Marduweb
Niveau 17
01 juin 2020 à 16:01:59

Jquery pose des problèmes de compatibilité avec des bibliothèques recentes, si tu essayes de l'utiliser avec angular le js ne risque de plus marcher du tout.

Oui mais normal, si tu utilise déjà une librairie qui fait du "Two-way Data Binding" tu vas pas t'amuser à toucher au DOM qui géré par cette librairie à la main (j'ai déjà vu des gens faire ça j'ai failli vomir)

Et en vue avec v-if je crois il est simple de cacher afficher un champ.

Encore faut-il pouvoir donner les données (le data) non ? si ton formulaire est généré côté serveur, faudra rajouter le v-if, mais en plus faudra rajouter les données initiales quelques part pour que les données du v-if soient correctes (donc parser le formulaire déjà rempli pour avoir des données cohérentes), tu perds plus de temps à faire ça qu'à manipuler le dom directement (je parle par exemple si tu utilise le formView de symfony, pas dans le cas où tu ferais un formulaire à la main où la forcément tu as un contrôle sur tout facilement mais tu fais 2 fois le travail, en back et en front :( )

boucif
Niveau 24
01 juin 2020 à 19:39:49

Quand tu commences à utiliser un framework spa plus besoin de générer tes vues côtés serveur en faite, après rien ne t’empêche de renvoyer juste ta liste de donnée avec php et générer la form avec vue.
J'ai bossé sur un projet ou seul 2-3 pages utilisaient vue sur tout le site.

Marduweb
Niveau 17
01 juin 2020 à 21:42:31

Le 01 juin 2020 à 19:39:49 boucif a écrit :
Quand tu commences à utiliser un framework spa plus besoin de générer tes vues côtés serveur en faite, après rien ne t’empêche de renvoyer juste ta liste de donnée avec php et générer la form avec vue.

oui mais ça dépend pour les cas d'usages
par exemple pour un site web vitrine tu vas pas faire ça, ça va jouer contre toi pour le SEO et faire du server side rendering pour ce genre de site c'est beaucoup trop compliqué pour rien

pour une appli où tu vas avoir pleins d'intéractions etc là pourquoi pas

J'ai bossé sur un projet ou seul 2-3 pages utilisaient vue sur tout le site.

quand tu as des pages complexes pourquoi pas

j'ai rien contre les frameworks modernes quand ils sont justifiés et bien utilisés :oui:

1
Sujet : J'utilise encore du jQuery
   Retour haut de page
Consulter la version web de cette page