Die Version 28.0.0 der Electron-Plattform wurde veröffentlicht, die ein eigenständiges Framework zur Entwicklung plattformübergreifender Benutzeranwendungen bereitstellt, basierend auf den Komponenten von Chromium, V8 und Node.js. Die signifikante Versionsänderung steht im Zusammenhang mit dem Update auf die Chromium-Codebasis 120, die Node.js-Plattform 18.18.2 und die JavaScript-Engine V8 12.0.
Zu den Änderungen in der neuen Version gehören:
- Die Unterstützung für JavaScript-Module ESM (ECMAScript-Module), die gemäß der ECMAScript 6-Spezifikation erstellt wurden und in Browser-Webanwendungen verwendet werden, wurde hinzugefügt (zuvor unterstützte Electron nur Node.js-spezifische CommonJS-Module). ESM-Module können sowohl in Electron selbst als auch in Handlern basierend auf API UtilityProcess verwendet werden. Die Unterstützung für ESM-Module wurde auch in das Toolkit zum Erstellen und Veröffentlichen von Electron Forge-Anwendungen integriert.
- Auf der Linux-Plattform wurde die Verarbeitung der Umgebungsvariable ELECTRON_OZONE_PLATFORM_HINT implementiert, die die Aktivierung der Unterstützung für das Wayland-Protokoll in Electron-basierten Anwendungen vereinfacht (es ist keine Hinzufügung des Flags „—ozone-platform-hint“ in der .desktop-Datei erforderlich).
- Im Display-Objekt wurden die Eigenschaften detected, maximumCursorSize und nativeOrigin hinzugefügt.
- Die Standardkonfiguration von WebContents.backgroundThrottling wurde auf den Wert „false“ geändert, um die Bildwiederholfrequenz beim Anzeigen von Inhalten über das Objekt BrowserWindow nicht einzuschränken.
- 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 in JavaScript, HTML und CSS definiert ist. Die Funktionalität kann durch ein Plugin-System erweitert werden. Entwicklern stehen Node.js-Module sowie eine erweiterte API zur Verfügung, um native Dialoge zu erstellen, Anwendungen zu integrieren, Kontextmenüs zu erzeugen, mit dem Benachrichtigungssystem zu interagieren, Fenster zu manipulieren und mit den Chromium-Subsystemen zu kommunizieren.
Im Gegensatz zu Webanwendungen werden Programme auf Basis von Electron als eigenständige ausführbare Dateien bereitgestellt, die nicht an einen Browser gebunden sind. Dadurch braucht der Entwickler sich keine Gedanken über die Portierung der Anwendung auf verschiedene Plattformen zu machen, da Electron die Möglichkeit bietet, für alle im Chromium unterstützten Systeme zu bauen. Electron stellt auch Werkzeuge zur Verfügung, um automatische Bereitstellung und Installation von Updates zu organisieren (Updates können sowohl von einem separaten Server, als auch direkt von GitHub geliefert werden).
Zu den Programmen, die auf der Electron-Plattform basieren, gehören der Editor Atom, der E-Mail-Client Mailspring, das Git-Tool GitKraken, das Blogging-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. Insgesamt sind im Electron-Programmkatalog 756 Anwendungen vertreten. Um die Entwicklung neuer Anwendungen zu erleichtern, wurde ein Satz von Beispielanwendungen erstellt, die Codebeispiele zur Lösung verschiedener Aufgaben enthalten.
Quelle: opennet.ru
