Release Electron 5.0.0, an application development platform based on the Chromium engine

Prepared platform release Electron 5.0.0, which provides a self-sufficient framework for developing cross-platform user applications, using components from Chromium, V8, and Node.js as a foundation. The significant version number change is associated with an update to the codebase Chromium 73, platform Node.js 12 and JavaScript engine V8 7.3. Previously anticipated the discontinuation of support for 32-bit Linux systems has been postponed, and the release
5.0 including is available 32-bit builds.

Among the changes in Electron-specific APIs:

  • In the API, the translation of asynchronous handlers, previously using callback calls, into a form based on the Promisemechanism has continued. Promise support has been added to the Cookies API and in the methods app.getFileIcon, contentTracing.[getCategories|startRecording|stopRecording], debugger.sendCommand,
    shell.openExternal, webContents.[loadFile|loadURL|zoomLevel|zoomFactor] and win.capturePage;
  • The ability to obtain information about system colors has been added in
    macOS, using the calls systemPreferences.getAccentColor,
    systemPreferences.getColor and systemPreferences.getSystemColor;
  • A function process.getProcessMemoryInfo has been added, providing statistics on memory consumption by the current process;
  • In the 'remote' module, representing the IPC mechanism for interaction between the rendering process of the current page and the main process, additional capabilities have been added for filtering external requests to gain full control over IPC access. Filter support has been added for calls to remote.getBuiltin, remote.getCurrentWindow, remote.getCurrentWebContents, and webview.getWebContents;
  • The ability to manage multiple instances of BrowserViews from a single BrowserWindow object has been added;
  • In packaged applications, the addition of a default application menu is ensured, even if the application does not explicitly define this menu and does not add a window close event handler;
  • Mixed sandbox isolation mode is enabled by default, where both the rendering process runs in a sandbox;
  • An environment variable 'ELECTRON_DISABLE_SANDBOX' has been added to disable sandbox isolation, for example, if the application is already running in a Docker-based container;
  • For enhanced security, nodeIntegration and webviewTag settings are disabled by default;
  • The Spellchecker API has been switched to a non-blocking mode, where the result of the check is returned asynchronously;
  • The following have been deprecated and will be removed in the next release:
    Executable files mksnapshot for arm and arm64, ServiceWorker in WebContents, calls webFrame.setIsolated*, the ability for direct invocation of modules electron.screen,
    child_process,
    fs,
    os and path (now should be called through remote.require using a handler in isolated WebContents).

Let’s remember that Electron enables the creation of any graphical applications using web technologies, the logic of which is defined in JavaScript, HTML, and CSS, while 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 applications, creating context menus, integrating with the notification output system, window manipulation, and interaction with Chromium subsystems.

Unlike web applications, Electron-based programs are delivered as self-contained executable files, independent of a browser. Developers do not need to worry about porting applications for different platforms; Electron will ensure the possibility of building for all systems supported by Chromium. Electron also provides tools for organizing automatic delivery and installation of updates (updates can be delivered from a separate server or directly from GitHub).

Among the programs built on the Electron platform, one can mention the editor Atom, email client Nylas, toolkit for working with Git GitKraken, system for SQL query analysis and visualization Wagon, blogging platform clients like WordPress Desktop, BitTorrent client WebTorrent Desktop, as well as official clients for services such as Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code, and Discord. There are a total of about around 760 applications. A set of templates has been prepared to simplify the development of new applications. demonstration applications, including code examples for various tasks, has been prepared.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster