用纯 Python 构建 Web、桌面和移动应用的框架,无需前端经验。
- Star
- 39,451
- Fork
- 1,938
- 未关闭 Issue
- 850
- 最近提交
- 4天前
这是什么?
Dioxus 是一个用 Rust 编写的用户界面框架,可运行在 Web、macOS、Linux、Windows、iOS、Android 以及服务端。组件使用类似 HTML 的 RSX 宏编写,样式直接使用 HTML 和 CSS,状态管理基于 signals。
在全栈开发方面,Dioxus 与 axum 深度集成,提供服务函数(server functions)、服务端渲染与 hydration,并支持 WebSocket、SSE、流式传输、文件上传下载和中间件。渲染方式包括通过 WebAssembly 直接操作 DOM、系统 webview、服务端渲染、liveview,以及实验性的 WGPU 渲染器。在 Android 上可通过 JNI 调用原生接口,在 Apple 平台上可调用 Objective-C。
官方 CLI `dx` 提供带热重载的开发服务器,并可打包 Web、桌面应用,以及用于移动端的 .ipa 和 .apk 文件。项目还内置了参照 shadcn/ui 和 Radix Primitives 设计的基础组件。
核心功能
- 01使用同一套 Rust 代码构建 Web、桌面、iOS 和 Android 应用。
- 02支持标记和样式的热重载,并提供实验性的 Rust 代码热补丁。
- 03基于 signals 的状态管理,组件模型与 React 相似。
- 04与 axum 集成,支持服务函数、服务端渲染和 hydration。
- 05内置 dx 命令行工具,提供开发服务器、打包和移动端构建。
适用场景
- 用 Rust 开发 Web 应用,并从同一份代码生成桌面版本。
- 用 Rust 构建需要调用平台原生接口的移动应用。
- 基于 axum 开发同时包含前端和服务端的全栈 Rust 应用。
- 使用 HTML 和 CSS 编写界面,同时将业务逻辑保留在 Rust 中。
快速上手
- 1
用 cargo 从 git 安装 Dioxus CLI
cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked - 2
在仓库根目录运行一个示例
cargo run --example <example> - 3
以 Web 平台启动示例并启用热重载
dx serve --example <example> --platform web -- --no-default-features
使用前须知
- 主分支的示例针对 git 版本,而非最新稳定版;若需要配合稳定版使用,请参考 0.6 分支的示例。
- 部分主打功能(如 dx serve --hotpatch 热补丁和 WGPU 渲染器)仍处于实验阶段。
标签
常见问题
- dioxus 是什么?
- 一个用 Rust 编写的全栈框架,可用同一套代码构建 Web、桌面和移动应用。 Dioxus 是一个用 Rust 编写的用户界面框架,可运行在 Web、macOS、Linux、Windows、iOS、Android 以及服务端。组件使用类似 HTML 的 RSX 宏编写,样式直接使用 HTML 和 CSS,状态管理基于 signals。
- dioxus 可以免费使用吗?用的什么许可证?
- dioxus 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- dioxus 还在维护吗?
- 活跃维护中。dioxus 最近一次提交是在 2026年10月17日。
- dioxus 适合用来做什么?
- 用 Rust 开发 Web 应用,并从同一份代码生成桌面版本。 用 Rust 构建需要调用平台原生接口的移动应用。 基于 axum 开发同时包含前端和服务端的全栈 Rust 应用。 使用 HTML 和 CSS 编写界面,同时将业务逻辑保留在 Rust 中。
- dioxus 怎么安装和运行?
- 用 cargo 从 git 安装 Dioxus CLI: cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked 在仓库根目录运行一个示例: cargo run --example <example> 以 Web 平台启动示例并启用热重载: dx serve --example <example> --platform web -- --no-default-features
- 在哪里获取 dioxus?
- 源代码和安装说明在 GitHub 上:https://github.com/DioxusLabs/dioxus
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Google 开源的 SDK,用一套 Dart 代码构建移动端、Web 和桌面端应用。
面向移动、桌面和 Web 应用的开源隐私优先分析工具,可替代 Firebase 和 Google Analytics。
基于 Vue.js 的跨平台框架,可用同一套代码构建单页应用、PWA、移动端、Electron 桌面应用等。
让 React Native 组件和 API 能在浏览器中通过 React DOM 渲染的跨平台库。
Facebook 推出的 JavaScript 样式库,用于为用户界面定义经过优化的样式。