Electron 12.0.0 arrives based on Chromium 89, new APIs and more

Electron

Recently the release of the new version of Electron 12.0.0 was announcedWhich comes with the integration of updates Chromium 89, the V8 8.9 engine and Node.js 14.16, in addition to highlighting some important changes, including the introduction of new APIs and more.

For those unaware of Electron they should know that this is a cross-platform desktop application framework that uses web technologies, whose logic is determined by JavaScript, HTML and CSS and the functionality can be expanded through the plug-in system. It is developed by GitHub and is based on C ++ development.

Electron's core components are Chromium, Node.js, and V8. The infrastructure is coded in Node.js, and the interface is based on the Chromium tools, the open source part of Google Chrome. LNode.js modules are available for developers, as well as an advanced API to create native dialog boxes, integrate applications, create context menus, integrate with the notification exit system, manipulate windows and interact with the Chromium subsystems.

Unlike web applications, Electron-based programs come in the form of self-contained executable files that are not linked to the browser.

In this case, the developer does not need to worry about porting the application for various platforms, Electron will provide the ability to build for all Chromium compatible systems. Electron also provides tools to organize automatic delivery and installation of updates (updates can be delivered from a separate server or directly from GitHub).

What's new in Electron 12.0.0?

This new version of Electron comes with some pretty important changes and improvements, of which stand out for example the iXML Toast notification implementation custom in Windows, as well as improved dark mode support in Windows and above all that the transition to the new LTS branch from the Node.js 14 platform (previously the 12.x branch was used).

On the part of the new APIs, it is mentioned that added webFrameMain API, this allows access from the main process to the information about RenderFrame executed in separate instances of WebContents (the webFrameMain API is equivalent to the webFrame API, but can be used from the main process).

Another change that It stands out is the disuse of the «remote» module, which was replaced by @ electron / remote and it is also noted that Flash support was removed, this because Chromium has removed support for Flash.

Of the other changes that stand out in the announcement of this new version:

  • Added API to enable / disable spell checker.
  • ExitCode was added for the details of the rendering process.
  • added net.online to detect if there is currently an internet connection.
  • added powerMonitor.onBatteryPower.
  • added webPreferences.preferredSizeMode to allow views to be sized according to the minimum size of your document.
  • added new credentials option for net.request ().
  • adding a new asynchronous shell.trashItem () API, replacing the synchronous shell.moveItemToTrash ().
  • Added screenshot API for session.setPermissionRequestHandler.
  • Added missing webFrameMain.executeJavaScriptInIsolatedWorld ().
  • Read / write support for CLSID toast activator in shortcuts.
  • Added support for explicitly specifying direct, auto_detect, or system modes in session.setProxy ().
  • Added support for displaying the macOS shared menu, as well as a fast user switch event to powerMonitor on macOS.
  • The "ContextBridge exposeInMainWorld" method is allowed to expose APIs that are not objects.

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 Node.JS on Linux, you can visit the post where we talk about Node.JS 15 and at the end of it you will find the installation commands for some of the different Linux distributions.


Be the first to comment

Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.