Electron 12 führt intern das Update von Node.js 12 zu 14 durch und bringt eine neue API mit, die besonders für die Entwickler von Electron-Erweiterungen wie gerufen erscheint. Mit der neuen Webframe-API können Entwickler nun auch im Hauptprozess und nicht nur beim Rendern auf Webcontents zugreifen. Das erleichtert das Testen von Erweiterungen ungemein und war auch in diesem Zusammenhang einem Extension-Developer als fehlend aufgefallen. Die neue API ist bereits mit einer Dokumentation versehen.
Neue Standardwerte, neue und veränderte APIs
Electron 12 schraubt an verschiedenen Schnittstellen und erweitert die Möglichkeiten der API-Freigabe. Die Standardwerte von ContextIsolation und WorldSafeExecuteJavaScript setzt Electron in Version 12 vom bisherigen „false“ auf „true“. Das sind zwei der verschiedenen Breaking Changes, also Änderungen, die so deutlich sind, dass sie eine bestehende Software laufunfähig machen können, wenn die Änderungen, die die Neuerungen erforderlich machen, nicht ausdrücklich eingearbeitet werden. Standardwerte ändern sich an verschiedenen weiteren Stellen.
Wer bisher auf das Remote-Modul gesetzt hat, sollte künftig @electron/remote einsetzen. Die Migration ist hier beschrieben. Naheliegenderweise hat GitHub zudem den Flash-Support aus Electron entfernt.
Eine weitere Änderung ergibt sich aus der Chromium-Roadmap. Seit Version 87 setzt Chromium unter x86 einen Prozessor mit Unterstützung des SSE3-Befehlssatzes voraus. Das ist bei allen modernen Computern gegeben. Wer allerdings noch gut 15 Jahre alte Geräte in Betrieb hat, könnte beim Chromium-Start eine Fehlermeldung sehen. Electron 12 zieht hier nun gleich. Zudem kommt es mit Änderungen am Stack und unterstützt jetzt V8 in Version 8.9 sowie Chromium 89.
Tipp am Rande: Wer unbedingt einen Browser für sein altes Schätzchen benötigt, kann vorerst auf Firefox zurückgreifen. Der Browser setzt nur SSE2-Support voraus.
Etliche Breaking Changes betreffen die Darstellung. So erhalten die Schnittstellen für das Browserfenster und Apps eine Reihe von Änderungen. Die betreffen etwa den Rendering-Prozess und die Ansprache verschiedener Display-Größen. Zudem führt Electron 12 einen Tablet-Modus für das Browserfenster ein und bringt Anpassungen an die Refresh-Rate von Windows mit. Erweiterungen lassen sich nun einfacher nachladen und können mit Dateizugriff ausgestattet werden.
So kommt ihr an Electron 12
In einem ausführlichen Blogbeitrag erklären die Entwickler alle Änderungen. Electron 12.0 kann auf der Projekt-Website heruntergeladen werden. Erste Eindrücke vom Fahrplan zur nächsten Hauptversion 13.0 stehen ebenfalls bereit.
Mit dem Start der Version 12 des Electron-Frameworks gibt GitHub den Support für Electron 9 auf. Nutzer der Alt-Version sollten nun ernsthaft ein Update in Erwägung ziehen.
Übrigens: Mehrere bekannte Desktop-Anwendungen basieren bereits auf Electron. Darunter etwa Discord und Skype, aber auch Editoren wie Atom und Microsofts Visual Studio Code.