Electron — открытый фреймворк для создания кроссплатформенных десктопных приложений с использованием веб-технологий: HTML, CSS и JavaScript. Разработан GitHub в 2013 году (изначально для редактора Atom). Electron объединяет Chromium (движок Chrome) для рендеринга интерфейса и Node.js для доступа к системным возможностям.
Архитектура
Приложение состоит из двух типов процессов:
- Main process — Node.js-окружение, управляет жизненным циклом приложения, создаёт окна BrowserWindow, имеет доступ к файловой системе, уведомлениям, трею
- Renderer process — Chromium-окружение для каждого окна, рендерит HTML/CSS/JS интерфейс. Изолирован от системы для безопасности
Связь между процессами через IPC (Inter-Process Communication): ipcMain и ipcRenderer.
Популярные приложения на Electron
- VS Code (Microsoft) — самый популярный редактор кода в мире
- Slack — корпоративный мессенджер
- Discord — голосовой чат для геймеров
- Figma Desktop — дизайн-инструмент
- Atom — редактор, ради которого создавался Electron (закрыт в 2022)
Критика и альтернативы
Electron критикуют за большой размер (~100–200 МБ на приложение, Chromium включён в каждое) и высокое потребление памяти. Альтернативы: Tauri (Rust + WebView системы, ~5 МБ), Flutter, Qt. Тем не менее Electron остаётся выбором большинства стартапов: быстрая разработка, нет нужды учить новые технологии.
