Crates.io version Download docs.rs docs CI status Awesome Page Discord Link

官方网站 | 代码示例 | 开发指南 | English | PT-BR | 日本語


Dioxus 是一个可移植的、高性能的、符合人体工程学的框架,使用 Rust 语言构建跨平台的用户界面。 ```rust fn app(cx: Scope) -> Element { let mut count = use_state(cx, || 0); cx.render(rsx! { h1 { "High-Five counter: {count}" } button { onclick: move |_| count += 1, "Up high!" } button { onclick: move |_| count -= 1, "Down low!" } }) } ``` Dioxus 可用于生成 网页前端、桌面应用、静态网站、移动端应用、TUI程序、等多类平台应用。 如果你能够熟悉使用 React 框架,那 Dioxus 对你来说将非常简单。 ## 独特的特性: - 桌面程序完全基于本地环境运行(并非 Electron 的封装) - 符合人体工程学的设计以及拥有强大的状态管理 - 全面的内联文档 - 包含所有 HTML 元素、监听器 和 事件 指南。 - 极快的运行效率和极高的内存效率 - 智能项目热更新和高效的项目迭代 - 一流的异步支持🔥 - 更多内容请查看 [版本发布信息](https://dioxuslabs.com/blog/introducing-dioxus/). ## 已支持的平台
网站项目
  • 使用 WebAssembly 直接对 DOM 进行渲染
  • 为 SSR 提供预渲染或作为客户端使用
  • 简单的 "Hello World" 仅仅 65kb, 媲美 React 框架
  • CLI 提供热更新支持,方便项目快速迭代
桌面应用
  • 使用 Webview 进行渲染 或 使用 WGPU 和 Skia(试验性的)
  • 无多余配置,使用 `cargo build` 即可快速构建
  • 对原生系统的全面支持
  • 支持 Macos、Linux、Windows 等系统,极小的二进制文件
移动端应用
  • 使用 Webview 进行渲染 或 使用 WGPU 和 Skia(试验性的)
  • 支持 IOS 和 安卓系统
  • 显著的 性能强于 React Native 框架
Liveview
  • 使用服务器渲染组件与应用程序
  • 与受欢迎的后端框架进行融合(Axum、Wrap)
  • 及低的延迟
终端程序
  • 在终端程序中渲染,类似于: ink.js
  • 支持 CSS 相关模型(类似于浏览器内的)
  • Built-in widgets like text input, buttons, and focus system
## Why Dioxus? 目前有非常多的应用开发选择,为什么偏偏要选择 Dioxus 呢? 首先,Dioxus将开发者的经验放在首位。这反映在 Dioxus 特有的各种功能上。 - 自动格式化 RSX 格式代码,并拥有 VSCode 插件作为支持。 - 热加载基于 RSX 代码解析器,同时支持桌面程序和网页程序。 - 强调文档的重要性,我们对所有 HTML 元素都提供文档支持。 Dioxus 也是一个可扩展化的平台。 - 通过实现一个非常简单的优化堆栈机,轻松构建新的渲染器。 - 构建并分享开发者自定义的组件代码。 Dioxus 那么优秀,但什么时候它不适合我呢? - 它还没有完全成熟。api仍在变化,可能会出现故障(尽管我们试图避免) - 您需要运行在 no-std 的环境之中。 - 你不喜欢使用 React-like 的方式构建 UI 项目。 ## 贡献代码 - 在我们的 [问题追踪](https://github.com/dioxuslabs/dioxus/issues) 中汇报你遇到的问题。 - 加入我们的 Discord 与我们交流。 ## 开源协议 本项目使用 [MIT license]. [mit license]: https://github.com/DioxusLabs/dioxus/blob/master/LICENSE-MIT 除非您另有明确声明,否则有意提交的任何贡献将被授权为 MIT 协议,没有任何附加条款或条件。