Repolode
DioxusLabs

DioxusLabs/dioxus

一个用 Rust 编写的全栈框架,可用同一套代码构建 Web、桌面和移动应用。

可替代:React NativeElectron

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. 1

    用 cargo 从 git 安装 Dioxus CLI

    cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked
  2. 2

    在仓库根目录运行一个示例

    cargo run --example <example>
  3. 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 数据每日更新。

相关项目