Release Electron 5.0.0, Plattform zur Erstellung von Anwendungen auf Basis der Chromium-Engine

Vorbereitet Plattformveröffentlichung Electron 5.0.0, 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 Chromium 73, Plattform Node.js 12 und die JavaScript-Engine V8 7.3. Zuvor erwartete Einstellung der Unterstützung für 32-Bit-Linux-Systeme wurde vorerst verschoben und die Veröffentlichung
5.0, einschließlich verfügbar in 32-Bit-Builds.

Unter Änderungen 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 Promisefortgesetzt. 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 Mittel 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 Atom, den E-Mail-Client Nylas, die Werkzeuge zur Arbeit mit Git GitKraken, das System zur Analyse und Visualisierung von SQL-Abfragen Wagon, das Blogging-System WordPress Desktop, den BitTorrent-Client WebTorrent Desktop, 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 etwa 850 Anwendungen enthalten. Zur Vereinfachung der Entwicklung neuer Anwendungen wurde ein Set von typischen 760 Anwendungen. Um die Entwicklung neuer Anwendungen zu erleichtern, wurde ein Satz von Mustervorlagen vorbereitet. , das Beispiele für verschiedene Aufgaben enthält, vorbereitet., die Beispiele für verschiedene Aufgaben enthalten.

Quelle: opennet.ru

60GB SSD 8Gb DDR4