релиз платформы , которая предоставляет самодостаточный фреймворк для разработки многоплатформенных пользовательских приложений, использующий в качестве основы компоненты Chromium, V8 и Node.js. Значительное изменение номера версии связано с обновлением до кодовой базы , платформы и JavaScript-движка V8 7.3. Ранее прекращение поддержки 32-разрядных систем Linux пока отложено и выпуск
5.0 в том числе в 32-разрядных сборках.
Среди в API, специфичных для Electron:
- В API продолжен перевод асинхронных обработчиков, ранее использующих callback-вызовы, в форму на основе механизма . Поддержка Promise добавлена в Cookies API и в методах app.getFileIcon, contentTracing.[getCategories| startRecording| stopRecording], debugger.sendCommand,
shell.openExternal, webContents.[loadFile| loadURL| zoomLevel| zoomFactor] и win.capturePage; - Добавлена возможность получения информации о системных цветах в
macOS, используя вызовы systemPreferences.getAccentColor,
systemPreferences.getColor и systemPreferences.getSystemColor; - Добавлена функция process.getProcessMemoryInfo, предоставляющая статистику о потреблении памяти текущим процессом;
- В модуль «remote», представляющий IPC-механизм для взаимодействия между процессом отрисовки текущей страницы и основным процессом, добавлены дополнительные возможности по фильтрации внешних запросов для получения полного контроля за обращением к IPC. Поддержка фильтров добавлена для вызовов remote.getBuiltin, remote.getCurrentWindow, remote.getCurrentWebContents и webview.getWebContents;
- Добавлена возможность управления несколькими экземплярами BrowserViews из одного объекта BrowserWindow;
- В упакованных в пакеты приложениях обеспечено добавление меню приложения по умолчанию, даже если приложение явно не определяет данное меню и не добавляет обработчик события закрытия окна;
- Активирован по умолчанию смешанный режим работы sandbox-изоляции, при котором и процесс отрисовки запускается в sandbox;
- Добавлена переменная окружения «ELECTRON_DISABLE_SANDBOX» для отключения sandbox-изоляции, например, если приложение и так запускается в контейнере на базе Docker;
- Для повышения безопасности по умолчанию отключены настройки nodeIntegration и webviewTag;
- API проверки орфографии (Spellchecker) переведён на неблокирующий режим работы, при котором результат проверки возвращается в асинхронном режиме;
- Объявлены устаревшими и будут удалены в следующем выпуске:
исполняемые файлы mksnapshot для arm и arm64, ServiceWorker в WebContents, вызовы webFrame.setIsolated*, возможность прямого вызова модулей electron.screen,
child_process,
fs,
os и path (теперь нужно вызывать через remote.require с использованием обработчика в изолированном WebContents).
Напомним, что Electron позволяет создавать любые графические приложения с использованием браузерных технологий, логика работы которых определяется на JavaScript, HTML и CSS, а функциональность может быть расширена через систему дополнений. Разработчикам доступны модули Node.js, а также расширенный API для формирования нативных диалогов, интеграции приложений, создания контекстных меню, интеграции с системой вывода уведомлений, манипуляции окнами, взаимодействия с подсистемами Chromium.
В отличие от web-приложений, программы на базе Electron поставляются в виде самодостаточных исполняемых файлов, не привязанных к браузеру. При этом разработчику не нужно заботиться о портировании приложения для различных платформ, Electron обеспечит возможность сборки для всех систем, поддерживаемых в Chromium. Electron также предоставляет для организации автоматической доставки и установки обновлений (обновления можно доставлять как с отдельного сервера, так и напрямую с GitHub).
Из программ, построенных на базе платформы Electron можно отметить редактор , почтовый клиент , инструментарий для работы с Git , система анализа и визуализации SQL-запросов , система ведения блогов WordPress Desktop, BitTorrent-клиент , а также официальные клиенты к таким сервисам, как Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code и Discord. Всего в каталоге программ Electron 760 приложений. Для упрощения разработки новых приложений подготовлен набор типовых , включающих примеры кода для решения различных задач.
Источник: opennet.ru
