Plattformversion , die ein eigenständiges Framework für die Entwicklung plattformübergreifender Benutzeranwendungen bereitstellt und auf den Komponenten Chromium, V8 und Node.js basiert. Die bedeutende Versionsänderung ist auf das Update der Codebasis zurückzuführen , Plattform und der JavaScript-Engine V8 7.3. Zuvor die Einstellung der Unterstützung für 32-Bit-Linux-Systeme wurde vorerst verschoben und die Version
5.0 wird auch in 32-Bit-Bauten verfügbar sein.
Unter im API, spezifisch für Electron:
- Im API wurde der Übergang von asynchronen Handlern, die zuvor Callback-Aufrufe verwendeten, zur Form auf Basis des Mechanismus fortgeführt. Unterstützung für 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 zur Abfrage von Systemfarben in
macOS wurde hinzugefügt, unter Verwendung der Aufrufe systemPreferences.getAccentColor,
systemPreferences.getColor und systemPreferences.getSystemColor; - Die Funktion process.getProcessMemoryInfo wurde hinzugefügt, die Statistiken zum Speicherverbrauch des aktuellen Prozesses bereitstellt;
- Im Modul „remote“, das den IPC-Mechanismus zur Interaktion zwischen dem Rendering-Prozess der aktuellen Seite und dem Hauptprozess darstellt, wurden zusätzliche Filtermöglichkeiten für externe Anfragen hinzugefügt, um vollständige Kontrolle über den Zugriff auf IPC zu erhalten. Unterstützung für Filter wurde für die Aufrufe remote.getBuiltin, remote.getCurrentWindow, remote.getCurrentWebContents und webview.getWebContents hinzugefügt.
- Es wurde die Möglichkeit eingeführt, mehrere Instanzen von BrowserViews aus einem einzigen Objekt BrowserWindow zu steuern.
- In paketierten Anwendungen wird standardmäßig ein Anwendungsmenü hinzugefügt, selbst wenn die Anwendung dieses Menü nicht ausdrücklich definiert und keinen Ereignis-Handler zum Schließen des Fensters hinzufügt.
- Der gemischte Sandbox-Isolationsmodus ist standardmäßig aktiviert, bei dem auch der Rendering-Prozess in der Sandbox läuft.
- Eine Umgebungsvariable „ELECTRON_DISABLE_SANDBOX“ wurde hinzugefügt, um die Sandbox-Isolation zu deaktivieren, z. B. wenn die Anwendung bereits in einem Docker-Container ausgeführt wird.
- Um die Sicherheit zu erhöhen, sind die Einstellungen nodeIntegration und webviewTag standardmäßig deaktiviert.
- Die API zur Rechtschreibprüfung (Spellchecker) wurde in den nicht blockierenden Betriebsmodus versetzt, in dem das Prüfergebnis asynchron zurückgegeben wird;
- Folgende Funktionen sind als veraltet markiert und werden in der nächsten Version entfernt:
Die ausführbaren Dateien mksnapshot für arm und arm64, ServiceWorker in WebContents, Aufrufe von webFrame.setIsolated*, die Möglichkeit des direkten Aufrufs von Modulen electron.screen,
child_process,
fs,
os und path (müssen jetzt über remote.require mit einem Handler im isolierten WebContents aufgerufen werden).
Wir erinnern daran, dass Electron es ermöglicht, beliebige grafische Anwendungen mit Browsing-Technologien zu erstellen, deren Logik in JavaScript, HTML und CSS definiert wird, während die 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 anzusprechen, Fenster zu manipulieren und mit Chromium-Subsystemen zu interagieren.
Im Gegensatz zu Webanwendungen werden Electron-basierte Programme als eigenständige ausführbare Dateien bereitgestellt, die nicht an einen Browser gebunden sind. Der Entwickler muss sich somit nicht um die Portierung der Anwendung für verschiedene Plattformen kümmern; Electron ermöglicht die Erstellung für alle von Chromium unterstützten Systeme. Electron bietet außerdem zur automatischen Bereitstellung und Installation von Updates (Updates können entweder von einem separaten Server oder direkt von GitHub bereitgestellt werden).
Unter den Programmen, die auf der Electron-Plattform basieren, sind hervorzuheben: der Editor , ein E-Mail-Client , ein Toolkit für die Arbeit mit Git , ein System zur Analyse und Visualisierung von SQL-Abfragen , das Blogsystem WordPress Desktop, der BitTorrent-Client , sowie die offiziellen Clients für Dienste wie Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code und Discord. Insgesamt enthält das Katalog von Electron 760 Anwendungen. Zur Vereinfachung der Entwicklung neuer Anwendungen wurde eine Sammlung typischer , die Beispielcode zur Lösung verschiedener Aufgaben enthalten, vorbereitet.
Quelle: opennet.ru
