Electron 12.0.0

Теги

Electron — фреймворк, разработанный GitHub. Позволяет разрабатывать нативные графические приложения для операционных систем с помощью веб-технологий. 

В отличие от 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 приложений.

В новом выпуске платформы:

  • Осуществлён переход на новую 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".

Для упрощения разработки новых приложений подготовлен набор типовых демонстрационных приложений, включающих примеры кода для решения различных задач.