Dioxus React-подобный фреймворк на Rust для всех платформ

12 Dec, 2025

Представьте себе мир, где вы пишете код один раз, а он работает везде: в браузере, на десктопе, мобильном устройстве и даже сервере. Звучит как идеалистическая мечта? С Dioxus это становится реальностью.

Что такое Dioxus?

Dioxus — это современный UI-фреймворк для Rust, вдохновлённый React, но с акцентом на кросс-платформенность. В отличие от многих других решений, он не просто компилирует ваш код под разные цели, а предоставляет единую модель разработки для всех платформ.

Dioxus Splash

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

1. Написать один раз — запускать везде

Всего несколько строк кода — и ваше приложение готово к запуску на:

  • Веб (WASM)
  • Десктоп (Windows, macOS, Linux)
  • Мобильные устройства (iOS, Android)
  • Сервер (SSR)
fn app() -> Element {
    let mut count = use_signal(|| 0);

    rsx! {
        h1 { "High-Five counter: {count}" }
        button { onclick: move |_| count += 1, "Up high!" }
        button { onclick: move |_| count -= 1, "Down low!" }
    }
}

2. Молниеносный hot-reloading

Изменяете код — мгновенно видите результат. Dioxus перезагружает изменения за миллисекунды, сохраняя состояние приложения.

Hot Reloading

3. Полноценный fullstack-фреймворк

Встроенный RPC позволяет вызывать серверные функции прямо из фронтенда с полной типобезопасностью:

#[server]
async fn fetch_fortune() -> ServerFnResult<String> {
  "Dioxus is super productive!".to_string()
}

4. Готовые UI-компоненты

Библиотека включает набор примитивных компонентов, вдохновлённых shadcn/ui и Radix, что ускоряет разработку интерфейсов.

UI Components

Технические преимущества

  • Эргономичное управление состоянием, сочетающее лучшее из React, Solid и Svelte
  • HTML/CSS first подход — используйте знакомые технологии
  • Легковесные бандлы: <50 КБ для веба, <5 МБ для нативных приложений
  • Экосистема: горячая перезагрузка, серверные функции, маршрутизация "из коробки"

Кому подойдёт Dioxus?

  1. Rust-разработчикам, которые хотят выйти за пределы бекенда
  2. Фронтендерам, уставшим от JavaScript и желающим типобезопасности
  3. Инди-разработчикам, создающим кросс-платформенные приложения
  4. Командам, которые ценят единую кодовую базу для всех платформ

Вывод: стоит ли пробовать?

Dioxus — это свежий взгляд на кроссплатформенную разработку. Если вы:

  • Любите Rust и хотите использовать его для фронтенда
  • Мечтаете избавиться от дублирования кода между платформами
  • Цените мгновенную обратную связь во время разработки

...то Dioxus заслуживает вашего внимания. Проект активно развивается, имеет отличную документацию и дружелюбное комьюнити.

Готовы попробовать? Первые шаги можно сделать на официальном сайте.