Электрон (программная среда)
Оригинальный автор(ы) | GitHub |
---|---|
Разработчик(и) | Фонд OpenJS |
Первоначальный выпуск | 15 июля 2013 г [1] |
Стабильная версия | 31.2.1 [2] / 15 июля 2024 г |
Предварительный выпуск | 31.0.0-альфа.3 [3] / 1 мая 2024 г |
Репозиторий | |
Написано в | C++ , JavaScript , Objective-C++ и Objective-C. |
Операционная система | Linux , macOS и Windows |
Платформа | ИА-32 , x86-64 , ARM |
Лицензия | МОЯ лицензия [4] |
Веб-сайт | www |
Электрон (ранее известный как Atom Shell [5] ) — это с открытым исходным кодом, бесплатная программная платформа разработанная и поддерживаемая OpenJS Foundation . [6] Платформа предназначена для создания настольных приложений с использованием веб-технологий (в основном HTML , CSS и JavaScript , хотя возможны и другие технологии, такие как интерфейсные платформы и WebAssembly ), которые отображаются с использованием версии движка браузера Chromium и серверной части с использованием Node.js. Среда выполнения [7] Он также использует различные API для реализации таких функций, как встроенная интеграция со службами Node.js и модуль межпроцессного взаимодействия .
Электрон изначально был создан для Атома. [5] и является основной структурой графического пользовательского интерфейса, лежащей в основе нескольких других проектов с открытым исходным кодом, включая GitHub Desktop , Light Table , [8] Код Visual Studio , WordPress рабочий стол [9] и Затмение Тейя . [10]
Архитектура
[ редактировать ]Электронные приложения включают в себя «основной» процесс и несколько процессов «рендеринга». Основной процесс запускает логику приложения (например, меню, команды оболочки, события жизненного цикла), а затем может запускать несколько процессов рендеринга, создавая экземпляр BrowserWindow
класс, который загружает окно, появляющееся на экране, путем рендеринга HTML и CSS .
И основной процесс, и процесс рендеринга могут работать с интеграцией Node.js, если nodeIntegration
поле в основном процессе установлено на true
.
Большинство API-интерфейсов Electron написаны на C++ или Objective-C и доступны непосредственно коду приложения через привязки JavaScript . [11]
История
[ редактировать ]В сентябре 2021 года Electron перешла на восьминедельный цикл выпуска между основными версиями, чтобы соответствовать циклу выпуска Chromium Extended Stable и соответствовать новому требованию Microsoft Store , которое требует, чтобы браузерные приложения находились в пределах двух основных версий. последняя версия движка браузера. [12]
Electron часто выпускает новые основные версии вместе с каждым вторым выпуском Chromium . Последние три стабильные версии поддерживаются командой Electron. [13]
Выпускать | Статус | Дата выпуска | Дата окончания срока службы | Хромированная версия | Версия Node.js | Версия модуля | Версия N-API | версия отделения интенсивной терапии |
---|---|---|---|---|---|---|---|---|
v31.xy. | [3] | Альфа.? | ? | ? | ? | ? | ? | ? |
v30.xy. | Текущая | 16 апреля 2024 г. | ? | 124 | 20.11 | ? | ? | ? |
v29.xy. | Активна. | 20 февраля 2024 г. | 20 августа 2024 г. | 122 | 20.9 | ? | ? | ? |
v28.xy. | окончание срока службы. | 5 декабря 2023 г. [14] | 11 июня 2024 г. | 120 | 18.18 | ? | ? | ? |
v27.xy. | окончание срока службы. | 10 октября 2023 г. [15] | 16 апреля 2024 г. | 118 | 18.17 | ? | ? | ? |
v26.xy. | окончание срока службы. | 15 августа 2023 г. [16] | 20 февраля 2024 г. | 116 | 18.16 | ? | ? | ? |
v25.xy. | окончание срока службы. | 30 мая 2023 г. [17] | 5 декабря 2023 г. | 114 | 18.15 | ? | ? | ? |
v24.xy. | окончание срока службы. | 4 апреля 2023 г. [18] | 10 октября 2023 г. | 112 | 18.14 | ? | ? | ? |
v23.xy. | окончание срока службы. | 30 ноября 2022 г. [19] | 15 августа 2023 г. | 110 | 18.12 | ? | ? | ? |
v22.xy. | окончание срока службы. | 30 ноября 2022 г. [20] | 10 октября 2023 г. | 108 | 16.17 | ? | ? | ? |
v21.xy. | окончание срока службы. | 26 сентября 2022 г. [21] | 4 апреля 2023 г. | 106 | 16.16 | ? | ? | ? |
v20.xy. | окончание срока службы. | 2 августа 2022 г. [22] | 7 февраля 2023 г. | 104 | 16.15 | ? | ? | ? |
v19.xy. | окончание срока службы. | 24 мая 2022 г. [23] | 29 ноября 2022 г. [20] | 102 | 16.14 | 106 | ? | ? |
v18.xy. | окончание срока службы. | 29 марта 2022 г. [24] | 26 сентября 2022 г. [21] | 100 | 16.13 | 103 | ? | ? |
v17.xy. | окончание срока службы. | 1 февраля 2022 г. [25] | 2 августа 2022 г. | 98 | 16.13 | 101 | ? | ? |
v16.xy. | окончание срока службы. | 15 ноября 2021 г. [26] | 24 мая 2022 г. [23] | 96 | 16.9 | 99 | ? | ? |
v15.xy. | окончание срока службы. | 21 сентября 2021 г. | 24 мая 2022 г. [23] | 94 | 16.5 | 98 | ? | ? |
v14.xy. | окончание срока службы. | 30 августа 2021 г. | 29 марта 2022 г. [24] | 92 | 14.17 | 89 | 8 | 69.1 |
v13.xy. | окончание срока службы. | 25 мая 2021 г. | 31 января 2022 г. [25] | 91 | 14.16 | 89 | 7 | 68.1 |
v12.0.x. | окончание срока службы. | 2 марта 2021 г. | 15 ноября 2021 г. [26] | 89 | 14.16 | 87 | 7 | 68.1 |
v11.4.x. | окончание срока службы. | 16 ноября 2020 г. | 30 августа 2021 г. | 87 | 12.18 | 85 | 5 | 65.1 |
v10.4.x. | окончание срока службы. | 25 августа 2020 г. | 25 мая 2021 г. | 85 | 12.16 | 82 | 5 | 65.1 |
v9.4.x. | окончание срока службы. | 18 мая 2020 г. | 2 марта 2021 г. | 83 | 12.14 | 80 | 5 | 65.1 |
v8.3.x. | окончание срока службы. | 4 февраля 2020 г. | 16 ноября 2020 г. | 80 | 12.13 | 76 | 5 | 65.1 |
v7.3.x. | окончание срока службы. | 22 октября 2019 г. | 25 августа 2020 г. | 78 | 12.8 | 75 | 4 | 64.2 |
v6.1.x. | окончание срока службы. | 29 июля 2019 г. | 18 мая 2020 г. | 76 | 12.4 | 73 | 4 | 64.2 |
v5.1.x. | окончание срока службы. | 24 апреля 2019 г. | 4 февраля 2020 г. | 73 | 12.0 | 70 | 4 | 63.1 |
v4.2.x. | окончание срока службы. | 20 декабря 2018 г. | 22 октября 2019 г. | 69 | 10.11 | 69 | 3 | 62.2 |
v3.1.x. | окончание срока службы. | 18 сентября 2018 г. | 29 июля 2019 г. | 66 | 10.2 | 64 | 3 | ? |
v2.0.x. | окончание срока службы. | 1 мая 2018 г. | 24 апреля 2019 г. | 61 | 8.9 | 57 | ? | ? |
v1.8.x. | окончание срока службы. | 12 декабря 2017 г. | 20 декабря 2018 г. | 59 | 8.2 | 57 | ? | ? |
Использование
[ редактировать ]Настольные приложения, созданные с помощью Electron, включают Atom , [27] баленаЕтчер , [28] Затмение Тейя , [10] Microsoft Teams до версии 2.0, [29] [30] Слабый [31] и код Visual Studio . [32] [33] Браузер Brave был основан на Electron, прежде чем он был переписан для прямого использования Chromium. [34]
Прием
[ редактировать ]Самая распространенная критика Electron заключается в том, что он требует раздувания программного обеспечения при использовании для простых программ. [35] В результате Майкл Ларабель назвал эту платформу «печально известной среди большинства пользователей настольных компьютеров Linux тем, что она требует много ресурсов, плохо интегрируется с большинством настольных компьютеров и в целом ее презирают». [36] Между тем, Джои Снеддон утверждает, что этот компромисс разумен, поскольку Electron значительно снижает затраты на разработку и поддержку кроссплатформенного программного обеспечения. [37]
Исследователи показали, что большой набор функций Electron может быть захвачен злоумышленниками, имеющими доступ на запись к исходным файлам JavaScript. Для этого требуется root-доступ в *nix-системах, и разработчики Electron не считают его уязвимостью. [38] Те, кто обеспокоен тем, что Electron не всегда основан на новейшей версии Chromium, рекомендуют прогрессивные веб-приложения . в качестве альтернативы [39]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «электрон/электрон» . Гитхаб . Архивировано из оригинала 2 августа 2016 года . Проверено 8 мая 2018 г.
- ^ «Выпуск электрона v31.2.1 · электрон/электрон» . Проверено 20 июля 2024 г.
- ^ Перейти обратно: а б «Выпустить электрон v31.0.0-альфа.3 · электрон/электрон» . Гитхаб . 1 мая 2024 г. Проверено 3 мая 2024 г.
- ^ «электрон/ЛИЦЕНЗИЯ у мастера» . Гитхаб . Архивировано из оригинала 12 мая 2017 года . Проверено 3 июля 2020 г.
- ^ Перейти обратно: а б Савицкий, Кевин (23 апреля 2015 г.). «Атомная оболочка теперь превратилась в электрон» . Электрон . Архивировано из оригинала 9 ноября 2017 года . Проверено 6 января 2022 г.
- ^ «Создавайте кроссплатформенные настольные приложения с помощью JavaScript, HTML и CSS | Electron» . Архивировано из оригинала 9 мая 2022 года . Проверено 1 февраля 2023 г.
- ^ «Внутреннее устройство Electron: использование Node в качестве библиотеки» . электронджс.орг . 8 августа 2016 года. Архивировано из оригинала 9 ноября 2017 года . Проверено 3 июля 2020 г.
- ^ Хорнер, Габриэль (10 декабря 2015 г.). «Световой стол 0.8.0» . Lighttable.com. Архивировано из оригинала 13 декабря 2015 года . Проверено 3 июля 2020 г.
- ^ «Репозиторий GitHub» . Гитхаб . Архивировано из оригинала 19 февраля 2016 года . Проверено 16 июня 2019 г.
- ^ Перейти обратно: а б «Theia — облачная и настольная платформа IDE» . theia-ide.org . Архивировано из оригинала 20 апреля 2018 года . Проверено 31 декабря 2021 г.
- ^ «От нативного JavaScript в Electron | Блог Electron» . электронджс.орг . 19 марта 2019 года. Архивировано из оригинала 26 апреля 2019 года . Проверено 26 апреля 2019 г.
- ^ «Каденс выпуска новых электронов | Электрон» . электронджс.орг . 14 июля 2021 года. Архивировано из оригинала 14 июля 2021 года . Проверено 9 февраля 2022 г.
- ^ «Электронные релизы | Электрон» . электронджс.орг . Архивировано из оригинала 16 декабря 2022 года . Проверено 16 декабря 2022 г.
- ^ «Выпустить электрон v28.0.0 · электрон/электрон» . Гитхаб . 4 декабря 2023 года. Архивировано из оригинала 14 декабря 2023 года . Проверено 14 декабря 2023 г.
- ^ «Выпустить электрон v27.0.0 · электрон/электрон» . Гитхаб . 10 октября 2023 года. Архивировано из оригинала 11 октября 2023 года . Проверено 11 октября 2023 г.
- ^ «Выпуск электрона v26.0.0 · электрон/электрон» . Гитхаб . Архивировано из оригинала 23 сентября 2023 года . Проверено 23 сентября 2023 г.
- ^ «Выпустить электрон v25.0.0 · электрон/электрон» . Гитхаб . Архивировано из оригинала 23 сентября 2023 года . Проверено 23 сентября 2023 г.
- ^ «Выпустить электрон v24.0.0 · электрон/электрон» . Гитхаб . Архивировано из оригинала 23 сентября 2023 года . Проверено 23 сентября 2023 г.
- ^ «Выпустить электрон v23.0.0 · электрон/электрон» . Гитхаб . Архивировано из оригинала 23 сентября 2023 года . Проверено 23 сентября 2023 г.
- ^ Перейти обратно: а б «Выпуск электрона v22.0.0 · электрон/электрон» . Гитхаб . Архивировано из оригинала 15 декабря 2022 года . Проверено 16 декабря 2022 г.
- ^ Перейти обратно: а б «Выпуск электрона v21.0.0 · электрон/электрон» . Гитхаб . Архивировано из оригинала 16 декабря 2022 года . Проверено 16 декабря 2022 г.
- ^ «Выпуск электрона v20.0.0 · электрон/электрон» . Гитхаб . Архивировано из оригинала 16 декабря 2022 года . Проверено 16 декабря 2022 г.
- ^ Перейти обратно: а б с «Выпустить электрон v19.0.0 · электрон/электрон» . Гитхаб . Архивировано из оригинала 31 мая 2022 года . Проверено 31 мая 2022 г.
- ^ Перейти обратно: а б «Выпуск электрона v18.0.0 · электрон/электрон» . Гитхаб . Архивировано из оригинала 4 мая 2022 года . Проверено 4 мая 2022 г.
- ^ Перейти обратно: а б «Выпустить электрон v17.0.0 · электрон/электрон» . Гитхаб . Архивировано из оригинала 12 февраля 2022 года . Проверено 28 февраля 2022 г.
- ^ Перейти обратно: а б «Выпуск электрона v16.0.0 · электрон/электрон» . Гитхаб . Архивировано из оригинала 6 декабря 2021 года . Проверено 3 декабря 2021 г.
- ^ Савицкий, Кевин (23 апреля 2015 г.). «Атомная оболочка теперь превратилась в электрон» . Электрон . Архивировано из оригинала 16 октября 2019 года . Проверено 15 июля 2017 г.
- ^ «Etcher на GitHub» . Гитхаб . Архивировано из оригинала 16 ноября 2018 года . Проверено 7 июля 2020 г.
- ^ мсдмагуайр. «Как Microsoft Teams использует память — Microsoft Teams» . docs.microsoft.com . Архивировано из оригинала 8 декабря 2020 года . Проверено 12 ноября 2021 г.
- ^ Редмонд, Тони. «Команды 2.0 отходят от Electron и переходят на Edge WebView2» . Office 365 для ИТ-специалистов . Проверено 2 августа 2024 г.
- ^ «Создание гибридных приложений с помощью Electron» . Несколько человек пишут код . 25 октября 2016 г. Архивировано из оригинала 16 октября 2019 г. . Проверено 12 августа 2017 г.
- ^ Брайт, Питер (29 апреля 2015 г.). «Новый редактор кода Microsoft создан на основе Google Chromium» . Арс Техника . Архивировано из оригинала 7 мая 2015 года . Проверено 18 ноября 2015 г.
- ^ «Проект с открытым исходным кодом» . Гитхаб . 29 марта 2022 года. Архивировано из оригинала 23 ноября 2015 года . Проверено 20 мая 2018 г.
- ^ Сингх, Джагмит (3 января 2017 г.). «Люди теперь даже занимаются машинным обучением на JavaScript» . Открытый исходный код для U. Архивировано из оригинала 7 января 2017 года . Проверено 26 августа 2022 г.
- ^ Провен, Лиам (19 ноября 2021 г.). «Некоторые жемчужины FOSS: Franz, RamBox, Pidgin и другие» . Регистр. Архивировано из оригинала 19 ноября 2021 года . Проверено 26 августа 2022 г.
- ^ Ларабель, Майкл (9 февраля 2019 г.). «Электронные приложения — это плохо, поэтому теперь вы можете создавать настольные приложения с помощью HTML5 + Golang» . Фороникс. Архивировано из оригинала 26 августа 2022 года . Проверено 26 августа 2022 г.
- ^ Снеддон, Джои (23 июля 2017 г.). «Серьезно, ребята, приложения Electron не так уж и плохи» . О боже, Убунту. Архивировано из оригинала 16 мая 2018 года . Проверено 26 августа 2022 г.
- ^ Галлахер, Шон (7 августа 2019 г.). «Skype, Slack и другие приложения на базе Electron можно легко взломать» . Арс Техника. Архивировано из оригинала 7 августа 2019 года . Проверено 26 августа 2022 г.
- ^ Хоффман, Крис (15 августа 2019 г.). «Это родное приложение, вероятно, просто старый веб-браузер» . Как компьютерщик. Архивировано из оригинала 15 августа 2019 года . Проверено 26 августа 2022 г.
Внешние ссылки
[ редактировать ]- программное обеспечение 2013 года
- Разработка кроссплатформенных десктоп-приложений
- Кроссплатформенное программное обеспечение
- Бесплатное программное обеспечение с открытым исходным кодом
- GitHub
- Гугл Хром
- бесплатное программное обеспечение Майкрософт
- Программное обеспечение, использующее лицензию MIT