The release of the Electron 28.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 120 codebase, the Node.js 18.18.2 platform and the V8 12.0 JavaScript engine.
Among the changes in the new release:
- Added support for ESM JavaScript modules (ECMAScript Modules), created in accordance with the ECMAScript 6 specification and used in browser-based web applications (previously, Electron only supported CommonJS modules specific to Node.js). ESM modules can be used both in Electron itself and in handlers based on the UtilityProcess API. Support for EMS modules has also been added to the Electron Forge application building and publishing toolkit.
- On the platform Linux The ELECTRON_OZONE_PLATFORM_HINT environment variable has been implemented, simplifying the inclusion of Wayland protocol support in Electron-based applications (this can be done without adding the "--ozone-platform-hint" flag to the .desktop file).
- The properties detected, maximumCursorSize and nativeOrigin have been added to the Display object.
- The default WebContents.backgroundThrottling setting has been changed to "false", which disables frame rate throttling when rendering content using the BrowserWindow object.
- Removed methods BrowserWindow.setTrafficLightPosition (should use BrowserWindow.setWindowButtonPosition), BrowserWindow.getTrafficLightPosition (should use BrowserWindow.getWindowButtonPosition), ipcRenderer.sendTo (should use MessageChannel) and app.runningUnderRosettaTranslation ( should use app.runningUnderARM64Translation). Support for scroll-touch-[begin|end|edge] events has been discontinued.
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. Electron's software catalog contains 756 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
