Электрон (программная среда) - Electron (software framework)
Оригинальный автор (ы) | GitHub |
---|---|
Разработчики) | Фонд OpenJS |
изначальный выпуск | 15 июля 2013 г.[1] |
Стабильный выпуск | 11.1.0 / 12 декабря 2020[2] |
Предварительный выпуск | 12.0.0-beta.10 / 14 декабря 2020 г.[2] |
Репозиторий | |
Написано в | C ++, JavaScript, Цель-C ++, Python и Цель-C |
Операционная система | Linux, macOS и Windows |
Платформа | IA-32, x86-64, РУКА |
Лицензия | Лицензия MIT[3] |
Интернет сайт | www |
Электрон (ранее известный как Atom Shell[4]) является Открытый исходный код программная среда разработан и поддерживается GitHub.[5] Это позволяет развивать рабочий стол GUI приложений с использованием веб-технологий: он сочетает в себе Хром движок рендеринга и Node.js время выполнения.[6] Electron - это основная среда графического интерфейса пользователя, стоящая за несколькими проектами с открытым исходным кодом, включая Атом,[7] GitHub Desktop,[8] Световой стол,[9] Код Visual Studio,[10] Evernote,[11] и WordPress Рабочий стол.[12]
Архитектура
Электронные приложения состоят из нескольких процессов. Есть «главный» процесс и несколько процессов «рендерера». Основной процесс запускает логику приложения, а затем может запускать несколько процессов рендеринга, отображая окна, которые появляются на экране пользователя. HTML и CSS.
Как основной процесс, так и процесс рендеринга могут работать с интеграцией Node.js, если она включена.
Большинство API-интерфейсов Electron написаны на C ++ или же Цель-C а затем открывается непосредственно коду приложения через JavaScript привязки.[13]
Безопасность
Поскольку приложения Electron веб-приложения запущенные в движке Chromium, они могут быть уязвимы для сетевых атак, таких как атаки межсайтового скриптинга, через те же векторы атак, что и браузер (например, Chromium) или другие внутренние компоненты (Node.js), при использовании определенных версий Electron .[14] Примеры таких уязвимостей были исправлены в выпусках 1.7.13, 1.8.4 и 2.0.0-beta.5 Electron.[15]
Критика
Электронные приложения критиковались за то, что они содержали очень важные накладные расходы из-за их зависимости от Chromium. В сравнении с родные Приложения с аналогичной функциональностью, приложения Electron занимают гораздо больше места для хранения и оперативной памяти, но работают медленнее и предоставляют неродной пользовательский интерфейс.[16][17] Было написано несколько альтернатив для использования существующего браузера вместо связывания Chromium.[18]
Версии
Релиз | Положение дел | Дата выхода | Версия Chromium | Версия Node.js | Версия модуля | Версия N-API | Версия ICU |
---|---|---|---|---|---|---|---|
v12.0.x | По ночам | TBD | TBD | 14.15[19] | |||
v11.0.x | Текущий | 2020-11-16 | 87 | 12.18 | 82 | 5 | 65.1 |
v10.0.x | Активный | 2020-08-25 | 85 | 12.16 | 82 | 5 | 65.1 |
v9.0.x | Активный | 2020-05-18 | 83 | 12.14 | 80 | 5 | 65.1 |
v8.3.x | Конец жизни | 2020-02-04 | 80 | 12.13 | 76 | 5 | 65.1 |
v7.3.x | Конец жизни | 2019-10-22 | 78 | 12.8 | 75 | 4 | 64.2 |
v6.1.x | Конец жизни | 2019-07-29 | 76 | 12.4 | 73 | 4 | 64.2 |
v5.1.x | Конец жизни | 2019-04-24 | 73 | 12.0 | 70 | 4 | 63.1 |
v4.2.x | Конец жизни | 2018-12-20 | 69 | 10.11 | 69 | 3 | 62.2 |
v3.1.x | Конец жизни | 2018-09-18 | 66 | 10.2 | 64 | 3 | ? |
v2.0.x | Конец жизни | 2018-05-01 | 61 | 8.9 | 57 | ? | ? |
v1.8.x | Конец жизни | 2017-12-12 | 59 | 8.2 | 57 | ? | ? |
Программное обеспечение с использованием Electron
На Electron создан ряд настольных приложений, в том числе:[20]
- Атом[21]
- Базовый лагерь 3[20]
- Beaker (веб-браузер)
- Bitwarden
- CrashPlan[22]
- Cryptocat[20] (снято с производства)
- Раздор
- BalenaEtcher[23]
- GitHub Desktop[24]
- Keybase
- GitKraken
- Световой стол
- Команды Microsoft[25]
- Компас MongoDB[20]
- Понятие[20]
- Квазар Фреймворк
- Сдвиг[20]
- Сигнал
- Skype[20]
- Слабина[26]
- Симфонический чат[27]
- TIDAL[20]
- Twitch[20]
- Код Visual Studio[28][29]
- WebTorrent[20]
- Проволока[30]
- Yammer
Ответвление
Электрон.НЕТ
27 октября 2017 года сообщество выпустило порт под названием Электрон.НЕТ для .NET Core рамки. Это проект с открытым исходным кодом, который позволяет использовать собственные API-интерфейсы Electron с помощью C # язык программирования. Разработчик .NET остается в своей обычной экосистеме, а не использует JavaScript.[нужна цитата ]
Смотрите также
Рекомендации
- ^ «электрон / электрон». GitHub. Получено 8 мая 2018.
- ^ а б «Выбросы - электрон / электрон». Получено 14 декабря 2020 - через GitHub.
- ^ "Электрон / ЛИЦЕНЗИЯ у мастера". GitHub. Получено 3 июля 2020.
- ^ Савицкий, Кевин (23 апреля 2015 г.). "Atom Shell теперь Electron". Атом. Получено 3 июля 2020.
- ^ «электрон / электрон». GitHub. Получено 8 мая 2018.
- ^ «Электронное устройство: использование узла в качестве библиотеки». electronicjs.org. Получено 3 июля 2020.
- ^ «атом / атом». GitHub. Получено 8 мая 2018.
- ^ "GitHub Desktop". GitHub. Получено 16 июн 2019.
- ^ Хорнер, Габриэль (10 декабря 2015 г.). «Световой стол 0.8.0». lighttable.com. Получено 3 июля 2020.
- ^ Джеймс, Майк (23 ноября 2015 г.). «Код Visual Studio - теперь с добавленными расширениями». Я программист. Получено 3 июля 2020.
- ^ Смолл, Ян (7 октября 2020 г.). «Представляем новый Evernote для Windows и Mac». Я программист. Получено 3 ноября 2020.
- ^ "Репозиторий GitHub". Получено 16 июн 2019.
- ^ "От родного к JavaScript в электронном | Электронный блог". electronicjs.org. Получено 26 апреля 2019.
- ^ «Электронный узелИнтеграционный обход». 10 мая 2018.
- ^ «Исправление уязвимости Webview». 21 марта 2018.
- ^ «Электрон считается вредным». Блог Дрю ДеВолта. Получено 2 октября 2019.
- ^ Бейер, Каспер. «Электрон - это рак». Журнал фиксации. Середина. Получено 2 октября 2019.
- ^ РС, Судхакар (8 октября 2020 г.). "электронные альтернативы: здесь перечислены несколько вариантов разработки кроссплатформенных настольных графических приложений". GitHub.
- ^ "chore: bump node to v14.15.1 (master) # 26533". 17 ноября 2020 г.. Получено 1 декабря 2020.
- ^ а б c d е ж грамм час я j "Программы". Электрон. Получено 13 июн 2020.
- ^ Савицкий, Кевин (23 апреля 2015 г.). "Atom Shell теперь Electron". Электрон. Получено 15 июля 2017.
- ^ «CrashPlan для малого бизнеса версии 6.7». Примечания к выпуску Code42 CrashPlan. Получено 25 апреля 2018.
- ^ "Etcher на GitHub". Получено 7 июля 2020.
- ^ Хаак, Фил (16 мая 2017 г.). «Объявление об интеграции Git для Atom и GitHub Desktop Beta». Блог GitHub. Получено 15 июля 2017.
- ^ «Электронный помощник и брендинг». techcommunity.microsoft.com. 20 мая 2017. Получено 8 мая 2018.
- ^ «Создание гибридных приложений с помощью Electron». Кодируют несколько человек. Получено 12 августа 2017.
- ^ "symphonyoss / SymphonyElectron". GitHub. Получено 27 сентября 2018.
- ^ Брайт, Питер (29 апреля 2015). «Новый редактор кода Microsoft построен на Google Chromium». Ars Technica. Получено 18 ноября 2015.
- ^ «Проект с открытым исходным кодом».
- ^ "WireApp / Wire-Desktop". GitHub. Получено 8 мая 2018.