The release of the Electron 27.0.0 platform has been published, which provides a self-sufficient framework for developing multi-platform user applications, using Chromium, V8 and Node.js components as a basis. The significant change in version number is due to an update to the Chromium 118 codebase, the Node.js 18.17.1 platform and the V8 11.8 JavaScript engine.
Among the changes in the new release:
- The WaylandWindowDecorations mode is enabled by default, which allows, when running with Wayland support (--ozone-platform=wayland), to correctly resize and move windows in Wayland environments based on GNOME and Weston, which do not support the XDG Decoration protocol. In environments that support XDG Decoration, such as KDE and Sway, the WaylandWindowDecorations mode is ignored.
- Added an API to take into account system settings that control the level of background transparency in applications.
- Added support for the chrome.scripting API, which allows you to insert your own JavaScript and CSS into pages.
- Added safeStorage.setUsePlainTextEncryption and safeStorage.getSelectedStorageBackend methods.
- Added BrowserWindow.showAllTabs API. The tabbingIdentifier property has been added to the BrowserWindow object. The chrome.tabs.query API is partially implemented.
- Added the ability to send specific HTTP headers to the session.downloadURL() and webContents.downloadURL() methods.
- Added "--dns-result-order" flag.
- В Linux Implemented the ability to define dark theme settings via the "xdg settings" portal.
- Deprecated the ipcRenderer.sendTo() API, which should be replaced by a MessageChannel for communication between two renderers.
- The webContents.getPrinters method has been removed, in favor of webContents.getPrintersAsync.
- The systemPreferences.{get,set}AppLevelAppearance and systemPreferences.appLevelAppearance methods have been removed, replaced by the nativeTheme module.
- The systemPreferences.getColor method has stopped supporting the alternate-selected-control-text value, in favor of selected-content-background.
- In systemPreferences, color scheme change events have been removed (the updated event from the nativeTheme module should be used instead of inverted-color-scheme-changed and high-contrast-color-scheme-changed).
- Support has been discontinued macOS 10.13 (High Sierra) and macOS 10.14 (Mojave).
- Electron 22.x, the last supported branch, has reached the end of its maintenance cycle. Windows 7 / 8 / 8.1.
The Electron platform allows you to create any graphical applications using browser technologies, the logic of which is defined in JavaScript, HTML and CSS, and the functionality can be extended through a system of add-ons. Developers have access to Node.js modules, as well as an extended API for creating native dialogs, integrating applications, creating context menus, integrating with the notification display system, manipulating windows, and interacting with Chromium subsystems.
Unlike web applications, Electron-based programs are delivered as self-contained executable files, not tied to a browser. The developer doesn't need to worry about porting the application to different platforms; Electron provides the ability to build for all systems supported by Chromium. Electron also provides the means to automatically deliver and install updates (updates can be delivered from a separate Server, as well as directly from GitHub).
Among the programs built on the Electron platform, we can note the Atom editor, the Mailspring email client, the GitKraken tool for working with Git, and the blogging system WordPress Desktop, the BitTorrent client WebTorrent Desktop, and official clients for services such as Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code, and Discord. The Electron app catalog contains 744 apps. To simplify the development of new apps, a set of sample demo apps has been prepared, including code samples for solving various problems.
Source: opennet.ru
