Dioxus:用 Rust 构建跨平台全栈应用的一站式框架
你是否曾经为了同时开发 Web、桌面和移动端应用而不得不学习多套技术栈、维护多个代码库?Dioxus 的出现,旨在彻底解决这个问题。它是一个用 Rust 编写的全栈应用框架,可以让开发者用单一代码库构建 Web、桌面、移动端甚至服务器应用,并享受零配置、热重载和基于信号的状态管理。本文将带你全面了解这个潜力新星。
截至收录:
Dioxus项目stars数:39158
Dioxus项目forks数:1889
Dioxus项目目录截图

Dioxus项目核心亮点
- 🌟 真正的跨平台开发:只需三行代码,即可将应用部署到 Web、桌面、移动端和服务器。零配置启动,支持 macOS、Linux、Windows、Android 和 iOS,真正实现“一次编写,处处运行”。
- ⚡ 极速热重载:内置
dx serve命令,编辑标记和样式后毫秒级刷新。实验性的--hotpatch选项甚至能实时更新 Rust 代码,让开发体验如丝般顺滑。 - 🧠 符合直觉的状态管理:融合 React、Solid 和 Svelte 的优点,基于信号(Signals)的状态管理让数据流更清晰、更高效,同时保持类型安全。
- 🔋 深度全栈能力:与 Axum 深度集成,提供服务器函数、WebSocket、SSE、流式传输、文件上传下载、SSR、表单、中间件等开箱即用的功能,轻松构建全栈应用。
- 📦 一体化工具链:自带 CLI 工具,运行
dx bundle即可打包,Web 应用小于 50KB,桌面/移动应用小于 5MB。支持 AVIF 生成、WASM 压缩、代码最小化等优化。 - 📱 一流的移动端支持:直接调用 JNI 和原生 API,
dx serve --platform android即可在模拟器或真机上运行,是构建 Rust 移动应用的最快方式。 - 📚 完善的文档与社区:所有 HTML 元素和监听器均配有 MDN 文档,文档与框架同步持续集成。社区活跃,Discord 和 GitHub 上随时可以获得帮助,还有官方支持的优质 crate 生态。
Dioxus项目快速开始
只需几步,你就能在本地运行起 Dioxus:
- 安装 Dioxus CLI:
bash
# 使用官方安装脚本
curl -fsSL https://dioxuslabs.com/install.sh | bash
或者使用 cargo-binstall:
bash
cargo binstall dioxus-cli - 运行一个示例(克隆仓库后):
bash
git clone https://github.com/DioxusLabs/dioxus
cd dioxus
dx serve --example hello-world
如果你已经创建了自己的项目,也可以直接:
bash
dx new my-app
cd my-app
dx serve - 体验热重载:编辑
src/main.rs中的代码,保存后浏览器会自动刷新。试试修改经典的计数器示例:
“`rust
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!" } }}
“`
Dioxus项目应用场景
- 场景一:跨平台工具开发:开发者可以使用 Dioxus 编写一次代码,同时发布为 Web 应用、Windows/macOS/Linux 桌面程序和 Android/iOS 移动应用,极大降低维护成本。
- 场景二:全栈 Web 应用:借助内置的服务器函数和 Axum 集成,前端和后端可以共享类型和逻辑,轻松构建实时聊天、仪表盘、电子商务等应用。
- 场景三:移动端原生应用:直接调用 Java 和 Objective-C API,以极低的开销构建高性能移动应用,从“hello world”到真机运行仅需数秒。
- 场景四:嵌入式与实验性渲染:Dioxus 支持 WGPU 和 Skia 渲染,甚至可以嵌入 Bevy 游戏引擎或运行在嵌入式 Linux 上,为物联网和游戏开发提供新可能。
- 用户案例:Dioxus 社区活跃,已被众多开发者和团队用于生产环境。项目获得了 FutureWei、Satellite.im 等公司的赞助,并入选 GitHub Accelerator 计划,其生态中的优质 crate 也得到了官方支持。
Dioxus项目链接
DioxusLabs / dioxus项目地址:https://github.com/DioxusLabs/dioxus
本文地址:https://www.tgoos.com/46523
声明:本站资源均整理自互联网,版权归原作者所有,仅供学习交流使用,请勿直接商用,若需商用请购买正版授权。因违规使用产生的版权及法律责任由使用者自负。部分资源可能包含水印或引流信息,请自行甄别。若链接失效可联系站长尝试补链。若侵犯您的权益,请邮件(将 # 替换为 @)至 feedback#tgoos.com,我们将及时处理删除。转载请保留原文链接,感谢支持原创。
