Repolode
DioxusLabs

DioxusLabs/dioxus

Фреймворк на Rust для создания веб-, десктопных и мобильных приложений на единой кодовой базе с компонентами и сигналами в духе React.

Open source альтернатива:React NativeElectron

Звёзды
39,451
Форки
1,938
Открытые issues
850
Последний коммит
4 дня назад

Что это?

Dioxus — фреймворк на Rust для создания пользовательских интерфейсов, работающих в вебе, на десктопе, iOS, Android и сервере. Компоненты описываются с помощью макроса RSX, похожего на HTML, а для стилизации используются обычные HTML и CSS. Состояние управляется с помощью сигналов, а встроенный CLI (dx) предоставляет dev-сервер с горячей перезагрузкой и сборку приложения для развертывания.

Для full-stack-приложений Dioxus интегрируется с веб-фреймворком axum и поддерживает серверные функции, серверный рендеринг, гидратацию, WebSockets, SSE, потоковую передачу, загрузку и скачивание файлов, а также middleware. Среди целевых сред рендеринга — DOM через WebAssembly, системные webview, серверный рендеринг, liveview и экспериментальный рендерер на базе WGPU. К нативным API можно обращаться через JNI на Android и Objective-C на платформах Apple.

В проект также входят собственные примитивные компоненты, созданные по образцу shadcn/ui и Radix Primitives. CLI dx умеет собирать файлы .ipa и .apk для мобильных устройств.

Ключевые возможности

  • 01Пишите на Rust одну кодовую базу для веба, десктопа, iOS и Android.
  • 02Горячая перезагрузка разметки и стилей, а также экспериментальное горячее обновление кода Rust.
  • 03Управление состоянием с помощью сигналов и модель компонентов в духе React.
  • 04Поддержка full-stack-разработки: интеграция с axum, серверные функции и SSR с гидратацией.
  • 05Встроенный CLI dx для dev-серверов, сборки приложений и создания мобильных пакетов.

Сценарии использования

  • Создание веб-приложения на Rust, для которого также нужна десктопная версия на той же кодовой базе.
  • Разработка мобильных приложений на Rust с нативными возможностями, которые обращаются к API платформы.
  • Создание full-stack-приложения на Rust с серверной частью на базе axum.
  • Прототипирование UI-компонентов на HTML и CSS с сохранением логики на Rust.

Быстрый старт

  1. 1

    Установите Dioxus CLI из git с помощью cargo

    cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked
  2. 2

    Запустите пример из корня репозитория

    cargo run --example <example>
  3. 3

    Запустите пример с hot-reloading на платформе web

    dx serve --example <example> --platform web -- --no-default-features

Что важно знать

  • Примеры в ветке main рассчитаны на версию из git, а не на последнюю стабильную версию; для стабильных примеров используйте ветку 0.6.
  • Некоторые ключевые функции, такие как hot-patching с помощью dx serve --hotpatch и renderer WGPU, помечены как экспериментальные.

Темы

Частые вопросы

Что такое dioxus?
Фреймворк на Rust для создания веб-, десктопных и мобильных приложений на единой кодовой базе с компонентами и сигналами в духе React. Dioxus — фреймворк на Rust для создания пользовательских интерфейсов, работающих в вебе, на десктопе, iOS, Android и сервере. Компоненты описываются с помощью макроса RSX, похожего на HTML, а для стилизации используются обычные HTML и CSS. Состояние управляется с помощью сигналов, а встроенный CLI (dx) предоставляет dev-сервер с горячей перезагрузкой и сборку приложения для развертывания.
dioxus можно использовать бесплатно? Какая у него лицензия?
dioxus распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
dioxus всё ещё поддерживается?
Активно поддерживается. Последний коммит в dioxus — 17 окт. 2026 г..
Для чего можно использовать dioxus?
Создание веб-приложения на Rust, для которого также нужна десктопная версия на той же кодовой базе. Разработка мобильных приложений на Rust с нативными возможностями, которые обращаются к API платформы. Создание full-stack-приложения на Rust с серверной частью на базе axum. Прототипирование UI-компонентов на HTML и CSS с сохранением логики на Rust.
Как установить dioxus?
Установите Dioxus CLI из git с помощью cargo: cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked Запустите пример из корня репозитория: cargo run --example <example> Запустите пример с hot-reloading на платформе web: dx serve --example <example> --platform web -- --no-default-features
Где скачать dioxus?
Исходный код и инструкции по установке — на GitHub: https://github.com/DioxusLabs/dioxus

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты