前端写久了,性能和部署总是两难: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 |
| 开源状态 | 公开 |
| Languages | Rust |
| Stars | 39,511 |
| Forks | 1,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 层的高潜力框架。
评论 0
还没有评论,来说两句吧。