Перейти к содержимому
supastack
Обзор документации
ДесктопTauri

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /ru/docs/desktop/tech-stack.md (or send Accept: text/markdown).

Стек технологий Desktop

Технологии внутри оболочки Tauri и роль каждой из них.

Задать вопрос об этом руководстве
Открыть в

Прежде чем начать

Приложение Desktop намеренно тонкое: ядро Rust владеет нативным окном, а webview загружает ваше веб-приложение. Всё ниже уже закреплено в checkout — страница объясняет, что делает каждая часть, чтобы последующие руководства были понятны.

Интерфейс продукта, аутентификация, биллинг и ИИ живут в веб-кодовой базе, которую окно загружает. Checkout только Desktop содержит только оболочку — поэтому этот стек намеренно маленький.

Tauri 2 + системный webview

Tauri 2 рендерит приложение с собственным webview операционной системы — WebView2 в Windows, WebKit в macOS, WebKitGTK в Linux — поэтому оболочка остаётся маленькой и не несёт встроенного браузерного рантайма. frontendDist указывает на apps/desktop/ui, страницу загрузки, показываемую во время загрузки веб-приложения, поэтому холодный старт никогда не рендерит пустое окно.

Rust + TypeScript

Поведение оболочки — Rust — src-tauri/src, редакция 2021, минимум Rust 1.90 — собранное cargo. Небольшие скрипты Node, написанные на TypeScript, обрабатывают предполётную проверку выпуска и манифест обновлений.

Нативные функции через плагины

Состояние окна, единственный экземпляр, deep links, глобальный горячий клавиша, трей, запуск при входе, обновление, открытие внешних ссылок, диалоги и управление процессами — всё это идёт из крейтов tauri-plugin-*; оболочка не добавляет собственных команд IPC. Добавление нативной возможности означает регистрацию ещё одного плагина или подключение уже существующих.

tauri.conf.json + capabilities

Идентификатор пакета com.supastack.desktop, список окон, опции плагинов и конечная точка обновлений живут в src-tauri/tauri.conf.json. Разрешения webview находятся в src-tauri/capabilities/default.json — сейчас core:default плюс opener:allow-open-url для ссылок системного браузера — и расширяются только когда их требует нативная функция.

Инструменты проверки

cargo test охватывает логику Rust — разрешение URL, шлюз навигации, отображение deep links, каналы обновлений, масштабирование и предпочтения окна — в то время как node --check проверяет страницу загрузки и check:release-config защищает сборки выпуска. CI собирает все три операционные системы.

corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop typecheck
corepack pnpm --filter @supastack/desktop check:release-config