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 :
- live() et die() sont remplacés par on() et off() ;
- 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 ;
- 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() ;
- 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() ;
- 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 ;
- 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 ;
- 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 ;
- 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
Partager