Die Version 40.0.0 der Electron-Plattform wurde veröffentlicht, die ein eigenständiges Framework für die Entwicklung plattformübergreifender Anwendungen bereitstellt und auf den Komponenten von Chromium, V8 und Node.js basiert.
Zu den Änderungen in der neuen Version gehören:
- Die Versionen des Browser-Engines Chromium 144, der Plattform Node.js 24.11.1 und des JavaScript-Engines V8 14.4 wurden aktualisiert (in der vorherigen Version wurden Chromium 142, Node.js 22.20.0 und V8 14.2 verwendet).
- Unterstützung für das Flag für die Beendigung von Kindprozessen "memory-eviction" wurde hinzugefügt, das beim Beenden des Prozesses verwendet wird, um zu verhindern, dass der verfügbare Speicher im System erschöpft wird (OOM, out-of-memory).
- Im Offscreen Rendering-Modus wurde die Unterstützung für die Ausgabe im RGBAF16-Format mit dem Farbraum scRGB HDR eingeführt.
- Die Methode app.isHardwareAccelerationEnabled() wurde hinzugefügt, um die Aktivierung der Hardwarebeschleunigung zu überprüfen.
- Im API net.request wurde die Option bypassCustomProtocolHandlers hinzugefügt, um den Aufruf zusätzlicher Protokollhandler zu ignorieren.
- Methoden zur selektiven Aktivierung von Barrierefreiheitsfunktionen wurden hinzugefügt.
- Die Möglichkeit zum Import externer Texturen als VideoFrame-Objekt, das einen Videorahmen darstellt, wurde hinzugefügt.
- Auf der Linux-Plattform ist es möglich, die Eigenschaft systemPreferences.getAccentColor zu verwenden, um Informationen über die systemweiten Akzentfarben zu erhalten, die zur Hervorhebung aktiver Elemente sowie zur Rahmenfarbe des aktiven Fensters verwendet werden.
- Die Unterstützung für den Zugriff auf das API File System, der auf die aktuelle Sitzung beschränkt ist, wurde hinzugefügt.
- Die Unterstützung für das dynamische Laden von ESM-Modulen in vorab geladenen Skripten (preload) wurde hinzugefügt, bei denen die Kontextisolierung deaktiviert ist (contextIsolation = false).
- Der Zugriff auf das Clipboard-API aus Rendering-Prozessen wurde als veraltet erklärt.
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).
Zu den Anwendungen, die auf der Electron-Plattform basieren, gehören die Editoren Atom und Visual Studio Code, der E-Mail-Client Mailspring, das Git-Tool GitKraken, das Blogging-System WordPress Desktop, der BitTorrent-Client WebTorrent Desktop sowie offizielle Clients für Dienste wie Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike und Discord. Insgesamt sind 612 Anwendungen im Electron-Katalog vertreten. Um die Entwicklung neuer Anwendungen zu erleichtern, wurde ein Satz von Standard-Demonstrationsanwendungen erstellt, die Beispielcode zur Lösung verschiedener Aufgaben enthalten.
Quelle: opennet.ru
