La fin de jQuery ?

Bonjour,

Bien qu’ayant actuellement le “monopole”, jQuery continuera-t-il d’être si utilisé ?

Avec la sortie récente de nombreux nouveaux frameworks Javascript (AngularJS, MeteorJS … ) et de librairies front-end (Bootstrap…), son utilisation peut être de moins en moins pertinente.

Sachant que bien souvent, jQuery est utilisé pour seulement quelques-une de ses fonctionnalités (principalement la manipulation du DOM), j’entends de nombreux développeurs revenir au Javascript pur ou utiliser des librairies minimalistes.

Alors, est-ce la fin de jQuery ?

1 « J'aime »

En fait la grande force de jQuery a toujours été d’unifier le comportement entre les navigateurs. Aujourd’hui la plupart respectent les standards , au moins ceux de base, et de nouvelles API ont vu le jour notamment querySelector, qui rend obsolète la seule sélection d’éléments du DOM par jQuery.
Donc je pense qu’a terme oui, c’est la fin de jQuery tel qu’on l’utilise le plus souvent comme tu dis ( Ajax , DOM , events ).

4 « J'aime »

On observe une accélération de l’évolution du langage Javascript lui même (merci NodeJS), avec pour bientôt le support de ES6 dans les navigateurs, et des annonces qui vont dans le bon sens (je pense à AtScript et les annonces relatives à AngularJS 2.0).

Donc oui et tant mieux, JQuery aura de moins en moins de raisons d’être puisqu’il n’existe aujourd’hui que comme paliatif.

Perso je ne l’utilise déjà plus et m’en porte très bien.

Il reste vivant, je pense qu’il est juste mal utilisé il sert pas au manipulation de DOM c’est tout et Angular suit le même parcours que jquery, Angular a changé la façon d’écrire JS (HTML), si la fin de jquery n’est pas loin Angular va pas vivre plus que 5 ans à mon avis, je pense qu’il faut attendre la standardisation complète du web component pour connaitre l’avenir de chaque lib et framework entre temps je pense que c’est mieux d’utiliser jquery en tant 3rd party lib avec son script pour améliorer la productivité sans oublier que les frameworks comme Angular sont pas utiles dans toutes les situations par exemple si on a déjà une application avec jquery et on veux rajouter du 2 way binding rajouter knockoutjs et voilà.

1 « J'aime »

Je pense qu’on est quand même assez loin de la fin pour jQuery. Il a, et est encore, été très utilisé dans beaucoup d’entrerprises. Beaucoup on développé des plugins etc… Et quand on connait la difficulté de faire passer d’un outil à un autre …

1 « J'aime »

jQuery reste une API qui est meilleur et moins verbeuse, donc pour moi ça sera pas remplacer par un meilleur respect des standard.

Bootstrap? je vois pas le rapport.

Non, ce n’est pas la fin de jQuery. jQuery recoupe tout un tas de fonctionnalité et si certaines ont été utilisées à tort et à travers, et d’autres dépréciées, ce ne sont pas de bonnes raisons pour jeter le bébé avec l’eau du bain. jQuery a 10 ans, et 99% des plugins graphiques web dont vous aurez besoin dans votre prochaine appli sont déjà disponibles… à condition d’avoir jQuery. Donc si vous voulez éviter de redévelopper systématiquement ce qui a déjà été fait (et vous n’êtes pas payé pour!), il faut une dépendance à jQuery, même si il est utilisé couplé à un framework.

3 « J'aime »

Angular n’a pas dégagé jQuery de la scène puisqu’il embarque une version allégée de jQuery (JQLite) pour manipuler les éléments du DOM.

1 « J'aime »

JQLite n’existera plus sur AngularJS 2.

Bien sûr, on verra JQuery encore pendant très longtemps, puisqu’il existe un effet d’inertie inhérant à toute technologie, et on risque d’observer le même phénomène que Windows XP :)

Mais en démarrant un nouveau projet AngularJS, il est bénéfique et recommandé de s’en passer. On trouve de plus en plus de librairies et composants pour angular qui ne dépendent pas de JQuery. Je suis co-auteur d’angular-gantt, et le JQuery free est vraiment un point important pour beaucoup d’utilisateurs.

Pour mon main project, je suis dans l’obligation de l’intégrer à cause de quelques composants qui n’existent pas nativement (=sans aucune dépendance), mais je m’interdit de l’utiliser directement dans mon code.

Je considère jQuery comme cette planche considère PHP :D

3 « J'aime »

Je m’insurge!!! PHP fait l’affaire mais même pour du web simple il y a des alternatives. Par exemple Ruby et Sinatra. C’est quoi l’appli? C’est rare une application qui n’évoluera pas!

Complètement d’accord :) Quand je dis que je vois jQuery comme PHP, c’est au sens « je dépose mon Wordpress sur un FTP et ça marche », ou encore « je copie-colle ça et j’ai un carrousel ».

1 « J'aime »

En même temps, on parle de CommitStrip, hein :|

2 « J'aime »

C’est aussi d’avoir utilisé trop rapidement le HTML 5 alors qu’il n’était pas encore terminé. Et les implémentations dans les navigateurs du HTML 5 ne sont terminées que depuis le 28 Octobre 2014. Avec le CSS 3 qui n’est pas encore intégré dans les navigateurs actuels et le fait que jQuery et Ajax sont parties prenantes dans le projet HTML 5, il y a évidemment des problèmes avec jQuery. En fait, le HTML 5 est plus ouvert et permet la simplification des codes. On ne voit pas encore toute la potentialité du HTML 5 … et je pense que jQuery dépoussiéré restera encore longtemps …

Je pense que on en est loin !
Il ne faut pas oublier que une des forces de jQuery c’est aussi ces milliers de plugins (dont les plugins de Bootstrap)

JavaScript s’améliore mais cela prendra forcement plus de temps (compatibilités des navigateurs)
Donc à partir de ce constat, jQuery aura toujours un temps d’avance en terme de feature et de compatibilité avec les anciens navigateurs.

Après, je ne suis pas pour utiliser jQuery tout le temps (surtout quand le scope des navigateurs n’inclue pas du ie9 xD) mais c’est un autre débat.

Mais bon la solution backbone / jQuery / plugins jQuery reste quand même au top :)

Enfin pour finir un exemple significatif :

    $('.bar').on('click',function() { 
         $(this).css('background','green');
    });

plus lisible et plus court que du pur js :

var bars = document.querySelectorAll('.bar');
for(var i=0; i< bars.length; i++) {
  bars[i].addEventListener('click',function() {
    this.style.background = 'green';
  });
}
2 « J'aime »

Avec coffeescript c’est encore mieux :

$(".bar").on "click", ->
  $(this).css "background", "green"

C’est un peu hors sujet mais j’invite tout ceux qui font du javascript à regarder CoffeeScript.

Puisqu’on est dans la digression, j’invite tout ceux qui font du CoffeeScript à regarder LiveScript

EcmaScript 6 aussi ;) ( ou 2015 si vous voulez )

A moins que je me trompe, ES6 va apporter des fonctions mais ne change pas la syntaxe.

À première vue, en tant que Rubyste, je crois que coffeescript me correspond mieux. LiveScript est peut-être plus habituelle pour un Pythoniste ?

ES6 apporte aussi pas mal de nouveautés d’un point de vue syntaxe . en vrac les fonctions flèches, l’interpolation des chaines, les modules, l’affectation décomposée ( ou Destructuring Assignment , très coffescript ;) )…

1 « J'aime »
Human Coders - Le centre de formation recommandé par les développeur·se·s pour les développeur·se·s