Die Version 12.0.0 der Electron-Plattform wurde veröffentlicht, die ein eigenständiges Framework für die Entwicklung plattformübergreifender Desktop-Anwendungen bereitstellt, basierend auf den Komponenten von Chromium, V8 und Node.js. Die signifikante Versionsänderung ist mit dem Update auf die Chromium 89-Basis, die Node.js-Plattform 14.16 und den JavaScript-Engine V8 8.9 verbunden.
In der neuen Version:
- Der Übergang auf den neuen LTS-Zweig der Node.js-Plattform 14 wurde vollzogen (zuvor wurde der Zweig 12.x verwendet).
- Ein neuer API `webFrameMain` wurde hinzugefügt, um vom Hauptprozess aus auf Informationen über RenderFrame zuzugreifen, die in separaten Instanzen von WebContents ausgeführt werden. Die `webFrameMain` API ist äquivalent zur `webFrame` API, kann jedoch aus dem Hauptprozess verwendet werden.
- In der API `BrowserWindow` wurden die Methoden `BrowserWindow.isTabletMode()` und `win.setTopBrowserView()` sowie der Parameter `webPreferences.preferredSizeMode` und die Ereignisse `system-context-menu`, `resized` (Windows/macOS) und `moved` (Windows) hinzugefügt.
- Standardmäßig sind die Einstellungen `contextIsolation` und `worldSafeExecuteJavaScript` aktiviert, die zusätzliche Isolierung und Schutzmechanismen beim Ausführen von JavaScript bereitstellen.
- Die Einstellung `crashReporter.start({ compress })` ist standardmäßig aktiviert. Die veraltete `crashReporter` API wurde entfernt.
- Der Zugang zu objektlosen APIs wird über die Methode `exposeInMainWorld` in `contextBridge` ermöglicht.
- In der API zur Erweiterungsentwicklung wurden spezifische Elemente der API `chrome.management` hinzugefügt.
- Das veraltete Modul `remote` wurde durch `@electron/remote` ersetzt.
Wir erinnern daran, dass Electron die Erstellung beliebiger grafischer Anwendungen mit Webtechnologien ermöglicht, deren Logik in JavaScript, HTML und CSS definiert ist und deren Funktionalität durch ein Erweiterungssystem erweitert werden kann. Den Entwicklern stehen Node.js-Module sowie eine erweiterte API zur Verfügung, um native Dialoge zu erstellen, Anwendungen zu integrieren, kontextbezogene Menüs zu erstellen, die Benachrichtigungs-Subsysteme zu integrieren, Fenster zu manipulieren und mit den Chromium-Subsystemen 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 Programmen, die auf der Electron-Plattform basieren, gehören der Editor Atom, die E-Mail-Clients Nylas und Mailspring, das Git-Tool GitKraken, die Blogging-Plattform WordPress Desktop, der BitTorrent-Client WebTorrent Desktop sowie offizielle Clients für Dienste wie Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code und Discord. Insgesamt sind im Katalog der Electron-Anwendungen 1016 Programme vorhanden. Um die Entwicklung neuer Anwendungen zu erleichtern, wurde ein Set von Standard-Demonstrationsanwendungen vorbereitet, das Codebeispiele für verschiedene Aufgaben enthält.
Quelle: opennet.ru
