Cross-Plattform-Entwicklung: Electron 24 vereinheitlicht Thumbnail-Skalierung
Das Release bringt eine abwärtsinkompatible API-Änderung für den Umgang mit Thumbnails und erklärt zwei APIs für veraltet. Electron 21 fällt aus dem Support.
Electron hat Version 24 erreicht. In das Open-Source-Framework zum Erstellen von Cross-Plattform-Desktopanwendungen mit JavaScript, HTML und CSS sind seit dem letzten Minor Release rund zwei Monate Entwicklungszeit eingeflossen. Die Neuerungen betreffen unter anderem eine veränderte API zum Skalieren von Thumbnails sowie zehn neue Features. So besteht nun die Möglichkeit, HttpOnly
-Cookies mit cookies.get()
zu filtern und SystemPreferences::CanPromptTouchID
(macOS) hat gelernt, mit der Apple Watch umzugehen, um ohne eine Apple-Tastatur mit TouchID einen Laptop zu entsperren.
Einheitliche Skalierung in Windows und macOS
Als Breaking Change verändert Electron 24 eine API: nativeImage.createThumbnailFromPath(path, size)
. Der maxSize
-Parameter ist zu size
geworden. Das soll ausdrücken, dass die übergebene Größe der des erstellten Thumbnails entspricht. Bisher hat Windows die Grafik nicht hochskaliert, wenn sie kleiner als maxSize
war, wohingegen macOS die Größe immer auf maxSize
anpasste. Mit der Änderung ist das Verhalten nun über die Plattformen hinweg einheitlich.
// a 128x128 image.
const imagePath = path.join('path', 'to', 'capybara.png');
// Scaling up a smaller image.
const upSize = { width: 256, height: 256 };
nativeImage.createThumbnailFromPath(imagePath, upSize).then((result) => {
console.log(result.getSize()); // { width: 256, height: 256 }
});
// Scaling down a larger image.
const downSize = { width: 64, height: 64 };
nativeImage.createThumbnailFromPath(imagePath, downSize).then((result) => {
console.log(result.getSize()); // { width: 64, height: 64 }
});
Als veraltetet gelten die APIs BrowserWindow.setTrafficLightPosition(position)
und BrowserWindow.getTrafficLightPosition()
.
Die Alternative für BrowserWindow.setTrafficLightPosition(position)
ist die API BrowserWindow.setWindowButtonPosition(position)
, die null
statt { x: 0, y: 0 }
annimmt, um die Position auf die Standardeinstellung zurückzusetzen. Als Alternative für BrowserWindow.getTrafficLightPosition()
steht BrowserWindow.getWindowButtonPosition()
bereit. Diese API gibt null
statt { x: 0, y: 0 }
aus, wenn keine benutzerdefinierte Position vorhanden ist.
Am 21. und 22. Juni 2023 richten die Veranstalter dpunkt.verlag, heise Developer und iX die Enterprise-JavaScript-Konferenz enterJS in Darmstadt aus. In über 35 Vorträgen kommen JavaScript- und TypeScript-Sprachneuerungen, neue und etablierte Tools und Frameworks – darunter React, SvelteKit und Astro – sowie Barrierefreiheit und Softwarearchitektur zur Sprache.
Ganztägige Workshops stehen sowohl vor Ort als auch online bereit.
Auszug aus dem Programm:
- Cross-Platform mit Capacitor und deiner Web-App
- TC39 – Ein Blick in die Zukunft von JavaScript
- React 2023 – Beginn einer neuen Ära?
- How to a11y: Vom Design zu barrierefreien Webseiten (Workshop, 20. Juni, Darmstadt)
- React Beyond the Basics (Workshop, 28. Juni, online)
Stack-Update und Support-Ende
Wie gewohnt aktualisiert auch dieses Electron-Release seinen aus Chromium, Node.js und der JavaScript-Engine V8 bestehenden Stack. Mit Chromium 112.0.5615.49 gehen die Neuerungen aus Chrome 111 und 112 sowie den DevTool in diesen Versionen einher. Node.js hat in Version 18.12.1 drei Sicherheitslücken behoben und V8 liegt in Version 11.0 vor. Gemäß der Support-Richtlinie des Electron-Entwicklungsteams fällt Electron 21 aus dem Support. Die nächste geplante Version ist Electron 25, die im Mai 2023 erscheinen soll.
Alle weiteren Details enthält ein Blogeintrag.
(mai)