Подготовлен релиз платформы Electron 12.0.0, которая предоставляет самодостаточный фреймворк для разработки многоплатформенных пользовательских приложений, использующий в качестве основы компоненты Chromium, V8 и Node.js. Значительное изменение номера версии связано с обновлением до кодовой базы Chromium 89, платформы Node.js 14.16 и JavaScript-движка V8 8.9.
- Осуществлён переход на новую LTS-ветку платформы Node.js 14 (ранее использовалась ветка 12.x).
- Добавлен новый API webFrameMain для доступа из основного процесса к информации о RenderFrame, выполняемых в отдельных экземплярах WebContents. API webFrameMain эквивалентен API webFrame, но может использоваться из основного процесса.
- В API BrowserWindow добавлены методы BrowserWindow.isTabletMode() и win.setTopBrowserView(), а также параметр webPreferences.preferredSizeMode и события system-context-menu, resized (Windows/macOS) и moved (Windows).
- По умолчанию активированы настройки contextIsolation и worldSafeExecuteJavaScript, включающие дополнительную изоляцию и механизмы защиты при выполнении JavaScript.
- По умолчанию активирована настройка crashReporter.start({ compress }). Удалён устаревший API crashReporter.
- Обеспечена возможность доступа к необъектным API через метод exposeInMainWorld в contextBridge.
- В API для разработки дополнений добавлены отдельные элементы API chrome.management.
- Устаревший модуль “remote” заменён на “@electron/remote”.
Напомним, что Electron позволяет создавать любые графические приложения с использованием браузерных технологий, логика работы которых определяется на JavaScript, HTML и CSS, а функциональность может быть расширена через систему дополнений. Разработчикам доступны модули Node.js, а также расширенный API для формирования нативных диалогов, интеграции приложений, создания контекстных меню, интеграции с системой вывода уведомлений, манипуляции окнами, взаимодействия с подсистемами Chromium.
В отличие от web-приложений, программы на базе Electron поставляются в виде самодостаточных исполняемых файлов, не привязанных к браузеру. При этом разработчику не нужно заботиться о портировании приложения для различных платформ, Electron обеспечит возможность сборки для всех систем, поддерживаемых в Chromium. Electron также предоставляет средства для организации автоматической доставки и установки обновлений (обновления можно доставлять как с отдельного сервера, так и напрямую с GitHub).
Из программ, построенных на базе платформы Electron можно отметить редактор Atom, почтовые клиенты Nylas и Mailspring, инструментарий для работы с Git GitKraken, система ведения блогов WordPress Desktop, BitTorrent-клиент WebTorrent Desktop, а также официальные клиенты к таким сервисам, как Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code и Discord. Всего в каталоге программ Electron представлено 1016 приложений. Для упрощения разработки новых приложений подготовлен набор типовых демонстрационных приложений, включающих примеры кода для решения различных задач.