Ключевые выводы
- Electron - это оболочка, которая запускает веб-сайты как приложения на вашем компьютере.
- Эти кроссплатформенные приложения создавать проще и быстрее.
- Приложения редко бывают такими совершенными или интегрированными, как официально поддерживаемые приложения.
Веб-приложения разбросаны по всему Интернету, и теперь они захватывают ваш компьютер.
«Электрон» - это имя, которое может вызвать дрожь даже у самых случайных пользователей Mac. Это способ для разработчиков написать свое приложение один раз и запустить его в Windows, Mac и в веб-браузере. Но это потому, что приложения Electron работают в браузере, браузере на основе Chromium, замаскированном под приложение. И теперь Agile Bits, разработчик 1Password, отказывается от своего официального приложения для Mac в пользу Electron. Звучит не так уж плохо, так почему же люди так злятся?
«Благодаря движку Chromium с Electron приложения отображаются так, как если бы они работали в браузере. Однако за это приходится платить: высокая загрузка ЦП и ОЗУ по сравнению с [официально поддерживаемыми] приложениями», - сообщил Lifewire разработчик приложения Бурак Оздемир по электронной почте.
Больше электронов, больше проблем
Оздемир попадает прямо в точку. Самая большая проблема с Electron, с практической точки зрения, заключается в том, что он потребляет ресурсы вашего компьютера. Он запускает веб-браузер вместе с несколькими дополнительными вспомогательными процессами для каждого используемого вами приложения Electron.
Эти браузеры потребляют абсурдное количество оперативной памяти вашего компьютера, а также нагружают процессор. Короче говоря, ваш компьютер будет нагреваться сильнее и потреблять больше энергии, что приведет к более быстрой разрядке аккумулятора.
Разработчики ценят Electron, потому что с ним меньше работы. Вам нужно написать приложение только один раз, и оно работает на любой платформе, поддерживающей Electron.
Но, возможно, вас это не волнует. Может быть, вы используете большой, мощный настольный компьютер, который всегда подключен к сети, и вам не нужно тратить электроэнергию впустую. Это подводит нас ко второй и, возможно, более важной причине, по которой пользователи Mac не любят Electron.
Каждая компьютерная платформа имеет свой внешний вид. На Mac все диалоговые окна выглядят одинаково. Сочетания клавиш одинаковы для всех приложений, клавиша ⌘ открывает окно настроек приложения и т. д.
Приложения Electron нарушают эту согласованность, хотя и стараются этого не делать - они переводят уведомления и меню в версии, соответствующие платформе, но общий дизайн приложений редко следует соглашениям платформы. Это кажется неизбежным, если вы разрабатываете приложение, которое работает как на Windows, так и на macOS - вы не сможете работать на обеих платформах.
Хуже того, приложения Electron часто ведут себя совсем не так, как их встроенные аналоги. Приложение Slack Mac, например, делает всевозможные странные вещи, когда вы нажимаете клавиши со стрелками или используете стандартные системные сочетания клавиш для навигации по набранному тексту. И нет стандартной панели настроек - вместо этого вы получаете веб-страницу.
Почему разработчики используют это
Разработчики ценят Electron, потому что с ним меньше работы. Вам нужно написать приложение только один раз, и оно работает на любой платформе, поддерживающей Electron. Это значительное преимущество, когда вы строите стартап. В наши дни Интернет сам по себе часто является основной платформой, а приложения для Mac, Windows или Linux занимают далекое третье место после iPhone, iPad и Android..
«Многие разработчики будут использовать Electron для приложений на базе Mac, потому что платформа позволяет один раз написать код приложения и развернуть его на macOS», - сказал сетевой инженер Эрик Макги Lifewire по электронной почте. «Этот фреймворк также обеспечивает богатый пользовательский интерфейс для настольных приложений, созданных на его основе».
Электронная разработка также удобна для людей, которые уже делают веб-приложения. В нем используются те же самые технологии - HTML, CSS и JavaScript, - поэтому нет необходимости изучать новый язык или нанимать новых разработчиков, которые их знают.
iPhone First
Так почему же Electron не используется и на мобильных устройствах? Разработчикам это может понравиться, и на одну работу меньше, но Electron недостаточно хорош.
«[Электрон] потребляет большой объем оперативной памяти и требует большого объема хранилища, что делает его плохим выбором для приложений iOS, которые должны быть быстрыми, легкими и оказывать минимальное давление на оперативную память», - говорит МакГи.
Другая причина в том, что Apple этого не допустит. Apple усложняет жизнь разработчикам, отправляя приложения Electron в Mac App Store, но это возможно, и также легко просто загрузить приложение и установить его напрямую.
Самая большая проблема с Electron, с практической точки зрения, заключается в том, что он потребляет ресурсы вашего компьютера.
На iOS Apple не позволяет каким-либо приложениям запускать собственный механизм веб-рендеринга. То есть приложения могут использовать только WebKit, на котором работает Safari. Даже настоящие веб-браузеры на iOS - Chrome, Firefox, Brave - используют WebKit вместо собственной технологии.
Это означает, что вы не можете запустить серверную часть Chromium, необходимую для приложений Electron, что, в свою очередь, заставляет разработчиков разрабатывать правильные приложения.
Электрон, вероятно, никуда не денется, пока Интернет и мобильные устройства остаются основными платформами для сервисов и приложений. Но это не значит, что вам должны нравиться приложения Electron или позволять им разряжать вашу батарею, уродуя ваш компьютер. Возможно, остановитесь на официально поддерживаемых приложениях, где это возможно.