• Catégories
    • Toutes les catégories
    • Planète Warez
      Présentations
      Aide & Commentaires
      Réglement & Annonces
      Tutoriels
    • IPTV
      Généraliste
      Box
      Applications
      VPN
    • Torrent & P2P
    • Direct Download et Streaming
    • Autour du Warez
    • High-tech : Support IT
      Windows, Linux, MacOS & autres OS
      Matériel & Hardware
      Logiciel & Software
      Smartphones & Tablettes
      Graphismes
      Codage : Sites Web, PHP/HTML/CSS, pages perso, prog.
      Tutoriels informatiques
    • Culture
      Actualités High-Tech
      Cinéma & Séries
      Sciences
      Musique
      Jeux Vidéo
    • Humour & Insolite
    • Discussions générales
    • Espace détente
    • Les cas désespérés
  • Récent
  • Populaire
  • Résolu
  • Non résolu
Réduire

Planète Warez

,
  • Politique
  • Règlement
  • À propos
  • Annonces
  • Faire un don
  • Feedback
  • Team
  • Tutoriels
  • Bug Report
  • Wiki
    • Light
    • Default
    • Ubuntu
    • Lightsaber
    • R2d2
    • Padawan
    • Dim
    • FlatDark
    • Invaders
    • Metallic
    • Millennium
    • Leia
    • Dark
    • DeathStar
    • Starfighter
    • X-Wing
    • Sith Order
    • Galactic
ko-fi

La prochaine version de GNOME 45 rompra la compatibilité ascendante des extensions

Planifier Épinglé Verrouillé Déplacé Windows, Linux, MacOS & autres OS
linuxgnomedesktop
1 Messages 1 Publieurs 65 Vues
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
Répondre
  • Répondre à l'aide d'un nouveau sujet
Se connecter pour répondre
Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
  • Raccoonundefined En ligne
    Raccoonundefined En ligne
    Raccoon Admin Seeder I.T Guy Windowsien Apple User Gamer GNU-Linux User Team
    a écrit sur dernière édition par
    #1

    En raison du passage de GNOME Shell aux modules JavaScript standard (ESM)

    À l’heure actuelle, ce n’est probablement plus une nouvelle pour beaucoup : GNOME Shell est passé du système d’importation personnalisé de GJS aux modules JavaScript standard (ESM).

    IMPORTS ? ESM ?

    JavaScript est apparu dans les navigateurs web pour ajouter un peu d’interactivité à des pages par ailleurs statiques. Il n’était pas nécessaire de diviser de petits extraits de code en plusieurs fichiers, et le langage ne prévoyait donc pas de mécanisme pour cela.

    Le problème s’est posé lorsque les gens ont commencé à écrire des programmes plus importants en JavaScript, et des environnements tels que node.js et GJS ont ajouté leurs propres systèmes d’importation pour organiser le code en plusieurs fichiers. En conséquence, les développeurs et les outils ont eu du mal à passer d’un environnement à l’autre.

    Les choses ont changé en 2015 lorsque ECMAScript 6 a normalisé les modules, ce qui a donné lieu à une syntaxe bien définie et largement supportée par tous les principaux moteurs JavaScript. GJS supporte ESModules depuis 2021, mais le portage de GNOME Shell était une tâche bien plus importante qui devait être réalisée en une seule fois.

    ALORS ? POURQUOI DEVRAIS-JE M’EN SOUCIER ?

    Eh bien, il y a un tout petit inconvénient : Les modules et les importations héritées sont incompatibles en pratique.

    Les modules sont chargés différemment des scripts, et certaines instructions - à savoir import et export - ne sont valables que dans les modules. Cela signifie qu’essayer d’importer un module avec le système existant entraînera une erreur de syntaxe si le module utilise l’une de ces instructions (ce qui est aussi probable qu’un pape soit catholique).

    Les modules cachent également à l’extérieur tout ce qui n’est pas explicitement exporté. Ainsi, bien qu’il soit techniquement possible d’importer un script en tant que module, cela est aussi utile que d’importer un fichier vide.

    QU’EST-CE QUE CELA SIGNIFIE POUR LES EXTENSIONS ?

    Les extensions qui ciblent les anciennes versions de GNOME ne fonctionneront pas dans GNOME 45. De même, les extensions adaptées à GNOME 45 ne fonctionneront pas dans les anciennes versions.

    Vous pouvez toujours prendre en charge plus d’une version de GNOME, mais vous devrez télécharger différentes versions sur extensions.gnome.org pour la prise en charge avant et après 45.

    Il existe un guide de portage contenant des informations détaillées. Les deux changements les plus importants (qui seront suffisants pour de nombreuses extensions !) sont les suivants :

    1. Utiliser la syntaxe standard pour importer des modules depuis gnome-shell :

    123import * as Main from 'resource:///org/gnome/shell/ui/main.js';
     
    Main.notify('Loaded!');
    

    2. Exporter une classe par défaut avec les méthodes enable() et disable() de votre extension.js.
    Vous pouvez étendre la nouvelle classe Extension qui remplace l’API de commodité de l’ancien module ExtensionUtils.

    1234567891011import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
     
    export default class MyTestExtension extends Extension {
        enable() {
            console.log(_('%s is now enabled').format(this.uuid));
        }
     
        disable() {
            console.log(_('%s is now disabled.').format(this.uuid));
        }
    }
    

    Enfin, vous pouvez toujours trouver des personnes sympathiques sur Matrix et Discourse qui seront heureuses de vous aider à résoudre vos problèmes de portage.

    RÉSUMÉ

    • Passer du système d’importation personnalisé de GJS au standard de l’industrie ECMAScript 6 entraînera la rupture de toutes les extensions. Cependant, ce changement signifie de suivre les standards appropriés et non pas les standards maison, ce qui permet une plus grande compatibilité avec l’écosystème JavaScript.
    • Les importations héritées sont toujours prises en charge sur extensions.gnome.org mais vous devrez télécharger un support pré et post GNOME 45 afin de prendre en charge à la fois les distributions LTS et régulières.

    Pour les développeurs d’extensions GNOME :
    Il existe une communauté active d’extensions qui peut vous aider à porter vos extensions vers le nouveau système d’importation de Matrix et Discourse qui peut vous aider à porter rapidement vos extensions vers la nouvelle version.

    Vous pouvez tester vos extensions en téléchargeant la dernière version de GNOME OS et en essayant votre extension.

    Source : GNOME, developpez.com

    Et vous ?

    Quel est votre avis sur le sujet ?

    1 réponse Dernière réponse
    1






©2025 planete-warez.net
L'actualité Warez & underground en continu
Icône café Faire un don
Politique   RGPD  @dev  Sudonix
    • Se connecter

    • Vous n'avez pas de compte ? S'inscrire

    • Connectez-vous ou inscrivez-vous pour faire une recherche.
    • Premier message
      Dernier message
    0
    • Catégories
      • Toutes les catégories
      • Planète Warez
        Présentations
        Aide & Commentaires
        Réglement & Annonces
        Tutoriels
      • IPTV
        Généraliste
        Box
        Applications
        VPN
      • Torrent & P2P
      • Direct Download et Streaming
      • Autour du Warez
      • High-tech : Support IT
        Windows, Linux, MacOS & autres OS
        Matériel & Hardware
        Logiciel & Software
        Smartphones & Tablettes
        Graphismes
        Codage : Sites Web, PHP/HTML/CSS, pages perso, prog.
        Tutoriels informatiques
      • Culture
        Actualités High-Tech
        Cinéma & Séries
        Sciences
        Musique
        Jeux Vidéo
      • Humour & Insolite
      • Discussions générales
      • Espace détente
      • Les cas désespérés
    • Récent
    • Populaire
    • Résolu
    • Non résolu