JavaScript: Electron 9.0 achtet besser auf korrekte Sprache

Neben einigen API-Anpassungen bietet das Framework eine wohl verbesserte Rechtschreibkontrolle und effizientere Window Events Handler unter Linux.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
JavaScript: Electron 9.0 achtet besser auf korrekte Sprache

makasana photo/Shutterstock.com

Lesezeit: 3 Min.
Inhaltsverzeichnis

Das von GitHub entwickelte JavaScript-Framework Electron liegt ab sofort in Version 9.0 vor. Im neuen Release des auf Cross-Plattform-Anwendungen zugeschnittenen Frameworks finden sich neben den üblichen Aktualisierungen für Chromium, Node.js und V8, die nun in den jeweiligen Versionen 83, 12.14 und 8.3 unterstützt werden, auch einige Breaking Changes. Darüber hinaus haben die Electron-Entwickler den im vorangegangenen Release eingeführten Spellchecker von Chrome ebenso überarbeitet wie die Window Events Handler unter Linux.

Seit Electron 8.0 können JavaScript-Entwickler die Rechtschreibprüfung von Chrome nutzen. Im neuen Release stehen nun erweiterte Optionen für individuelle Einträge im Wörterbuch zur Verfügung. Dank Anpassungen bei den session-APIs lassen sich nun beispielsweise über session.listWordsFromSpellCheckerDictionary eigene Wörter hinzufügen oder mit session.removeWordFromSpellCheckerDictionary entfernen.

Der ebenfalls aus Chrome bekannte und auf pdfium basierende PDF Viewer steht nun zur Verfügung und das Team hat sich dem Pre-Caching von IsWindowStateEvent() XAtom gewidmet, um die Effizienz der Window Events Handler unter Linux zu verbessern (PR 23260). Wichtiger für Electron-Anwender dürften unterdessen die weggefallenen APIs und drei Breaking Changes sein: Die bereits als deprecated markierten APIs <webview>.getWebContents und webFrame.setLayoutZoomLevelLimits wurden nun entfernt, shell.openItem hingegen als "deprecated" gekennzeichnet und durch asynchronous shell.openPath ersetzt.

Mit Blick auf künftige Projekte sollten Entwickler darüber hinaus berücksichtigen, dass das remote-Modul wegfallen und nach userland verschoben werden soll. remote sollte daher schon nicht mehr ohne enableRemoteModle: true verwendet werden.

Um bevorstehende Anforderungen bezüglich nativer Node-Module gewährleisten zu können, die beim Laden in den Renderer-Prozess künftig entweder N-API oder Context Aware sein müssen, ist nun app.enableRendererProcessReuse schon standardmäßig auf True gesetzt.

Nachdem in Electron 9.0 der alte Serialisierungsalgorithmus nicht mehr zur Verfügung steht, löst das Senden nicht-serialisierbarer Objekte die Fehlermeldung "Objekt konnte nicht geklont werden" aus. Das Senden solcher Objekte über IPC hatte das Electron-Team bereist in Version 8.0 als "deprecated" markiert.

Einen vollständigen Überblick aller Neuerungen bietet ein Blogbeitrag zum Release. Einen Ausblick auf geplante und künftig zu erwartende wichtige Änderungen fasst die Übersicht zu den Breaking Changes zusammen. Beginnend mit Electron 10 soll beispielsweise contextIsolation standardmäßig von false auf true gesetzt werden, da sich ohne die explizite Isolierung beliebiger Code in einem Renderer-Prozess Zugriff auf Electron Interna oder das Preload-Skript einer App verschaffen könnte.

(map)