Электрон (программная среда)
![]() | |
![]() | |
Оригинальный автор(ы) | GitHub |
---|---|
Разработчик(и) | Фонд OpenJS |
Первоначальный выпуск | 15 июля 2013 г [ 1 ] |
Стабильная версия | 32.0.1 [ 2 ] ![]() |
Предварительный выпуск | 33.0.0-альфа.1 [ 3 ]
/ 20 августа 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 | версия отделения интенсивной терапии | |
---|---|---|---|---|---|---|---|---|---|
v33.xy. | [ 3 ] | Альфа.15 октября 2024 г. | 29 апреля 2025 г. | 130 | ? | ? | ? | ? | ? |
v32.xy. | [ 14 ] | Текущая20 августа 2024 г. | 4 марта 2025 г. | 128 | 20.16 | ? | ? | ? | |
v31.xy. | Активна. | 11 июня 2024 г. | 7 января 2025 г. | 126 | 20.14 | ? | ? | ? | |
v30.xy. | Активна. | 16 апреля 2024 г. | 15 октября 2024 г. | 124 | 20.11 | ? | ? | ? | |
v29.xy. | окончание срока службы. | 20 февраля 2024 г. | 20 августа 2024 г. | 122 | 20.9 | ? | ? | ? | |
v28.xy. | окончание срока службы. | 5 декабря 2023 г. [ 15 ] | 11 июня 2024 г. | 120 | 18.18 | ? | ? | ? | |
v27.xy. | окончание срока службы. | 10 октября 2023 г. [ 16 ] | 16 апреля 2024 г. | 118 | 18.17 | ? | ? | ? | |
v26.xy. | окончание срока службы. | 15 августа 2023 г. [ 17 ] | 20 февраля 2024 г. | 116 | 18.16 | ? | ? | ? | |
v25.xy. | окончание срока службы. | 30 мая 2023 г. [ 18 ] | 5 декабря 2023 г. | 114 | 18.15 | ? | ? | ? | |
v24.xy. | окончание срока службы. | 4 апреля 2023 г. [ 19 ] | 10 октября 2023 г. | 112 | 18.14 | ? | ? | ? | |
v23.xy. | окончание срока службы. | 30 ноября 2022 г. [ 20 ] | 15 августа 2023 г. | 110 | 18.12 | ? | ? | ? | |
v22.xy. | окончание срока службы. | 30 ноября 2022 г. [ 21 ] | 10 октября 2023 г. | 108 | 16.17 | ? | ? | ? | |
v21.xy. | окончание срока службы. | 26 сентября 2022 г. [ 22 ] | 4 апреля 2023 г. | 106 | 16.16 | ? | ? | ? | |
v20.xy. | окончание срока службы. | 2 августа 2022 г. [ 23 ] | 7 февраля 2023 г. | 104 | 16.15 | ? | ? | ? | |
v19.xy. | окончание срока службы. | 24 мая 2022 г. [ 24 ] | 29 ноября 2022 г. [ 21 ] | 102 | 16.14 | 106 | ? | ? | |
v18.xy. | окончание срока службы. | 29 марта 2022 г. [ 25 ] | 26 сентября 2022 г. [ 22 ] | 100 | 16.13 | 103 | ? | ? | |
v17.xy. | окончание срока службы. | 1 февраля 2022 г. [ 26 ] | 2 августа 2022 г. | 98 | 16.13 | 101 | ? | ? | |
v16.xy. | окончание срока службы. | 15 ноября 2021 г. [ 27 ] | 24 мая 2022 г. [ 24 ] | 96 | 16.9 | 99 | ? | ? | |
v15.xy. | окончание срока службы. | 21 сентября 2021 г. | 24 мая 2022 г. [ 24 ] | 94 | 16.5 | 98 | ? | ? | |
v14.xy. | окончание срока службы. | 30 августа 2021 г. | 29 марта 2022 г. [ 25 ] | 92 | 14.17 | 89 | 8 | 69.1 | |
v13.xy. | окончание срока службы. | 25 мая 2021 г. | 31 января 2022 г. [ 26 ] | 91 | 14.16 | 89 | 7 | 68.1 | |
v12.0.x. | окончание срока службы. | 2 марта 2021 г. | 15 ноября 2021 г. [ 27 ] | 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 , [ 28 ] баленаЕтчер , [ 29 ] Затмение Тейя , [ 10 ] Microsoft Teams до версии 2.0, [ 30 ] [ 31 ] Слабый [ 32 ] и код Visual Studio . [ 33 ] [ 34 ] Браузер Brave был основан на Electron, прежде чем он был переписан для прямого использования Chromium. [ 35 ]
Прием
[ редактировать ]Наиболее распространенная критика Electron заключается в том, что он требует раздувания программного обеспечения при использовании для простых программ. [ 36 ] В результате Майкл Ларабель назвал эту платформу «печально известной среди большинства пользователей настольных компьютеров Linux из-за ее ресурсоемкости, плохой интеграции с большинством настольных компьютеров и, как правило, ее презирают». [ 37 ] Между тем, Джои Снеддон утверждает, что этот компромисс разумен, поскольку Electron значительно снижает затраты на разработку и поддержку кроссплатформенного программного обеспечения. [ 38 ]
Исследователи показали, что большой набор функций Electron может быть захвачен злоумышленниками, имеющими доступ на запись к исходным файлам JavaScript. Для этого требуется root-доступ в системах *nix, и разработчики Electron не считают его уязвимостью. [ 39 ] Те, кто обеспокоен тем, что Electron не всегда основан на новейшей версии Chromium, рекомендуют прогрессивные веб-приложения . в качестве альтернативы [ 40 ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «электрон/электрон» . Гитхаб . Архивировано из оригинала 2 августа 2016 года . Проверено 8 мая 2018 г.
- ^ «Выпуск 32.0.1» . 21 августа 2024 г. Проверено 22 августа 2024 г.
- ^ Перейти обратно: а б «Выпустить электрон v33.0.0-альфа.1 · электрон/электрон» . Гитхаб . 20 августа 2024 г. Проверено 4 сентября 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 г.
- ^ «Выпуск электрона v32.0.0 · электрон/электрон» . Гитхаб . 20 августа 2024 г. Проверено 4 сентября 2024 г.
- ^ «Выпустить электрон 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