De release van het Electron-platform 27.0.0 is gepresenteerd, dat een op zichzelf staand framework biedt voor de ontwikkeling van multipurpose desktopapplicaties, gebruikmakend van Chromium-, V8- en Node.js-componenten als basis. De significante wijziging van het versienummer is te wijten aan de upgrade naar de Chromium 118 codebase, Node.js 18.17.1 en de JavaScript-engine V8 11.8.
Onder de veranderingen in de nieuwe release:
- De WaylandWindowDecorations-modus is standaard ingeschakeld, waardoor het mogelijk is om de grootte en positie van vensters aan te passen bij het opstarten met ondersteuning voor Wayland (—ozone-platform=wayland) in Wayland-omgevingen op basis van GNOME en Weston, waar het XDG Decoration-protocol niet wordt ondersteund. In omgevingen met ondersteuning voor XDG Decoration, zoals KDE en Sway, wordt de WaylandWindowDecorations-modus genegeerd.
- Een API is toegevoegd voor het rekening houden met systeeminstellingen die het transparantieniveau van de achtergrond in applicaties beheersen.
- Ondersteuning voor de chrome.scripting API is toegevoegd, waarmee je je eigen JavaScript en CSS op pagina's kunt invoegen.
- De methoden safeStorage.setUsePlainTextEncryption en safeStorage.getSelectedStorageBackend zijn toegevoegd.
- Een API BrowserWindow.showAllTabs is toegevoegd. De BrowserWindow-object heeft een eigenschap tabbingIdentifier gekregen. De chrome.tabs.query API is gedeeltelijk geïmplementeerd.
- De methoden session.downloadURL() en webContents.downloadURL() hebben nu de mogelijkheid om bepaalde HTTP-headers te verzenden.
- De vlag «—dns-result-order» is toegevoegd.
- In Linux is de herkenning van instellingen voor donkere thema's via de «xdg settings» portal geïmplementeerd.
- De ipcRenderer.sendTo() API is als verouderd verklaard; in plaats daarvan moet MessageChannel worden gebruikt voor interactie tussen twee renders.
- De webContents.getPrinters-methode is verwijderd; in plaats daarvan moet webContents.getPrintersAsync worden gebruikt.
- De methoden systemPreferences.{get,set}AppLevelAppearance en systemPreferences.appLevelAppearance zijn verwijderd en vervangen door de nativeTheme-module.
- In de methoden systemPreferences.getColor is de ondersteuning voor de waarde alternate-selected-control-text stopgezet; je moet nu selected-content-background gebruiken.
- De gebeurtenissen voor het wijzigen van kleurenschema's zijn verwijderd uit systemPreferences (gebruik in plaats daarvan het updated-evenement van de nativeTheme-module in plaats van inverted-color-scheme-changed en high-contrast-color-scheme-changed).
- De ondersteuning voor macOS 10.13 (High Sierra) en macOS 10.14 (Mojave) is beëindigd.
- De ondersteuning van de Electron 22.x-cyclus is beëindigd, de laatste branch die Windows 7/8/8.1 ondersteunt.
Het Electron-platform maakt het mogelijk om grafische applicaties te creëren met behulp van browsertechnologieën, waarbij de logica van het werk wordt gedefinieerd in JavaScript, HTML en CSS, en de functionaliteit kan worden uitgebreid via een plug-insysteem. Ontwikkelaars hebben toegang tot Node.js-modules en een uitgebreide API voor het maken van native dialoogvensters, het integreren van applicaties, het creëren van contextmenu's, integratie met het meldingssysteem, vensterbeheer en interactie met Chromium-subsystemen.
In tegenstelling tot webtoepassingen worden programma's op basis van Electron geleverd als zelfstandige uitvoerbare bestanden, die niet aan de browser zijn gebonden. De ontwikkelaar hoeft zich geen zorgen te maken over het porteren van de applicatie naar verschillende platforms, omdat Electron de mogelijkheid biedt om te bouwen voor alle systemen die door Chromium worden ondersteund. Electron biedt ook middelen voor de organisatie van automatische levering en installatie van updates (updates kunnen zowel van een aparte de server, als direct van GitHub) worden geleverd.
Van de programma's die zijn gebouwd op het Electron-platform kunnen we de editor Atom, de e-mailclient Mailspring, de Git-tool GitKraken, het blogbeheersysteem WordPress Desktop, de BitTorrent-client WebTorrent Desktop, en de officiële clients voor diensten zoals Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code en Discord noemen. In totaal zijn er 744 applicaties in de Electron-catalogus. Om de ontwikkeling van nieuwe applicaties te vergemakkelijken, is er een set standaard demo-applicaties voorbereid, inclusief voorbeeldcode voor verschillende taken.
Bron: opennet.ru
