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

25 апреля 2019 года

Wikinews-logo-ru.svg

Подготовлен релиз платформы Electron 5.0.0, которая предоставляет самодостаточный фреймворк для разработки многоплатформенных пользовательских приложений, использующий в качестве основы компоненты Chromium, V8 и Node.js. Значительное изменение номера версии связано с обновлением до кодовой базы Chromium 73, платформы Node.js 12 и JavaScript-движка V8 7.3. Ранее ожидавшееся прекращение поддержки 32-разрядных систем Linux пока отложено и выпуск 5.0 в том числе доступен в 32-разрядных сборках.

Среди изменений в API, специфичных для Electron:

  • В API продолжен перевод асинхронных обработчиков, ранее использующих callback-вызовы, в форму на основе механизма Promise. Поддержка 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 можно отметить редактор Atom, почтовый клиент Nylas, инструментарий для работы с Git GitKraken, система анализа и визуализации SQL-запросов Wagon, система ведения блогов WordPress Desktop, BitTorrent-клиент WebTorrent Desktop, а также официальные клиенты к таким сервисам, как Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code и Discord. Всего в каталоге программ Electron представлено 760 приложений. Для упрощения разработки новых приложений подготовлен набор типовых демонстрационных приложений, включающих примеры кода для решения различных задач.

 

ИсточникиПравить


Эта статья содержит материалы из статьи «Релиз Electron 5.0.0, платформы создания приложений на базе движка Chromium», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
 

Комментарии:Релиз Electron 5.0.0, платформы создания приложений на базе движка Chromium