Выпуск платформы Electron 27.0 с включением режима декорирования окон для Wayland
Опубликован релиз платформы Electron 27.0.0, которая предоставляет самодостаточный фреймворк для разработки многоплатформенных пользовательских приложений, использующий в качестве основы компоненты Chromium, V8 и Node.js. Значительное изменение номера версии связано с обновлением до кодовой базы Chromium 118, платформы Node.js 18.17.1 и JavaScript-движка V8 11.8.
Среди изменений в новом выпуске:
Включён по умолчанию режим WaylandWindowDecorations, позволяющий при запуске с поддержкой Wayland (--ozone-platform=wayland) корректно менять размер и перемещать окна в Wayland-окружениях на базе GNOME и Weston, в которых не поддерживается протокол XDG Decoration. В окружениях с поддержкой XDG Decoration, таких как KDE и Sway, режим WaylandWindowDecorations игнорируется.
Добавлен API для учёта системных настроек, управляющих уровнем прозрачности фона в приложениях.
- Добавлена поддержка API chrome.scripting, позволяющего подставлять свой JavaScript и CSS на страницы.
- Добавлены методы safeStorage.setUsePlainTextEncryption и safeStorage.getSelectedStorageBackend.
- Добавлен API BrowserWindow.showAllTabs. В объект BrowserWindow добавлено свойство tabbingIdentifier. Частично реализован API chrome.tabs.query.
В методы session.downloadURL () и webContents.downloadURL () добавлена возможность отправки определённых HTTP-заголовков.
- Добавлен флаг »--dns-result-order».
В Linux реализовано определение настроек тёмной темы оформления через портал «xdg settings».
Объявлен устаревшим API ipcRenderer.sendTo (), вместо которого следует использовать MessageChannel для взаимодействия между двумя рендерами.
- Удалён метод webContents.getPrinters, вместо которого следует использовать webContents.getPrintersAsync.
- Удалены методы systemPreferences.{get, set}AppLevelAppearance и systemPreferences.appLevelAppearance, на смену которым пришёл модуль nativeTheme.
В методе systemPreferences.getColor прекращена поддержка значения alternate-selected-control-text, вместо которого нужно использовать selected-content-background.
В systemPreferences удалены события изменения цветовых схем (вместо inverted-color-scheme-changed и high-contrast-color-scheme-changed следует использовать событие updated из модуля nativeTheme).
- Прекращена поддержка macOS 10.13 (High Sierra) и macOS 10.14 (Mojave).
Завершён цикл сопровождения Electron 22.x, последней ветки с поддержкой Windows 7/8/8.1.
Платформа 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 представлено 744 приложения. Для упрощения разработки новых приложений подготовлен набор типовых демонстрационных приложений, включающих примеры кода для решения различных задач.
Источник: http://www.opennet.ru/opennews/art.shtml? num=59934
© OpenNet