Die Veröffentlichung der Plattform Electron 28.0.0 wurde bekannt gegeben, die ein eigenständiges Framework zur Entwicklung plattformübergreifender Benutzeranwendungen bietet, basierend auf den Komponenten von Chromium, V8 und Node.js. Die signifikante Versionsänderung hängt mit dem Update auf die Chromium-Codebasis 120, die Node.js-Version 18.18.2 und die JavaScript-Engine V8 12.0 zusammen.
Zu den Änderungen in der neuen Version gehören:
- Die Unterstützung für JavaScript-Module ESM (ECMAScript Modules), die gemäß der Spezifikation ECMAScript 6 erstellt wurden und in browserbasierten Webanwendungen verwendet werden, wurde hinzugefügt (zuvor unterstützte Electron nur die für Node.js spezifischen CommonJS-Module). ESM-Module können sowohl in Electron selbst als auch in API-basierten UtilityProcess-Handlern verwendet werden. Die Unterstützung für ESM-Module wurde auch in das Electron Forge-Build- und Veröffentlichungs-Toolkit integriert.
- Auf der Linux-Plattform wurde die Verarbeitung der Umgebungsvariable ELECTRON_OZONE_PLATFORM_HINT implementiert, die das Aktivieren der Unterstützung für das Wayland-Protokoll in Anwendungen auf Basis der Electron-Plattform erleichtert (das Hinzufügen des Flags „—ozone-platform-hint“ in die .desktop-Datei ist nicht erforderlich).
- Im Display-Objekt wurden die Eigenschaften detected, maximumCursorSize und nativeOrigin hinzugefügt.
- Die Standardkonfiguration von WebContents.backgroundThrottling wurde auf „false“ geändert, was die Regelung der Bildfrequenz beim Rendern von Inhalten mit dem BrowserWindow-Objekt deaktiviert.
- Die Methoden BrowserWindow.setTrafficLightPosition (verwenden Sie stattdessen BrowserWindow.setWindowButtonPosition), BrowserWindow.getTrafficLightPosition (verwenden Sie stattdessen BrowserWindow.getWindowButtonPosition), ipcRenderer.sendTo (verwenden Sie stattdessen MessageChannel) und app.runningUnderRosettaTranslation (verwenden Sie stattdessen app.runningUnderARM64Translation) wurden entfernt. Die Unterstützung für die Ereignisse scroll-touch-[begin|end|edge] wurde eingestellt.
Die Electron-Plattform ermöglicht die Erstellung beliebiger grafischer Anwendungen unter Verwendung von Webtechnologien, deren Logik mit JavaScript, HTML und CSS definiert wird und deren Funktionalität durch ein Plugin-System erweitert werden kann. Entwicklern stehen Node.js-Module sowie eine erweiterte API zur Verfügung, um native Dialoge zu erstellen, Anwendungen zu integrieren, Kontextmenüs zu erstellen, Benachrichtigungssysteme zu integrieren, Fenster zu manipulieren und mit den Subsystemen von Chromium zu interagieren.
Im Gegensatz zu Webanwendungen werden Electron-basierte Programme als eigenständige Executables ausgeliefert, die nicht an einen Browser gebunden sind. Dabei muss sich der Entwickler nicht um die Portierung der Anwendung auf verschiedene Plattformen kümmern, Electron gewährleistet die Möglichkeit, für alle Systeme, die von Chromium unterstützt werden, zu bauen. Electron bietet außerdem Mittel zur automatischen Lieferung und Installation von Updates (Updates können sowohl von einem separaten Server, als auch direkt von GitHub geliefert werden).
Von den Programmen, die auf der Electron-Plattform basieren, sind der Editor Atom, der E-Mail-Client Mailspring, das Git-Tool GitKraken, das Blog-System WordPress Desktop, der BitTorrent-Client WebTorrent Desktop sowie die offiziellen Clients für Dienste wie Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code und Discord zu nennen. Insgesamt sind im Katalog von Electron 756 Anwendungen vertreten. Zur Vereinfachung der Entwicklung neuer Anwendungen wurde ein Set von typischen Demoprogrammen vorbereitet, das Codebeispiele für verschiedene Aufgaben enthält.
Quelle: opennet.ru
