Plattformveröffentlichung , die ein autarkes Framework für die Entwicklung plattformübergreifender Benutzeranwendungen bietet und auf den Komponenten von Chromium, V8 und Node.js basiert. Die signifikante Änderung der Versionsnummer ist mit dem Update auf den Code-Basis verbunden , Plattform und die JavaScript-Engine V8 7.3. Zuvor Einstellung der Unterstützung für 32-Bit-Linux-Systeme wurde vorerst verschoben und die Veröffentlichung
5.0, einschließlich in 32-Bit-Builds.
Unter in der API, die spezifisch für Electron ist:
- Im API wurde die Übersetzung asynchroner Handler, die zuvor Callback-Aufrufe verwendeten, in eine auf Mechanismus basierende Form fortgesetzt. Die Unterstützung von Promise wurde im Cookies API und in den Methoden app.getFileIcon, contentTracing.[getCategories| startRecording| stopRecording], debugger.sendCommand,
shell.openExternal, webContents.[loadFile| loadURL| zoomLevel| zoomFactor] und win.capturePage hinzugefügt; - Die Möglichkeit, Informationen über Systemfarben in
macOS zu erhalten, wurde durch die Aufrufe systemPreferences.getAccentColor,
systemPreferences.getColor und systemPreferences.getSystemColor hinzugefügt; - Die Funktion process.getProcessMemoryInfo wurde hinzugefügt, die Statistiken über den Speicherverbrauch des aktuellen Prozesses bereitstellt;
- Im Modul „remote“, das den IPC-Mechanismus für die Interaktion zwischen dem Rendering-Prozess der aktuellen Seite und dem Hauptprozess darstellt, wurden zusätzliche Möglichkeiten zur Filterung externer Anfragen hinzugefügt, um vollständige Kontrolle über den Zugriff auf IPC zu erhalten. Die Unterstützung von Filtern wurde für die Aufrufe remote.getBuiltin, remote.getCurrentWindow, remote.getCurrentWebContents und webview.getWebContents hinzugefügt;
- Es wurde die Möglichkeit hinzugefügt, mehrere Instanzen von BrowserViews aus einem einzigen Objekt BrowserWindow zu verwalten;
- In gepackten Anwendungen wird standardmäßig ein Anwendungsmenü hinzugefügt, selbst wenn die Anwendung dieses Menü nicht explizit definiert und keinen Ereignis-Handler für das Schließen des Fensters hinzufügt;
- Der gemischte Sandbox-Isolationsmodus, bei dem sowohl der Rendering-Prozess im Sandbox ausgeführt wird, ist standardmäßig aktiviert;
- Die Umgebungsvariable „ELECTRON_DISABLE_SANDBOX“ wurde hinzugefügt, um die Sandbox-Isolation zu deaktivieren, beispielsweise wenn die Anwendung ohnehin in einem Container auf Docker ausgeführt wird;
- Zur Erhöhung der Sicherheit sind standardmäßig die Einstellungen nodeIntegration und webviewTag deaktiviert;
- Die API zur Rechtschreibprüfung (Spellchecker) wurde in den nicht blockierenden Modus umgestellt, bei dem das Ergebnis der Überprüfung asynchron zurückgegeben wird;
- Wurden als veraltet erklärt und werden in der nächsten Version entfernt:
Ausführbare Dateien mksnapshot für arm und arm64, ServiceWorker in WebContents, Aufrufe webFrame.setIsolated*, die Möglichkeit, Module direkt aufzurufen electron.screen,
child_process,
fs,
os und path (müssen jetzt über remote.require mit einem Handler in isoliertem WebContents aufgerufen werden).
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 Unterschied zu Webanwendungen werden Programme auf Basis von Electron als autarke ausführbare Dateien bereitgestellt, die nicht an einen Browser gebunden sind. Dabei muss der Entwickler sich nicht um die Portierung der Anwendung auf verschiedene Plattformen kümmern; Electron bietet die Möglichkeit, für alle von Chromium unterstützten Systeme zu erstellen. Electron bietet auch zur Organisation der automatischen Lieferung und Installation von Updates (Updates können entweder von einem separaten Server oder direkt von GitHub geliefert werden).
Von Anwendungen, die auf der Electron-Plattform basieren, kann man den Editor , den E-Mail-Client , die Werkzeuge zur Arbeit mit Git , das System zur Analyse und Visualisierung von SQL-Abfragen , das Blogging-System WordPress Desktop, den BitTorrent-Client , und auch die offiziellen Clients für Dienste wie Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code und Discord. Insgesamt sind im Katalog von Electron 760 Anwendungen. Um die Entwicklung neuer Anwendungen zu erleichtern, wurde ein Satz von Mustervorlagen vorbereitet. , die Beispiele für verschiedene Aufgaben enthalten.
Quelle: opennet.ru
