jQuery va se mettre au régime !

Le , par danielhagnoul, Rédacteur
jQuery va se mettre au régime !
Suppression des méthodes obsolètes et passage en plug-in des méthodes non utilisées dans le corps

Pour fêter ses 5 ans, l'équipe de développement de jQuery va le faire maigrir en supprimant les méthodes obsolètes et en transformant en plugins les méthodes utiles qui ne sont pas utilisées dans le corps de jQuery.

Bien entendu, ces modifications seront progressives, on passera par l'étape de la dépréciation avant la suppression.

Évolution du "poids" des versions jQuery

Déprécier quoi ?

  • Une méthode qui ne reflète plus les pratiques recommandées.
  • Une méthode impopulaire, déroutante, inefficace ou qui a révélé son inefficacité lors de son utilisation en production.
  • Une méthode qui présente des insuffisances et qui est difficilement améliorable.
  • Une méthode dont la suppression améliore le code ou l'usage de jQuery.


Les modifications déjà décidées :

  1. live() et die() sont remplacés par on() et off() ;
  2. la copie des évènements non standardisés dans l'objet event de jQuery. Suppression dans jQuery 1.8, ils seront alors accessibles par event.originalEvent.Name au lieu de event.Name ;
  3. pour faire de l'objet jqXHR un objet différé comme les autres, les méthodes error(), successs() et complete() sont dépréciées. On recommande l'usage des méthodes standards d'un objet différé : fail(), done() et always() ;
  4. les booléens objDeferred.isResolved() et objDeferred.isRejected() sont dépréciés. Suppression dans jQuery 1.8, on recommande l'usage de la nouvelle méthode objDeferred.state() ;
  5. l'utilisation de la méthode attr("value") sur un tag "input" est dépréciée depuis longtemps, on doit utiliser val(). Suppression dans jQuery 1.8 ;
  6. pour la méthode closest(), la signature closest(array) est dépréciée et sera supprimée dans jQuery 1.8 car cette signature retourne un array au lieu de l'objet jQuery ;
  7. les données liées à un événement et stockés dans data("events"). Utilisation dépréciée en 1.7 et suppression en 1.8 ;
  8. jQuery.sub() deviendra un plugin en jQuery 1.8 car bien que très utile pour créer une version privée de jQuery pour les plugins, il n'est pas utilisé par le coeur de jQuery.


IE6, IE7 et IE8

Il existe une série de "rustines" spécifique à ces versions de IE, mais il est impossible d'y toucher tant que le support d'IE8 est requis.

L'avenir ?

Les nouvelles propositions d'améliorations du code de jQuery seront examinées du point de vue de ce qu'elle apporte, mais aussi de ce qu'elle coûte en performances (vitesse, poids).

Lorsque cela sera possible, les nouveautés seront extérieures au coeur de jQuery (plugins, événements spéciaux, etc.).

Source


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de grunk grunk - Modérateur https://www.developpez.com
le 10/11/2011 à 10:26
C'est pas un mal de faire mincir un peu la lib. Quand on voit le nombre de projet qui embarque 200Ko de js pour juste faire une requête ajax ...

Par contre j'aimerais bien un jquery builder comme on peut en trouver chez Mootools.
On choisi les options que l'on veux , les dépendances se sélectionnent automatiquement et on génère un jquery aux petit oignons avec juste le nécessaire.
Avatar de Wormus Wormus - Membre actif https://www.developpez.com
le 10/11/2011 à 10:43
Dommage pour le point 8, je l'utilise beaucoup depuis que c'est sorti, m'enfin tant qu'on y a toujours accès, même si c'est à travers d'un plugin à part, ça me va.
Pour le reste, rien qui me gène.

L'initiative est plutôt bonne, faire un peu de ménage, ça peut pas faire de mal.

Citation Envoyé par grunk  Voir le message
Par contre j'aimerais bien un jquery builder comme on peut en trouver chez Mootools.
On choisi les options que l'on veux , les dépendances se sélectionnent automatiquement et on génère un jquery aux petit oignons avec juste ce ont on à besoin.

Assez d'accord !
Avatar de MarvinLeRouge MarvinLeRouge - Membre à l'essai https://www.developpez.com
le 10/11/2011 à 11:25
Correction sur le point 5 : ceci ne s'applique qu'à l'attribut value, on peut toujours utiliser attr sur un input pour d'autres attributs.
Avatar de Code62 Code62 - Membre éclairé https://www.developpez.com
le 10/11/2011 à 11:42
Merci des infos danielhagnoul, et merci de la correction MarvinLeRouge, mes yeux me sont pratiquement sortis de la tete quand j'ai vu ce point 5 ^^"

Pour le reste: je ne me trompe pas en pensant que les méthodes telles que "done" et "fail" existent déjà, et qu'on peut donc commencer à adapter son code sur la version actuelle, sans attendre la 1.8 ?
Avatar de Bovino Bovino - Rédacteur https://www.developpez.com
le 10/11/2011 à 11:48
Citation Envoyé par Code62
Pour le reste: je ne me trompe pas en pensant que les méthodes telles que "done" et "fail" existent déjà, et qu'on peut donc commencer à adapter son code sur la version actuelle, sans attendre la 1.8 ?

Non, tu ne trompes pas, c'est même recommandé de le faire
Avatar de danielhagnoul danielhagnoul - Rédacteur https://www.developpez.com
le 10/11/2011 à 11:56
Bonjour

@grunk : il existe des chargeurs de code. Exemple requirejs : http://requirejs.org/

@wormus : utiliser un plugin au lieu d'un code inclus dans le code de jQuery c'est toujours un peu plus "lourd" et cela diminuera peut-être très légèrement les performances.

@marvinlerouge : oui ! j'aurais du écrire attr("value") comme dans la source, mais le bic a eu un raté. C'est corrigé, merci !

@code62 : oui !
Avatar de amille44420 amille44420 - Nouveau Candidat au Club https://www.developpez.com
le 10/11/2011 à 12:14
Je ne peut que +1 cette "innovation". Je suis loin d'être contre l'idée de alléger jQuery par la suppression des méthodes déprécié. mais oui à quand un builder comme pour Mootools. D'ailleurs c'est l'un des point fort qui fait que je préfère exploiter Mootools que jQuery. Je trouve celui ci plus léger et surtout son builder est bien plus attirant A chacun son framework JS hein ^^
Avatar de T`lash T`lash - Membre confirmé https://www.developpez.com
le 16/11/2011 à 11:53
Pour fêter ses 5 ans, l'équipe de développement de jQuery va le faire maigrir en supprimant les méthodes obsolètes et en transformant en plugins les méthodes utiles qui ne sont pas utilisées dans le corps de jQuery.

Le mot "corps" est utilisé plusieurs fois et justement remplacé à la fin de l'article par le terme "cœur" qui est plus approprié.
Je crois qu'il aurait été plus correct de l'orthographier "core".
Offres d'emploi IT
Architecte technique des systèmes d'information H/F
Safran - Ile de France - Évry (91090)
Architecte systèmes études & scientifiques H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)
Expert décisionnel business intelligence H/F
Safran - Ile de France - Évry (91090)

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique Développement Web : Xavier Lecomte -