Die Version 38.0.0 der Electron-Plattform wurde veröffentlicht, die ein eigenständiges Framework für die Entwicklung plattformübergreifender Benutzeranwendungen bereitstellt und dabei auf die Komponenten von Chromium, V8 und Node.js basiert.
Zu den Änderungen in der neuen Version gehören:
- Die Versionen der Browser-Engine Chromium 140, der Plattform Node.js 22.18.0 und der JavaScript-Engine V8 14.0 wurden aktualisiert (in der vorherigen Version wurden Chromium 138, Node.js 22.16.0 und V8 13.8 verwendet).
- Es wurde die Möglichkeit hinzugefügt, Akzentfarben zu ändern, die zur Hervorhebung aktiver Elemente verwendet werden, sowie die Farbe des Rahmens des aktiven Fensters.
- Es wurden die Aufrufe tray.{get|set}AutosaveName hinzugefügt, um die Positionen von Symbolen im Systemtray nach einem Neustart zu speichern (für macOS).
- Eine Methode webFrameMain.fromFrameToken(processId, frameToken) wurde hinzugefügt, um eine Instanz von WebFrameMain bereitzustellen, indem der zugehörige Token angegeben wird.
- Für die Plattformen Windows und macOS wurde die Unterstützung der Methode app.getRecentDocuments() hinzugefügt.
- Zur Bestimmung von Ressourcen über app.getPath wurde der Pfad aus der Umgebungsvariable DIR_ASSETS anstelle von DIR_MODULE/DIR_EXE verwendet.
- Ein Ereignis „before-mouse-event“ wurde hinzugefügt, um Mausereignisse im WebContents-Klasse abzufangen und deren Verarbeitung zu verhindern.
- Den Methoden window.open() wurden die Optionen „innerWidth“ und „innerHeight“ hinzugefügt.
- Der Methode net.request() wurden die Optionen „priority“ und „priorityIncremental“ hinzugefügt.
- Die Flags „—no-experimental-global-navigator“ und „—experimental-network-inspection“ wurden hinzugefügt.
- Die Unterstützung für die Plattform macOS 11 sowie die Ereignisse plugin-crashed und die Umgebungsvariable ELECTRON_OZONE_PLATFORM_HINT wurden entfernt (standardmäßig ist der Modus zur automatischen Plattformerkennung aktiviert, für die Nutzung von Wayland muss die Umgebungsvariable „XDG_SESSION_TYPE=wayland“ gesetzt werden).
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 auf der Electron-Plattform basierenden Programmen gehören die Editoren Atom und Visual Studio Code, der E-Mail-Client Mailspring, das Git-Tool GitKraken, das Blog-Management-System WordPress Desktop, der BitTorrent-Client WebTorrent Desktop sowie die offiziellen Clients für Dienste wie Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike und Discord. Insgesamt sind 612 Anwendungen im Electron-Katalog enthalten. Zur Vereinfachung der Entwicklung neuer Anwendungen wurde ein Set von Musterdemonstrationsanwendungen erstellt, das Beispielcodes für verschiedene Aufgaben enthält.
Quelle: opennet.ru
