Electron 4 Updates Chromium Support
Written by Kay Ewbank   
Friday, 04 January 2019

GitHub has released version 4.0 of Electron, its open source framework for cross platform development of desktop applications. Electron was originally known as Atom Shell as it was developed for GitHub's Atom text editor.

Electron is a framework for creating native applications with web technologies like JavaScript, HTML, and CSS. It combines Chromium and Node.js into a single runtime, and apps can be packaged for Mac, Windows, and Linux. Both Atom and Electron were open sourced in 2014.


Because much of Electron comes from Chromium, Node.js, and V8, the first and many of the main improvements to the new release are to ensure Electron uses the most recent releases of the underlying projects. In view of this, Electron v4.0.0 includes Chromium 69.0.3497.106, Node 10.11.0, and V8 6.9.427.24.

Alongside the updates to the underlying projects, Electron 4 includes changes to Electron-specific APIs. You can now disable the remote module for security reasons, for either the browserWindows or Webview tags.

You can also now filter remote.require() and remote.getGlobal requests. This lets you exercise some control over which modules can be required using remote.require without having to completely disable the remote module in your renderer process or webview.

Away from remote, you can now control background throttling of WebContents. This is achieved by the addition of a method to WebContents instances that either enables or disables the throttling of timers and animations when the page is backgrounded so you can make best use of resources.

There are some breaking changes to this version. The first is down to Chromium, which no longer supports macOS 10.9 (OS X Mavericks), meaning that Electron no longer supports it either.

The other main breaking change is to the way Single Instance apps are managed. In previous versions, if you wanted to make sure that only one instance of your app could run at the same time, you could use the app.makeSingleInstance() method. This is no longer supported, so you'll need to change any apps that use it to use app.requestSingleInstanceLock instead. The reason for the change is that the new technique returns a value that indicates whether or not this instance of your application successfully obtained the lock. If it failed to obtain the lock, you can assume that another instance of your application is already running with the lock and exit immediately.



More Information

Electron Website

Related Articles

Atom v Visual Studio Code - The Unexpected Consequence Of Consolidation

Electron 1.0 Released For Desktop Apps

Atom 1.5 Released 

Atom 1.1 Released

Atom 1.0 - GitHub's Hackable Editor Becomes Stable
Visual Studio Code - Now With Added Extensions



To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Pain And Panic Over Rogue AI - We Need a Balance

Jumping on the bandwagon of hysteria created by Geoffrey Hinton's recent warning about the existential threat posed to humanity by AI, a "Statement on AI Risk" is being endorsed by researchers and aca [ ... ]

Spectacular Advances In MicroMouse Performance

This video charting the history and development of the MicroMouse competition, together with an explanation of the  strategies for finding the shortest path, opens with footage from the latest Al [ ... ]

More News





or email your comment to: comments@i-programmer.info

Last Updated ( Friday, 04 January 2019 )