首页 AI编程工具 Dioxus:Rust全栈框架,一套代码跑Web+桌面+移动端,36.3K Stars

Dioxus:Rust全栈框架,一套代码跑Web+桌面+移动端,36.3K Stars

📅 2026/6/10 👁 阅读 5 🔗 工具访问 0 次
Dioxus:Rust全栈框架,一套代码跑Web+桌面+移动端,36.3K Stars

工具地址

https://github.com/DioxusLabs/dioxus

🚀 访问工具

写 Rust 有一个尴尬的事:编译好的 CLI 很香,但想做个网页或桌面应用就犯难了。用 Tauri 吧,前端的 JavaScript 生态你得自己搭。用 Yew 吧,样板代码多到劝退。用 Leptos 吧,信号系统是新学的。

Dioxus 是来收拾这个局面的。它的 slogan 很直白:「一套代码,Web、桌面、移动端全跑」。不是概念验证的那种跑,是生产级的。

目前在 GitHub 上 36.3K Stars,Rust 生态里前端框架排第一。Apache-2.0 开源,核心团队全职在维护,有 FutureWei、Satellite.im 这些赞助商。

Dioxus 封面

是什么

Dioxus 是一个 Rust 全栈应用框架,语法模仿 React(jsx! 宏 + 函数组件 + hooks),渲染目标是跨平台的。写出来大致长这样:

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!" }
    }
}

写过 React 的人看到这个会非常亲切。区别在于:没有虚拟 DOM 的性能开销,编译到 WASM 后 50KB 起步,直接操作真实 DOM。

它不只是另一个 Rust 前端框架——它是一整个"你能想到的平台都支持"的应用框架。

支持的渲染目标:

Dioxus 官网截图

核心优势

1. 状态管理是认真的

Dioxus 的信号系统(Signals)结合了 React、Solid 和 Svelte 的设计思路。不像 React 那样每次 setState 重新渲染整个组件树,Dioxus 只更新依赖变化的部分,细粒度到单个 DOM 节点。性能层面不是「优化后能快多少」的问题,是默认就快。

2. 热重载太舒服了

dx serve 启动后,改 CSS、改布局直接看到效果。实验性的 dx serve --hotpatch 甚至可以热更新 Rust 逻辑代码,不用重编译。对于 Rust 这种编译型语言来说,这个体验非常奢侈。

3. 全栈能力深度集成

Dioxus 和 axum(Rust 最火的 Web 框架)深度绑定。Server Functions 让你在前端代码里直接写后端逻辑,编译后自动变成 API 端点。WebSocket、SSE、文件上传下载、表单处理全都内置了。写一个全栈 Rust 应用不再需要拼凑三四个库。

4. 原生组件库

官方提供了一套基于 Radix 原语的组件库(类似 shadcn/ui 的定位),开箱即用。不需要自己搭 UI 架子。

5. 打包发布一条龙

dx bundle 一条命令能打包成 Web(含 .avif 压缩、.wasm 压缩、混淆)、桌面安装包、移动 APK/IPA。WASM 版本可以压缩到 50KB 以下。

不是没有槽点

生态还在长。 Dioxus 虽然组件库有了,但第三方插件和教程跟 React/Next.js 没法比。遇到冷门需求大概率要靠自己填坑。

前端开发者门槛。 你要用 Dioxus,得会 Rust。Rust 的学习曲线不会因为框架好就消失。对于「只会 JS 想试试全栈」的人来说,这条路不太友好。

移动端还是实验性。 iOS/Android 支持虽然能用,但是 Webview 渲染的方案在复杂 UI 下表现一般。WGPU 原生渲染器还在开发中,正式版没出来之前,追求原生手感的生产级应用还是谨慎点好。

Native 渲染器(Blitz)在 beta。 基于 WGPU/Skia 的 Blitz 渲染器很有野心(完全不依赖 Webview),但目前还在早期,API 不稳定。

跟同类怎么比

框架Stars渲染目标特点
Dioxus36.3KWeb/桌面/移动/SSRReact 风格,信号系统,全栈
Leptos18.4KWeb/SSR更细粒度的信号,更 Rusty
Yew30.6KWebElm 风格,生态最老
Tauri90.2K桌面/移动前端用 JS,Rust 做后端

如果你的技术栈已经是 Rust,想用一个框架覆盖 Web + 桌面 + 移动端,Dioxus 是目前最完整的答案。如果是前端团队想切 Rust,Tauri 的过渡会更平滑——前端继续写 React/Vue,Rust 只做系统层。

一句话总结:Dioxus 是 Rust 程序员的全栈瑞士军刀。一套代码三端跑,体验对标 React,性能是原生级别。还不是完美,但从 0.5 到 0.7 的迭代速度看,方向是对的。

GitHub:https://github.com/DioxusLabs/dioxus
官方网站:https://dioxuslabs.com

标签:#Dioxus #Rust全栈 #跨平台框架 #WASM #前端框架 #React #桌面应用 #开源框架 #Rust生态


关注我,每期分享一个帮你省事的强大工具 🛠️

💬 评论区 (0 条评论)

暂无评论,快来发表第一条评论吧!

📤 分享这篇文章

📌 相关推荐

微信扫码分享

打开微信扫一扫