Последний месяц я разбирался в
Electron и вот что узнал о разработке десктопных приложений на JS
Установщик надо подписывать подписью разработчика, а для Mac ещё и загружать сборку на сервера Apple, иначе пользователю нужно будет убеждать встроенный антивирус разрешить установку. Для Mac выпуск подписи возможен только с акаунтом разработчика, это
$99 в год. В Windows вам просто покажут предупреждение с кнопками "да" и "нет", и чтобы его убрать, нужно тоже платить, причём есть два вида подписей: обычная, который всё ещё выдаёт предупреждение при первой установке, и расширенная. Цены начинаются от $70 и $250 в год соотвественно.
Теперь про Electron. Не смотря на большой размер итогового приложения (от 120-300 мегабайт для простых приложений), многие используют именно его. В нём проще всего разобраться зная JS, а значит можно быстрее поехать в прод, что почти всегда важнее всего. Только под него есть все библиотеки, поэтому сознательно не использовать Электрон это дорого: нужно писать много кода. Однако, это интересная точка роста, которая может стать нечестным преимуществом. Например,
Spacedrive делают приложение с интерфейсом на веб-технологиях, которое весит всего 130мб! Всё потому, что они используют
Tauri, где логика приложения пишется на Rust. Ведь они могут,
а ещё у них есть два ляма.
Дальше про Electron:
- Под Mac, Windows и Linux можно собирать только из под Mac.
- Universal билды под несколько архитектур (Intel + Apple Silicon, ARM + x64) весят больше в 1.5 раза на моих примерах, поэтому желательно собирать отдельные установщики.
- Есть два больших SDK: electron-builder и electron-forge. Советую брать builder, на нём мне без особых проблем удалось наладить сборку приложения с нативными зависимостями под разные платформы.
- Автообновление работает почти из коробки и бесплатно, нужно только 4 строчки в конфиге и создать пустой репозиторий в гитхабе, куда будут заливаться релизы (уже готовые сборки, без исходников).