Cross-Plattform mit JavaScript: Electron 6.0 setzt weiter auf Promises

Neben dem Sprung auf neue Versionen von Chromium, Node.js und V8 baut das Framework Electron den Support für Promises weiter aus.

In Pocket speichern vorlesen Druckansicht 58 Kommentare lesen
Cross-Plattform mit JavaScript: Electron 6.0 setzt weiter auf Promises
Lesezeit: 2 Min.
Von
  • Björn Bohn

Das von GitHub entwickelte JavaScript-Framework für Cross-Plattform-Anwendungen Electron ist in Version 6.0 erschienen. Neben den üblichen Updates auf neuere Versionen von Chromium, Node.js und V8, die die Kernkomponenten des Frameworks bilden, geht Electron den mit Version 5.0 eingeschlagenen Weg der Umstellung der Callback-basierten Funktionen auf die Ausgabe von Promises konsequent weiter.

Im Blogbeitrag zum Release sprechen die Electron-Entwickler von einem kleinen Meilenstein: Die neue Version des Frameworks ist zum ersten Mal gleichzeitig mit dem dazu passenden neuen Chrome-Release erschienen. Neben Chromium 76.0.3809.88 setzt Electron auf Version 12.4.0 der Laufzeitumgebung Node.js sowie auf die JavaScript-Engine V8 in Version 7.6.303.22

Das Electron-Team hat unter dem Stichwort der Promisfication-Initiative bereits im vorherigen Release einige Funktionen dahingehend konvertiert, dass sie jetzt Promises ausgeben. In Electron 6.0 folgen insgesamt 30 Funktionen, von denen der Großteil neben Promises aber auch die alten Aufrufe mit callback ermöglichen.

Neben den Neuerungen bringt Electron 6.0 auch einige Breaking Changes mit. So soll das Release den Grundstein dafür legen, dass zukünftig native Node-Module, die in den Renderer-Prozess geladen werden, entweder auf der N-API basieren oder Context Aware sind. Das soll für eine bessere Performance sorgen, der Umbau soll aber erst mit Electron 11.0 abgeschlossen sein.

Die Header von net.IncomingMessage haben sich ebenfalls ein wenig geändert, um sich besser an das Verhalten von Node.js anzugleichen. Betroffen ist wohl vor allem der Umgang mit duplizierten Headern. Darüber hinaus gibt shell.showItemInFolder() nun Void zurück und ist ein asynchroner Aufruf. Zusätzlich müssen Apps nun explizit einen Log-Path durch die Funktion app.setAppsLogPath festlegen, bevor sie app.getPath('log) nutzen können.

Das gesamte Projekt befindet sich auf GitHub. Die Beta-Phase für die nächste Hauptversion soll bereits am 1. August starten, das vollwertige Release wohl gegen Ende Oktober erfolgen. (bbo)