Публикувано е издание на платформата 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.
За разлика от уеб приложения, програмите, базирани на 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 приложения. За опростяване на разработката на нови приложения е подготвен комплект от стандартни демонстрационни приложения, включващи примери за код за решаване на различни задачи.
Източник: opennet.ru
