Что вы запускаете на самом деле
Откройте вкладку процессов, и приложение на Electron рассыпется на небольшое дерево: главный процесс, несколько рендереров, процесс GPU, обработчик крашей, апдейтер. Каждый рендерер — полноценный движок Chromium со своей кучей V8, своей копией кода фреймворка и своим сборщиком мусора; с уже открытым браузером не делится ничто. Вот почему Slack с парой воркспейсов простаивает за гигабайт, а закрытие окна часто оставляет в трее живой десяток процессов.
Счёт за диск и батарею выставляется по той же логике. Инсталлятор тащит весь рантайм, поэтому «лёгкий» чат-клиент весит на диске несколько сотен мегабайт, и несколько таких уверенно перевешивают программы, которые они заменили. На ноутбуке вечно резидентное дерево Chromium стоит реальных часов батареи, а не теоретических.
Почему ощущается хуже, чем показывают цифры памяти
Память — только половина истории; ощущаемая тяжесть — это старт и задержки интерфейса. При запуске каждое приложение должно раскрутить V8, разобрать свой JavaScript-бандл и отрисовать интерфейс в движке раскладки, созданном для документов, а не нативных виджетов, — на вращающемся диске или занятом CPU это секунды пустого окна. Дальше доделывают длинные истории сообщений, анимированные эмодзи и вебвью, перерисовывающие целые переписки: движок делает универсальную работу, которую нативный клиент выполнил бы за долю цены.
Как платить меньше налога, не бросая приложения
Реалистичная цель — меньше экземпляров Chromium, а не ноль: этими приложениями пользуются, потому что там живёт сервис. Несколько привычек закрывают большую часть выигрыша. Ни одна не требует отказываться от нужного инструмента.
- Если у сервиса есть веб-версия — предпочитайте её: один рендерер в уже открытом браузере лучше целого нового рантайма
- Выключайте «сворачивать в трей» или выходите по-настоящему, чтобы дерево процессов выгружалось в конце дня
- Подрезайте воркспейсы и залогиненные аккаунты — каждый обычно держит ещё один живой рендерер
- Отключайте анимированные эмодзи, автозапуск гифок и прочие косметические переключатели, если приложение их предлагает
- Обходите сторонние комбайны, встраивающие пять сервисов в одно окно: они суммируют налог, а не делят его
- Сервис, в котором вы сидите весь день, держите закреплённой вкладкой браузера или установленной PWA — один экземпляр на всё
Вопросы и ответы
Почему приложения на Electron потребляют так много оперативной памяти?
Каждое запускает личный Chromium с отдельными процессами-рендерерами на окно или воркспейс и не делится ни с вашим браузером, ни с соседями. Пять приложений на Electron — это фактически пять браузеров, работающих бок о бок.
Есть ли более лёгкая альтернатива приложениям на Electron?
Часто да: тот же сервис в обычной вкладке браузера или установленный как PWA переиспользует уже запущенный браузер вместо ещё одного Chromium. У некоторых сервисов есть и нативные клиенты, весящие долю от Electron-сборки.
Понятно до покупки: что входит в лицензию
Разовый 30-минутный триал даёт доступ к базовым инструментам. Возможности с меткой PRO остаются закрыты до активации платной лицензии.
Читайте также
Написать нам: [email protected]