Представлен (https://electronjs.org/blog/electron-2-0) релиз платформы Electron 2.0.0 (https://electronjs.org), которая предоставляет самодостаточный фреймворк для разработки многоплатформенных пользовательских приложений, использующий в качестве основы компоненты Chromium, V8 и Node.js. Выпуск 2.0.0 ознаменовал переход к новой схеме нумерации версий, соответствующей принципу семантического версионирования (https://electronjs.org/blog/electron-2-semantic-boogaloo). Значительные выпуски теперь будут выпускаться чаще и будут связываться с обновлениями движка Chromium. В промежутке между значительными обновлениями будут формироваться корректирующие выпуски, в которые будут включаться только исправления ошибок. Для более качественной стабилизации значительных выпусков разработчики скооперировались с некоторыми крупными проектами на базе Electron, которые теперь используются для предварительной обкатки бета-выпусков.
Напомним, что Electron позволяет создавать любые графические приложения с использованием браузерных технологий, логика работы которых определяется на JavaScript, HTML и CSS, а функциональность может быть расширена через систему дополнений. Разработчикам доступны модули Node.js, а также расширенный API для формирования нативных диалогов, интеграции приложений, создания контекстных меню, интеграции с системой вывода уведомлений, манипуляции окнами, взаимодействия с подсистемами Chromium.
В отличие от web-приложений, программы на базе Electron поставляются в виде самодостаточных исполняемых файлов, не привязанных к браузеру. При этом пользователю не нужно заботится о портировании приложения для различных платформ, Electron обеспечит возможность сборки для всех систем, поддерживаемых в Chromium. Electron также предоставляет средства (http://electron.atom.io/docs/api/auto-updater/) для организации автоматической доставки и установки обновлений (обновления можно доставлять как с отдельного сервера, так и напрямую с GitHub).
Из программ, построенных на базе платформы Electron можно отметить редактор Atom (https://atom.io/), почтовый клиент Nylas (https://nylas.com/), инструментарий для работы с Git GitKraken (https://www.gitkraken.com/), система анализа и визуализации SQL-запросов Wagon (https://www.wagonhq.com/), система ведения блогов Wordpress Desktop, BitTorrent-клиент WebTorrent Desktop (https://webtorrent.io/desktop), а также официальные клиенты к таким сервисам, как Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire и Discord. Всего в каталоге программ Electron представлено (https://electronjs.org/apps) 559 приложений. Для упрощения разработки новых приложений подготовлен набор типовых демонстрационных приложений (https://github.com/electron/electron-api-demos), включающих примеры кода для решения различных задач.
Основные изменения:
- Обновлены версии всех сторонних компонентов платформы, включая Chromium 61, Node.js 8.9.3, V8 6.1.534.41;
- На платформе Linux осуществлён переход на GTK+ 3;
- Добавлен API для загрузки файлов;
- Добавлен API для включения/отключения окон;
Добавлен API для настройки локали (app.setLocale);
- Реализована возможность ведения лога IPC-сообщений;
- Представлены новые события меню. Предоставлена возможность условного вызова menu.popup(window, callback);
- Добавлена опция для объединения нескольких обработчиков BrowserWindows в один поцесс;
- В API saveDialog добавлена поддержка вывода списка доступных расширений;
- Добавлены дополнение действия при выводе уведомлений;
- Расширен список проверок, связанных с безопасностью;
- Добавлена возможность установки произвольных аргументов для процесса отрисовки;
- Улучшен вывод уведомлений на рабочих столах в Linux;
- Улучшена поддержка оформления меню через темы GTK+;
- Удалены устаревшие API.
URL: https://electronjs.org/blog/electron-2-0
Новость: https://www.opennet.ru/opennews/art.shtml?num=48540