La version 40.0.0 de la plateforme Electron a été lancée, offrant un cadre autonome pour le développement d'applications utilisateur multiplateformes, basé sur les composants Chromium, V8 et Node.js.
Parmi les changements de la nouvelle version :
- Les versions du moteur de navigateur Chromium 144, de la plateforme Node.js 24.11.1 et du moteur JavaScript V8 14.4 ont été mises à jour (les versions précédentes utilisaient Chromium 142, Node.js 22.20.0 et V8 14.2).
- Ajout de la prise en charge de l'indicateur de terminaison de processus enfant « memory-eviction », utilisé lors de la fin d'un processus pour éviter l'épuisement de la mémoire libre dans le système (OOM, out-of-memory).
- En mode de rendu hors écran (Offscreen Rendering), la prise en charge de la sortie au format RGBAF16 avec l'espace colorimétrique scRGB HDR a été ajoutée.
- Ajout de la méthode app.isHardwareAccelerationEnabled() pour vérifier si l'accélération matérielle est activée.
- Dans l'API net.request, une option bypassCustomProtocolHandlers a été ajoutée pour ignorer l'appel à des gestionnaires de protocole supplémentaires.
- Ajout de méthodes pour activer sélectivement les fonctionnalités d'accessibilité.
- Ajout de la possibilité d'importer des textures externes sous la forme d'un objet VideoFrame représentant une image vidéo.
- Sur la plateforme Linux, il est désormais possible d'utiliser la propriété systemPreferences.getAccentColor pour obtenir des informations sur les couleurs d'accent système appliquées aux éléments actifs ainsi que la couleur de la bordure de la fenêtre active.
- Ajout de la prise en charge de l'accès à l'API File System, limité à la session en cours.
- Ajout de la prise en charge du chargement dynamique des modules ESM dans les scripts préchargés (preload) pour lesquels l'isolation de contexte (contextIsolation = false) est désactivée.
- La possibilité d'accéder à l'API Clipboard depuis des processus de rendu a été déclarée obsolète.
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).
Les programmes construits sur la plateforme Electron incluent des éditeurs comme Atom et Visual Studio Code, le client mail Mailspring, l'outil de gestion Git GitKraken, le système de blogging WordPress Desktop, le client BitTorrent WebTorrent Desktop, ainsi que les clients officiels pour des services tels que Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike et Discord. Au total, le catalogue des programmes Electron compte 612 applications. Pour faciliter le développement de nouvelles applications, un ensemble d'applications de démonstration standard a été préparé, incluant des exemples de code pour résoudre diverses tâches.
Source : opennet.ru
