La version 27.0.0 de la plateforme Electron a été publiée, offrant un cadre autonome pour le développement d'applications utilisateur multiplateformes, basé sur les composants de Chromium, V8 et Node.js. Le changement majeur de version est lié à la mise à jour vers la base de code Chromium 118, la plateforme Node.js 18.17.1 et le moteur JavaScript V8 11.8.
Parmi les changements de la nouvelle version :
- Le mode WaylandWindowDecorations est maintenant activé par défaut, permettant de redimensionner et de déplacer correctement les fenêtres dans les environnements Wayland basés sur GNOME et Weston, où le protocole XDG Decoration n'est pas pris en charge (—ozone-platform=wayland). Dans les environnements prenant en charge XDG Decoration, tels que KDE et Sway, le mode WaylandWindowDecorations est ignoré.
- Ajout d'une API pour tenir compte des paramètres système gérant le niveau de transparence de l'arrière-plan dans les applications.
- Ajout du support de l'API chrome.scripting, permettant d'injecter son propre JavaScript et CSS dans les pages.
- Ajout des méthodes safeStorage.setUsePlainTextEncryption et safeStorage.getSelectedStorageBackend.
- Ajout de l'API BrowserWindow.showAllTabs. La propriété tabbingIdentifier a été ajoutée à l'objet BrowserWindow. L'API chrome.tabs.query a été partiellement implémentée.
- Ajout de la possibilité d'envoyer des en-têtes HTTP spécifiques dans les méthodes session.downloadURL() et webContents.downloadURL().
- Ajout du drapeau « —dns-result-order ».
- Sur Linux, la détection des paramètres de thème sombre a été réalisée via le portail « xdg settings ».
- L'API ipcRenderer.sendTo() est maintenant obsolète et doit être remplacée par MessageChannel pour interagir entre deux rendus.
- La méthode webContents.getPrinters a été supprimée ; il faut désormais utiliser webContents.getPrintersAsync.
- Les méthodes systemPreferences.{get,set}AppLevelAppearance et systemPreferences.appLevelAppearance ont été supprimées, remplacées par le module nativeTheme.
- Le support de la valeur alternate-selected-control-text a été supprimé dans la méthode systemPreferences.getColor, il faut utiliser selected-content-background à la place.
- Les événements de changement des thèmes de couleurs ont été supprimés dans systemPreferences (les événements inverted-color-scheme-changed et high-contrast-color-scheme-changed doivent être remplacés par l'événement updated du module nativeTheme).
- Le support de macOS 10.13 (High Sierra) et macOS 10.14 (Mojave) a été arrêté.
- Le cycle de maintenance d'Electron 22.x est terminé, laissant place à la dernière branche prenant en charge Windows 7/8/8.1.
La plateforme Electron permet de créer n'importe quelles applications graphiques en utilisant des technologies web, dont la logique est définie en JavaScript, HTML et CSS, et dont la fonctionnalité peut être étendue par un système de plugins. Les développeurs ont accès à des modules Node.js ainsi qu'à une API étendue pour la création de dialogues natifs, l'intégration d'applications, la création de contextes menus, l'intégration avec le système de notifications, la manipulation de fenêtres et l'interaction avec les sous-systèmes de Chromium.
Contrairement aux applications web, les programmes basés sur Electron sont livrés sous forme de fichiers exécutables autonomes, indépendants du navigateur. Le développeur n'a pas à se soucier du portage de l'application sur différentes plateformes, Electron permet de compiler pour tous les systèmes pris en charge par Chromium. Electron fournit également des outils pour organiser la livraison et l'installation automatiques des mises à jour (les mises à jour peuvent être livrées à la fois à partir d'un serveur distinct de serveurs, ou directement depuis GitHub).
Parmi les applications basées sur la plateforme Electron, on peut citer l'éditeur Atom, le client de messagerie Mailspring, l'outil pour travailler avec Git GitKraken, le système de gestion de blogs WordPress Desktop, le client BitTorrent WebTorrent Desktop, ainsi que les clients officiels pour des services tels que Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code et Discord. Au total, le catalogue des applications Electron compte 744 programmes. Pour faciliter le développement de nouvelles applications, un ensemble d'applications démonstratives types a été préparé, comprenant des exemples de code pour résoudre diverses tâches.
Source : opennet.ru
