TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Cododel.dev | Александр

28 Aug, 11:40

Открыть в Telegram Поделиться Пожаловаться

Почему Electron до сих пор выбирают вместо Tauri

С момента стабильного релиза v2 Tauri прошло больше двух лет, Карл! Какого черта!?


У Tauri своих проблем хватает:

Он использует системный webview, потому фронтенд рантайм намеренно не фиксирован.
На macOS это WebKit, на Windows — WebView2 (Edge Chromium), на Linux — WebKitGTK (Linux-порт WebKit, но другая системная обвязка). Чек прикрепленную таблицу, это разные движки и системная обвязка.
Поэтому поведение и доступность API зависят от ОС и версий.

Как в обычном вебе, ага, но в чем проблема?

Лично я не вижу большой проблемы работать с Tauri, это буквально та же разработка веб приложений.
Он буквально накладывает те-же обязанности на разработчика, что и в обычном вебе: проверить в нескольких браузерах и осознавать с каких версий браузеров юзер будет открывать апку.
В вебе юзаем caniuse.com, но в десктоп разработке важнее понимать что на древнем MacBook Air 2012 года юзер может вообще не открывать Safari и сидеть в Chrome. Но Tauri все равно запустится на системном WKWebView: Safari 2022 года, который больше не обновится, потому что поддержка macOS на этом железе уже прекращена.
Это всё. Буквально. Для большинства обычных desktop-апок нет минусов. Бекенд апки компилируется в бинарник из rust либо можно цепануть вообще TS-бэкенд в виде Sidecar и работать точно так же как в электроне, с чуть другим апи.
Как итог — заметно меньший базовый расход RAM и почти тот же Electron-опыт разработки... А если боишься rust - попроси агента блять сайдкар прикрутить и делай в TS.

Разрабы всё равно выбирают Electron

Казалось бы - почему тогда мы до сих пор видим новые приложения, по типу Codex desktop app на Electron, когда его же CLI написан на Rust?
Стало быть дело не в языковом барьере разработчиков? (хотя какие языковые барьеры, когда все вокруг — уже вайбкодеры...)

Это прямое следствие использования WebView у Tauri, который и снижает расход RAM.
Причины точно те же что у React vs Vue/Svelte/Lit и тп модными и крутыми фронтенд фреймворками: привычка разработчиков, предсказуемость поведения + зрелый Electron API для управления браузерным слоем.
Electron API — тупо понятнее и предсказуемее, дает более удобный контроль над сессиями, кешем, proxy, protocol interception, web contents и т.д.
И сюда же в копилку берем привычные для веб разработчика нюансы совместимости с клиентским рантаймом, которые в декстопной разработке закрываются просто включением бинарника хрома в сборку 🤷‍♂️

Если еще не дошло — Следи за буквами:
Речь о пользователях, которые не обновляют системный (!) браузер.
Сам когда обновлял Edge на винде, Safari на маке, или пакет WebKitGTK в линукс?
А твои знакомые? То-то же!))0)

Что еще есть кроме Electron и Tauri?

Небольшой ресерч показал, что действительно есть интересные проекты.
Как альтернативу - за этими ребятами можно последить, у них могут быть интересные перспективы как легковесный кроспплатформенный веб движок для десктопов:
• servo.org
• ultralig.ht

Оба могут быть интересны как легковесные кроссплатформенные веб-рантаймы для десктопа
Но идут по-разному пути: Servo строит собственный движок на Rust, а Ultralight делает компактный WebKit-based стек на C++.

Но прямо сейчас это не прямая замена Tauri или Electron.
Servo все еще экспериментальный.
А Ultralight — C++ SDK со своим стеком, интеграцией и ограничениями совместимости.

Если нужен именно полноценный Chromium, но без Electron — есть CEF. Только это тоже низкоуровневый интерфейс работы с браузером, а оконный слой, канал связи между процессами и архитектуру приложения надо собирать ручками...

Для нормальной продуктовой разработки остается только Electron и Tauri
Electron — для понятной предсказуемой продуктовой разработки.
Tauri — если выигрыш в размере и RAM важнее цены совместимости; особенно когда оборачиваешь высокопроизводительное Rust-приложение в интерфейс. (Я такое делал, у меня есть кейс реалтайм мониторинга речи с микрофона через ЦАП макбука с задержкой меньше 5ms при стандарте 0-3ms на профессиональном оборудовании)

А что касается моей RAM - обошёлся без донатов, жду апгрейда 😝

259 0 4 5 3
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot