Electron allows you to write cross-platform desktop applications using JavaScript, HTML and CSS
The release of the new version of Electron 27.0 and in this release various changes stand out, most of which are the elimination of various methods, properties and events, as well as support for macOS 10.13 and indirectly for Windows 7/8/8.1.
For those who are unaware of Electron, they should know that this allows you to create any graphical application using browser technologies, whose logic is defined in JavaScript, HTML and CSS, and the functionality can be extended through a plugin system.
Developers have access to Node.js modules as well as an extended API for creating native dialogs, integrating apps, creating context menus, integrating with the notification display system, manipulating windows, and interacting with Chromium subsystems.
Main novelties of Electron 27.0
In this new version of Electron 27.0, one of its most important new features is the improvements presented with Wayland, since now by default WaylandWindowDecorations mode is enabled, that allow, when run with Wayland support (–ozone-platform=wayland), Properly resize and move windows in GNOME and Weston based Wayland environments, which do not support the XDG decoration protocol. In environments that support XDG decoration, such as KDE and Sway, the WaylandWindowDecorations mode is ignored.
Another new feature that Electron 27.0 presents is the new API which was added to take into account system configuration which controls the level of background transparency in applications, as well as support for the chrome.scripting API, which allows you to insert your own JavaScript and CSS into pages.
In addition to this, it is also highlighted that the BrowserWindow.showAllTabs API, it is mentioned that the tabbingIdentifier property has been added to the BrowserWindow object. The chrome.tabs.query API is partially implemented.
On Linux, it is possible to define dark theme settings via the “xdg configuration” portal and the ipcRenderer.sendTo() API was deprecated, which should be replaced by a MessageChannel for communication between two renderers.
On the other hand, in SystemPreferences, the color scheme change events have been removed (the NativeTheme module's update event should be used instead of inverted color scheme change and high contrast color scheme change).
Also, in this new version of Electron 27 Support for macOS 10.13 has been discontinued (High Sierra) and macOS 10.14 (Mojave) and due to the support policy with this release the end of support for the Electron 24.x versions is marked and in addition the extended support cycle for Electron 22.x has been completed, which was the last branch Compatible with Windows 7/8/8.1.
Of the other changes that stand out from this new version:
- Chromium 118.0.5993.32, DevTools 118
- Node.js 18.17.1
- V8 11.8
- Added the ability to send specific HTTP headers to the session.downloadURL() and webContents.downloadURL() methods.
- Added safeStorage.setUsePlainTextEncryption and safeStorage.getSelectedStorageBackend methods.
- Added “–dns-result-order” flag.
- The webContents.getPrinters method has been removed in favor of webContents.getPrintersAsync.
- The systemPreferences.{get,set}AppLevelAppearance and systemPreferences.appLevelAppearance methods were removed and replaced by the nativeTheme module.
- The systemPreferences.getColor method has deprecated the alternate selected control text value in favor of the selected content background.
- Added support for the Node.js CLI flag –dns-result-order.
- Added support for customizing the default math font along with other fonts.
- Added support for marking a menu as keyboard-initiated.
- Added support for several more Node.js cli flags in the main process.
- Added support for several more extension manifest keys, including host_permissions, author and short_name.
- Added ability to send HTTP headers with session.downloadURL()
- Added ability to send HTTP headers with webContents.downloadURL()
Finally if you are interested in knowing more about it of this new version, you can check the details In the following link.
How to get Electron on Linux?
In order to run applications and / or be able to work with Electron within Linux, We only have to have Node.JS installed on the system and its NPM package manager.
To install the latest version, just type the following command:
npm install electron@latest