IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Lancement de jQuery v4.0 Beta, cette version améliore les performances et apporte quelques changements


Sujet :

JavaScript

  1. #1
    Communiqués de presse

    Femme Profil pro
    Traductrice Technique
    Inscrit en
    Juin 2023
    Messages
    906
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Traductrice Technique

    Informations forums :
    Inscription : Juin 2023
    Messages : 906
    Points : 63 536
    Points
    63 536
    Par défaut Lancement de jQuery v4.0 Beta, cette version améliore les performances et apporte quelques changements
    Lancement de jQuery v4.0 Beta, cette nouvelle version de la bibliothèque JavaScript ne prend plus en charge les versions d'Internet Explorer antérieures à 11

    La version 4.0.0 de jQuery est en préparation depuis longtemps, mais elle est maintenant prête pour une version bêta ! Elle corrige des bogues, améliore les performances et apporte quelques changements. La prise en charge d'Internet Explorer (IE) 10 et des versions antérieures a été supprimé de cette version. Cependant, selon l'équipe de jQuery, on peux s'attendre à ce que les perturbations soient minimes.

    jQuery est une bibliothèque JavaScript conçue pour simplifier la traversée et la manipulation de l'arbre HTML DOM, ainsi que la gestion des événements, les animations CSS et Ajax. Il s'agit d'un logiciel open-source, libre et gratuit utilisant la licence permissive MIT. En août 2022, jQuery était utilisé par 77 % des 10 millions de sites web les plus populaires. L'analyse du web indique qu'il s'agit de la bibliothèque JavaScript la plus largement déployée, avec une marge importante, puisqu'elle est au moins trois à quatre fois plus utilisée que n'importe quelle autre bibliothèque JavaScript.

    La syntaxe de jQuery est conçue pour faciliter la navigation dans un document, la sélection d'éléments DOM, la création d'animations, la gestion d'événements et le développement d'applications Ajax. jQuery permet également aux développeurs de créer des plug-ins au-dessus de la bibliothèque JavaScript. Cela permet aux développeurs de créer des abstractions pour l'interaction et l'animation de bas niveau, des effets avancés et des widgets de haut niveau pouvant être thématisés. L'approche modulaire de la bibliothèque jQuery permet de créer de puissantes pages web dynamiques et des applications web.

    Pour jQuery 4.0.0 Beta, la plupart des changements sont ceux que l'équipe voulait faire depuis des années, mais qu'elle ne pouvait pas faire dans un patch ou une version mineure. Ils ont réduit le code hérité, supprimé certaines API précédemment obsolètes, supprimé certains paramètres internes aux fonctions publiques qui n'ont jamais été documentés, et abandonné la prise en charge de certains comportements "magiques" qui étaient trop compliqués. Voici quelques points forts de jQuery 4.0.0 beta.

    Nom : 1.png
Affichages : 128109
Taille : 7,8 Ko

    Adieu IE<11

    jQuery 4.0 abandonne la prise en charge d'Internet Explorer (IE) 10 et des versions antérieures. Certains se demandent peut-être pourquoi ils n'ont pas supprimé la prise en charge d'IE 11. Ils prévoient de supprimer le support par étapes, et la prochaine étape aura lieu dans jQuery 5.0. Pour l'instant, ils commençent par supprimer le code prenant spécifiquement en charge les versions d'IE antérieures à 11, ce qui donne une réduction de taille de -867 octets gzippés en un seul PR !

    Ils ont également supprimé la prise en charge d'autres navigateurs très anciens, notamment Edge Legacy, iOS <11, Firefox <65, et Android Browser. Aucun changement ne devrait être nécessaire de côté utilisateur. Si on a besoin de supporter l'un de ces navigateurs, il suffit rester simplement avec jQuery 3.x.

    API obsolètes supprimées

    Ces fonctions sont obsolètes depuis plusieurs versions. Il est temps de les supprimer maintenant que la mise à jour a atteint une version majeure. Ces fonctions ont toujours été destinées à être internes ou ont maintenant des équivalents natifs dans tous les navigateurs supportés. Les fonctions supprimées sont les suivantes :

    • jQuery.cssNumber
    • jQuery.cssProps
    • jQuery.isArray
    • jQuery.parseJSON
    • jQuery.nodeName
    • jQuery.isFunction
    • jQuery.isWindow
    • jQuery.camelCase
    • jQuery.type
    • jQuery.now
    • jQuery.isNumeric
    • jQuery.trim
    • jQuery.fx.interval


    push, sort, et splice supprimé

    Le prototype jQuery comporte depuis longtemps des méthodes Array qui ne se comportent pas comme les autres méthodes jQuery et qui ont toujours été destinées à un usage interne uniquement. Ces méthodes sont push, sort et splice. L'équipe a transféré l'utilisation de ces méthodes vers les fonctions Array au lieu du prototype jQuery. Par exemple, $elems.push( elem ) est devenu [].push.call( $elems, elem ). Il est mentionné ici au cas où il y aurait des plugins qui se seraient appuyés sur ces méthodes.

    Ordre des événements focusin et focusout

    Pendant longtemps, les navigateurs n'étaient pas d'accord sur l'ordre des événements de mise au point et de flou, qui comprennent focusin, focusout, focus, and blur. Enfin, les dernières versions de tous les navigateurs pris en charge par jQuery 4.0 ont convergé vers un ordre commun des événements. Malheureusement, il diffère de l'ordre cohérent que jQuery avait choisi il y a plusieurs années, ce qui en fait un changement radical. Au moins, tout le monde est sur la même longueur d'onde maintenant !

    Dans les versions précédentes, l'ordre de jQuery pour les quatre événements était le suivant :

    1. focusout
    2. blur
    3. focusin
    4. focus

    À partir de la version 4.0 de jQuery, le comportement natif n'est plus. Cela signifie que tous les navigateurs, à l'exception d'IE, suivront la spécification actuelle du W3C, à savoir :

    1. blur
    2. focusout
    3. focus
    4. focusin

    Pour les curieux, la spécification du W3C définissait auparavant un ordre différent :

    1. focusout
    2. focusin
    3. focusin
    4. blur

    Mais peu de gens ont pensé que c'était intuitif et la spécification a été modifiée en 2023 pour correspondre à ce que les navigateurs avaient déjà mis en œuvre. Ironiquement, le seul navigateur à avoir suivi l'ancienne spécification est Internet Explorer.

    Prise en charge de FormData

    jQuery.ajax a ajouté la prise en charge des données binaires, y compris FormData. Auparavant, les données binaires n'étaient pas un type de données connu et étaient converties en chaînes de caractères. Ce comportement pouvait être désactivé en désactivant la conversion des données et en traitant les données manuellement, mais ils ont décidé de le faire fonctionner automatiquement. Il s'agit techniquement d'une rupture, mais le comportement devrait être plus proche de celui attendu.

    Suppression de la promotion automatique de JSONP

    Auparavant, jQuery.ajax avec dataType : "json" avec un callback fourni était automatiquement converti en une requête JSONP. Aujourd'hui, la manière préférée d'interagir avec un backend inter-domaine est avec CORS, qui fonctionne dans tous les navigateurs supportés par jQuery 4.0. Cela devrait permettre d'éviter des comportements inattendus dans le cas où un développeur ne sait pas qu'un code peut être exécuté à partir d'un domaine distant avec JSONP.

    La source de jQuery migre vers les modules ES

    Ce fut un jour spécial lorsque la source de jQuery sur la branche main a été migrée d'AMD vers des modules ES. Les sources de jQuery ont toujours été publiées avec les versions de jQuery sur npm et GitHub, mais ne pouvaient pas être importées directement en tant que modules sans RequireJS, qui était l'outil de construction de jQuery de prédilection. Depuis, ils sont passés à Rollup pour l'empaquetage de jQuery. L'équipe éffectue également des tests sur les modules ES avant de les empaqueter.

    Types de confiance et CSP

    jQuery 4.0 ajoute la prise en charge des Types de confiance (Trusted Types), garantissant que le HTML enveloppé dans TrustedHTML peut être utilisé comme entrée dans les méthodes de manipulation de jQuery d'une manière qui n'enfreint pas la directive Content Security Policy require-trusted-types-for.

    Par ailleurs, alors que certaines requêtes AJAX utilisaient déjà des balises <script> pour maintenir des attributs tels que crossdomain, ils ont depuis changé la plupart des requêtes de script asynchrones pour utiliser <script> afin d'éviter toute erreur CSP causée par l'utilisation de scripts en ligne. Il existe encore quelques cas où XHR est utilisé pour les requêtes de script asynchrones, comme lorsque l'option "headers" est passée (utilisez scriptAttrs à la place !), mais on utilise maintenant une balise <script> chaque fois que cela est possible.


    Mise à jour

    L'équipe de jQuery ne prévoit pas de problèmes de compatibilité lors de la mise à jour à partir d'une version jQuery 3.0+. Si vous n'avez pas encore mis à jour vers jQuery 3.0, consultez le Guide de mise à jour 3.5 et le Guide de mise à jour 3.0.

    Le plugin jQuery Migrate vous aidera à identifier les problèmes de compatibilité dans votre code. N'hésitez pas à tester cette version bêta et à faire part des problèmes que vous rencontrez.

    Si vous ne pouvez pas encore passer à la version 3.5+, Daniel Ruf a gentiment fourni des correctifs pour les versions précédentes de jQuery.

    Mise à jour de slim build

    Le slim build est devenu encore plus petit dans jQuery 4.0.0 avec la suppression des Deferreds et des Callbacks (maintenant moins de 20k octets gzippés !). Les Deferreds ont longtemps supporté le standard Promises A+, donc les Promises natives peuvent être utilisées à la place dans la plupart des cas et elles sont disponibles dans tous les navigateurs supportés par jQuery à l'exception d'IE11. Les Deferreds ont quelques fonctionnalités supplémentaires que les Promises natives ne supportent pas, mais la plupart de leur utilisation peut être migrée vers les méthodes Promise. Si vous avez besoin de supporter IE11, il est préférable d'utiliser la version principale ou d'ajouter un polyfill pour les promesses natives.

    Téléchargement

    Vous pouvez obtenir les fichiers à partir du CDN de jQuery, ou les lier directement :

    https://code.jquery.com/jquery-4.0.0-beta.js

    https://code.jquery.com/jquery-4.0.0-beta.min.js

    Vous pouvez également télécharger cette version depuis npm :

    npm install jquery@4.0.0-beta

    Slim build

    Parfois, vous n'avez pas besoin d'ajax, ou vous préférez utiliser l'une des nombreuses bibliothèques autonomes qui se concentrent sur les requêtes ajax. Et il est souvent plus simple d'utiliser une combinaison de CSS et de manipulation de classes pour les animations web. Enfin, tous les navigateurs supportés par jQuery (à l'exception d'IE11) prennent désormais en charge les promesses natives, de sorte que les Deferreds et les Callbacks ne sont plus nécessaires dans la plupart des cas. En plus de la version normale de jQuery qui inclut tout, une version "slim" qui exclut ces modules a été publiée. La taille de jQuery est très rarement un problème de performance de charge de nos jours, mais la version "slim" est environ 8k octets gzippés plus petite que la version normale. Ces fichiers sont également disponibles dans le paquet npm et sur le CDN :

    https://code.jquery.com/jquery-4.0.0-beta.slim.js

    https://code.jquery.com/jquery-4.0.0-beta.slim.min.js

    Ces mises à jour sont déjà disponibles en tant que versions actuelles sur npm et Bower. Des informations sur toutes les façons d'obtenir jQuery sont disponibles à l'adresse https://jquery.com/download/. Les CDN publics reçoivent leurs copies aujourd'hui, veuillez leur laisser quelques jours pour poster les fichiers. Si vous souhaitez démarrer rapidement, utilisez les fichiers sur le CDN de l'équipejQuery jusqu'à ce qu'ils aient une chance de se mettre à jour.

    Nous publierons un guide de mise à jour complet avant la version finale, afin de présenter le code supprimé et la manière de migrer. Le plugin jQuery Migrate sera également prêt à vous aider. Pour l'instant, nous vous invitons à tester la version bêta et à nous faire savoir si vous rencontrez des problèmes.
    Source : Annonce de jQuery v4.0 Beta

    Et vous ?

    Quel est votre avis sur cette mise à jour ?

    Voir aussi :

    L'impact de la suppression de jQuery sur les performances Web : l'expérience de GOV.UK, site Web d'information du secteur public du Royaume-Uni

    jQuery 3.6.0 est disponible, mais la bibliothèque JavaScript est-elle encore beaucoup utilisée en 2021 ?

    État de JavaScript 2022 : React reste le framework front-end dominant mais est en perte de vitesse côté satisfaction, JQuery est la troisième bibliothèque la plus utilisée
    Publication de communiqués de presse en informatique. Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2014
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 208
    Points : 727
    Points
    727
    Par défaut
    Même IE 11, quel intérêt de le supporter encore alors qu'il est abandonné depuis 3 ans ?

    Ces fonctions ont toujours été destinées à être internes ou ont maintenant des équivalents natifs dans tous les navigateurs supportés
    Oui c'est le cas de presque tout ce que fait jQuery, donc quel intérêt de supprimer certaines API et pas tout ?

  3. #3
    Membre régulier
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 32
    Points : 93
    Points
    93
    Par défaut
    Je trouve que c'est une bonne idée de conserver et de développer jquery. Cela permet d'entretenir un patrimoine logiciel, jquery étant un pionnier sur les technologies web. Et de plus on conserve un état de l'art en le maintenant.

  4. #4
    Membre émérite
    Profil pro
    retraité
    Inscrit en
    Décembre 2010
    Messages
    806
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2010
    Messages : 806
    Points : 2 307
    Points
    2 307
    Par défaut
    Je ne suis pas expert web, mais il me semblait que javascript+html5+cc contenait tous les éléments de jquery avec un code aussi court, mais en plus rapide car directement dans le langage.

  5. #5
    Membre régulier Avatar de dragonofmercy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2019
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2019
    Messages : 27
    Points : 119
    Points
    119
    Par défaut
    Citation Envoyé par archqt Voir le message
    Je ne suis pas expert web, mais il me semblait que javascript+html5+cc contenait tous les éléments de jquery avec un code aussi court, mais en plus rapide car directement dans le langage.
    En théorie, cela peut sembler vrai, mais dans la pratique, ce n'est pas toujours le cas. Par exemple, prenons le cas de Bootstrap, qui a abandonné jQuery pour le natif. Le résultat est que leur bibliothèque JavaScript est désormais deux fois plus volumineuse que l'ancienne qui contenait à la fois leur propre code et jQuery.

    De plus, il est important de noter qu'il existe encore de nombreuses bibliothèques qui utilisent jQuery. Par conséquent, tôt ou tard, vous devrez probablement l'ajouter à votre site si vous utilisez ces bibliothèques.

    En ce qui concerne les performances, dans la plupart des cas (environ 98%), les différences ne sont pas perceptibles. Cependant, il est probable que vous remarquerez des différences dans les applications qui utilisent de très grandes bibliothèques JavaScript.

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 25
    Points : 53
    Points
    53
    Par défaut
    Je suis content que jquery soit mis à jour. Je ne vois pas encore comment je pourrais m'en passer dans mes projets web futurs.

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/02/2022, 10h01
  2. Réponses: 20
    Dernier message: 30/09/2016, 20h10
  3. Réponses: 5
    Dernier message: 05/12/2012, 09h15
  4. Réponses: 3
    Dernier message: 09/04/2011, 12h00
  5. mais comment fait-on un copier coller sur cette version ?
    Par psychoBob dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 11
    Dernier message: 27/04/2006, 23h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo