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.

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.

Videos by heise

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)