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.

In Pocket speichern vorlesen Druckansicht
Social,Network,And,City.

(Bild: metamorworks/Shutterstock.com)

Lesezeit: 2 Min.

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.

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.

Heise-Konferenz: enterJS 2023

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:

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)