A Gnome 45 no es podran utilitzar complements antics per temes de compatibilitat

Gnome

El GNOME és un entorn d'escriptori i infraestructura de desenvolupament per a sistemes operatius GNU/Linux

Fa alguns dies es va donar a conèixer informació sobre un canvi que pot no ser del gust de tots els usuaris del Gnome i és que en la nova versió del GNOME 45 s'han fet alguns canvis que afecten els complements de l'entorn.

En específic s'esmenta que s'ha canviat l'organització de la càrrega de mòduls en complements per al GNOME Shell, cosa que provocarà una violació de la compatibilitat amb versions anteriors i requerirà canvis en els complements.

S'esmenta que:

JavaScript es va originar als navegadors web per afegir una mica d'interactivitat a pàgines que altrament serien estàtiques. No calia dividir petits fragments de codi en diversos fitxers, per la qual cosa el llenguatge no proporcionava un mecanisme per fer-ho.

Això es va convertir en un problema quan la gent va començar a escriure programes més grans en JavaScript, de manera que entorns com node.js i GJS van afegir els seus propis sistemes dimportació per organitzar el codi en múltiples arxius. Com a conseqüència, els desenvolupadors i les eines van tenir dificultats per fer la transició d'un entorn a un altre.

Com a tal, el problema que tindran els complements desenvolupats per a versions anteriors del GNOME i que no es podran executar en la propera versió del GNOME 45, és a causa d'una ruptura de compatibilitat que canvia del vostre propi sistema d'importació de mòduls, específic del temps d'execució de JavaScript GJS (GNOME JavaScript basat en el motor SpiderMonkey del projecte Mozilla), al mecanisme d'importació de mòduls JavaScript estàndard (ESM) descrit a ECMAScript.

Les importacions heretades encara són compatibles amb extensions.gnome.org, però haureu de carregar un suport previ i posterior al GNOME 45 per admetre tant LTS com distribucions regulars.

A més, s'esmenta que les diferències es redueixen al fet que anteriorment, a més de GNOME Shell, s'usava l'objecte «imports» per connectar mòduls JavaScript i enllaços GObject, però ara s'ha d'utilitzar l'operador imports.

D'altra banda, també s'esmenta que els complements adaptats per executar-se al GNOME 45 no es podran instal·lar en versions anteriors del GNOME i que per mantenir la compatibilitat amb diferents versions del GNOME, els desenvolupadors de complements han de carregar dues variants de complements a extensions.gnome .org : una per a GNOME 45 i versions posteriors, i una altra per a versions anteriors de GNOME.

Bé, hi ha un petit inconvenient: els mòduls i les importacions heretades són incompatibles a la pràctica.

Els mòduls es carreguen de manera diferent als scripts i algunes declaracions, concretament importy export, només són vàlides als mòduls. Això vol dir que intentar importar un mòdul amb el sistema heretat resultarà en un error de sintaxi si el mòdul utilitza una d'aquestes declaracions (gairebé tan probable com que un Papa sigui catòlic).

Els mòduls també amaguen qualsevol cosa a l'exterior que no s'exporti explícitament. Aleshores, si bé és tècnicament possible importar un script com a mòdul, és tan útil com importar un fitxer buit.

Finalment s'esmenta els desenvolupadors que per funcionar al GNOME 45 i versions més recents, les extensions han de canviar el codi associat amb la càrrega de biblioteques, assegureu-vos que el fitxer extension.js contingui mètodes enable()/disable() a la classe predeterminada i, quan utilitzeu prefs.js, definiu ExtensionPreferences. subclasse amb un mètode fillPreferencesWindow.

La versió modificada del complement s'ha de vincular a les noves versions del GNOME Shell mitjançant el paràmetre 'shell-version': [ 45 ]' a metadata.json. Per al GNOME anterior a la versió 45, podeu crear versions separades de complements, assegurant-vos també que es vinculin a versions anteriors a través del paràmetre shell-version a metadata.json. Podeu provar les addicions modificades utilitzant compilacions del sistema operatiu GNOME.

De la mateixa manera es comparteix una guia de portabilitat, la qual es pot consultar des del següent enllaç. Finalment i no menys important, cal esmentar que el llançament de la nova versió de Gnome 45 està previst per al 20 de setembre (ja per demà).

si estàs interessat a poder conèixer més sobre això, pots consultar els detalls al següent enllaç.