前端写久了,性能和部署总是两难:Web 方便但重,原生快但栈割裂。Dioxus 想用 Rust 把这件事统一:一份组件代码,能跑在 Web、桌面(Windows/macOS/Linux)、移动端与服务器上。它借鉴了 React 的心智模型(声明式、Hooks、RSX 语法),但底层是 Rust 的高性能与强类型,对已经用 Rust 的团队尤其友好。

Dioxus 由 Dioxus Labs 维护,定位是「跨平台应用,只需三行代码」。它内置功能丰富的全栈 Web 框架、集成打包器与亚秒级热更新/资源热重载,既能做轻量小组件,也能搭完整应用。随着 Rust 在前端与工具链里的渗透,Dioxus 是值得关注的跨端新势力。

项目基本信息

信息项详情
项目名称dioxus
GitHub地址https://github.com/DioxusLabs/dioxus
项目描述Fullstack app framework for web, desktop, and mobile.
作者DioxusLabs
开源协议Apache-2.0
开源状态公开
LanguagesRust
Stars39,511
Forks1,945
支持平台Windows / macOS / Linux
最后更新2026-10-26

一、项目介绍

Dioxus 是一个用 Rust 构建跨平台用户界面的框架,支持 Web、桌面、移动端与服务器。它采用类似 React 的声明式编程模型与 RSX 语法,内置全栈框架、集成打包器与热重载。项目强调「三行代码跨平台」,并提供类型安全的组件体系,让 Rust 开发者以熟悉的方式写 UI。

二、核心优势

  • 真正跨端:Web、桌面、移动、服务端一套代码。
  • Rust 加持:高性能、强类型、内存安全。
  • 熟悉的心智:React 风格 API,上手低。
  • 全栈内置:自带路由、状态与后端能力。
  • 体验好:亚秒级热补丁与资源热重载。

三、适用场景

  • 想用 Rust 统一桌面/Web/移动端的产品。
  • 对性能与体积敏感的客户端应用。
  • 已有 Rust 后端想复用逻辑到前端。
  • 教学与现代 Rust 应用实验。

四、安装教程

安装官方 CLI(dioxus-cli),需 Rust 工具链:

curl -fsSL https://dioxuslabs.com/install.sh | bash

新建并运行:

dx new my-app
cd my-app && dx serve

常见报错:Rust 未安装——先装 rustup;wasm target 缺失——rustup target add wasm32-unknown-unknown;dx 找不到——确认安装脚本已写入 PATH。

五、使用示例

写一个组件:

use dioxus::prelude::*;
fn App() -> Element {
    let mut count = use_signal(|| 0);
    rsx! {
        h1 { "计数:{count}" }
        button { onclick: move |_| count += 1, "加一" }
    }
}

dx serve 后浏览器即时预览,状态与事件用 Rust 的强类型管理,无需 JS。

六、常见问题

  • 必须写 Rust 吗?是,这正是它的定位。
  • 和 Flutter/Electron 比?更轻、更原生,但生态更年轻。
  • 移动端成熟吗?能力在快速完善中。
  • 能接现有 JS 吗?可通过 web 目标逐步集成。

七、总结

Dioxus 把 Rust 的可靠与现代前端的心智模型结合,给出了一条跨端统一的可行路线。虽然生态尚年轻,但对 Rust 团队而言,它是把代码价值延伸到 UI 层的高潜力框架。