Electrobun: Как перестать бояться Electron и полюбить десктопную разработку на Bun и Zig

21 фев 2026
12,732
359
49
2 недели

Знакомая ситуация: вы хотите собрать небольшое десктопное приложение, но стоит добавить туда Electron, как размер бандла улетает за 100 МБ, а оперативная память начинает «таять» на глазах? Долгое время это было неизбежным злом для веб-разработчиков. Но кажется, на горизонте появился проект, который готов бросить вызов «тяжеловесам». Знакомьтесь — Electrobun.

Что это за зверь?

Electrobun — это амбициозная попытка создать «всё в одном» для сборки ультрабыстрых и крошечных десктопных приложений на TypeScript. Если Electron — это огромный комбайн, то Electrobun — это юркий и мощный спорткар.

Секрет его скорости кроется в «начинке»:

  1. Bun в качестве основного процесса. Это дает нам невероятную скорость запуска и встроенный бандлер.
  2. Zig для нативных привязок (bindings). Этот современный системный язык позволяет общаться с ОС максимально эффективно.
  3. Системный WebView. Вместо того чтобы тащить за собой целую копию Chromium, Electrobun использует то, что уже есть в вашей операционной системе.

Почему разработчикам стоит обратить на него внимание?

Главная проблема современных кроссплатформенных фреймворков — это либо сложность освоения (привет, Rust в Tauri), либо избыточность. Electrobun пытается найти «золотую середину».

Реклама

1. Вес имеет значение

Помните те самые 100+ МБ пустого приложения на Electron? Забудьте. Приложения на Electrobun весят около 12 МБ. Этого удалось достичь благодаря использованию системного WebView. Основную часть веса при этом занимает рантайм Bun, который сам по себе очень компактен.

2. Обновления размером с чашку кофе

Интересная фишка проекта — использование bsdiff для дельта-обновлений. Если вы изменили пару строчек кода, пользователю не нужно скачивать приложение заново. Обновление может весить всего 14 КБ. Это просто подарок для разработчиков, которые любят часто релизить мелкие фиксы.

3. Типизированный RPC «из коробки»

Взаимодействие между основным процессом (main) и окном приложения (webview) всегда было головной болью. В Electrobun реализован быстрый и полностью типизированный RPC-механизм. Вы просто вызываете функции, а TypeScript следит, чтобы вы не передали строку там, где ожидается число.

4. Родной TypeScript

Вам не нужно настраивать сложные конфиги Webpack или Vite. Благодаря Bun, вы просто пишете на TypeScript, и всё «просто работает». Создатели обещают, что вы сможете перейти от чистого листа к готовому дистрибутиву всего за 10 минут.

Как это выглядит в деле?

Чтобы начать, достаточно одной команды:

npx electrobun init

Эта команда развернет шаблон, и вы сразу сможете приступить к коду. Кстати, архитектурно проект разделен на два лагеря:

  • Main процесс: здесь живет логика работы с файлами, системными уведомлениями и сетью. Работает на Bun.
  • Webview процесс: здесь ваш UI (React, Vue, или чистый HTML/JS).

Между ними прокинут «мостик», который работает настолько быстро, что задержки практически не ощущаются.

Техническая «магия» под капотом

Если заглянуть в исходники, можно увидеть, как красиво подружились разные миры. Zig здесь выступает в роли клея, который связывает высокоуровневый TypeScript с низкоуровневыми API операционных систем (macOS, Windows, Linux).

Интересно, что разработчики не просто сделали обертку, а продумали весь жизненный цикл приложения: от сборки до дистрибуции. Использование системного WebView — решение спорное для тех, кому важна идентичность пикселей во всех ОС, но для 90% бизнес-задач это идеальный компромисс в пользу производительности и легкости.

Что уже написали на Electrobun?

Проект еще молодой, но на нем уже создают впечатляющие вещи. Например:

  • Audio TTS: десктопное приложение для генерации и клонирования голоса с использованием нейросетей.
  • Co(lab): гибрид браузера и редактора кода для глубокой сфокусированной работы.

Audio TTS Demo

Стоит ли пробовать прямо сейчас?

Если вам нужно создать внутренний инструмент для компании, личный пет-проект или легковесную утилиту — однозначно да.

Electrobun официально поддерживает macOS 14+, Windows 11+ и современные дистрибутивы Linux (Ubuntu 22.04+). Конечно, проект находится в активной стадии разработки (об этом говорят и 54 открытых Issue), но динамика впечатляет — почти 6000 звезд на GitHub говорят о том, что сообщество очень ждало подобный инструмент.

В моей практике часто случалось, что проект умирал под собственным весом еще на этапе прототипа просто потому, что Electron «не вывозил» на слабых машинах. Electrobun дает надежду, что десктопная разработка снова станет легкой и приятной.


Готовы попробовать? Заглядывайте в репозиторий проекта и не забудьте поставить звезду авторам за смелость бросить вызов гигантам!

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.