04.03.2024

Выпуск Electron 28.0, платформы создания приложений на базе движка Chromium

Опубликован релиз платформы Electron 28.0.0, которая предоставляет самодостаточный фреймворк для разработки многоплатформенных пользовательских приложений, использующий в качестве основы компоненты Chromium, V8 и Node.js. Значительное изменение номера версии связано с обновлением до кодовой базы Chromium 120, платформы Node.js 18.18.2 и JavaScript-движка V8 12.0.

Среди изменений в новом выпуске:

  • Добавлена поддержка JavaScript-модулей ESM (ECMAScript Modules), созданных в соответствии со спецификацией ECMAScript 6 и применяемых в браузерных web-приложениях (ранее в Electron поддерживались только модули CommonJS, специфичные для Node.js). ESM-модули можно использовать как в самом Electron, так и в обработчиках на базе API UtilityProcess. Поддержка EMS-модулей также добавлена в инструментарий для сборки и публикации приложений Electron Forge.
  • На платформе Linux реализована обработка переменной окружения ELECTRON_OZONE_PLATFORM_HINT, упрощающей включение поддержки протокола Wayland в приложениях на базе платформы Electron (можно обойтись без добавления флага «—ozone-platform-hint» в .desktop-файл).
  • В объект Display добавлены свойства detected, maximumCursorSize и nativeOrigin.
  • Настройка WebContents.backgroundThrottling по умолчанию изменена на значение «false», отключающего ограничение частоты кадров при выводе содержимого при помощи объекта BrowserWindow.
  • Удалены методы BrowserWindow.setTrafficLightPosition (следует использовать BrowserWindow.setWindowButtonPosition), BrowserWindow.getTrafficLightPosition (следует использовать BrowserWindow.getWindowButtonPosition), ipcRenderer.sendTo (следует использовать MessageChannel) и app.runningUnderRosettaTranslation (следует использовать app.runningUnderARM64Translation). Прекращена поддержка событий scroll-touch-[begin|end|edge].

Платформа Electron позволяет создавать любые графические приложения с использованием браузерных технологий, логика работы которых определяется на JavaScript, HTML и CSS, а функциональность может быть расширена через систему дополнений. Разработчикам доступны модули Node.js, а также расширенный API для формирования нативных диалогов, интеграции приложений, создания контекстных меню, интеграции с системой вывода уведомлений, манипуляции окнами, взаимодействия с подсистемами Chromium.

В отличие от web-приложений, программы на базе Electron поставляются в виде самодостаточных исполняемых файлов, не привязанных к браузеру. При этом разработчику не нужно заботиться о портировании приложения для различных платформ, Electron обеспечит возможность сборки для всех систем, поддерживаемых в Chromium. Electron также предоставляет средства для организации автоматической доставки и установки обновлений (обновления можно доставлять как с отдельного сервера, так и напрямую с GitHub).

Из программ, построенных на базе платформы Electron можно отметить редактор Atom, почтовый клиент Mailspring, инструментарий для работы с Git GitKraken, система ведения блогов WordPress Desktop, BitTorrent-клиент WebTorrent Desktop, а также официальные клиенты к таким сервисам, как Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code и Discord. Всего в каталоге программ Electron представлено 756 приложений. Для упрощения разработки новых приложений подготовлен набор типовых демонстрационных приложений, включающих примеры кода для решения различных задач.

Источник: https://www.opennet.ru/opennews/art.shtml?num=60255 Источник.