Dioxus:三行代码开发跨平台应用,多平台支持与全栈功能助力高效开发! 独特优势开启开发新体验利用单一代码库就能为 Web、桌面端、移动端等平台进行开发。它具备零配置设置集成了热重载功能还采用基于信号的状态管理。通过 Server Functions 可添加后端功能使用 CLI 进行打包。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! }}}特性亮点助力高效开发三行代码开发跨平台应用可在 Web、桌面端、移动端、服务器等多个平台使用。人性化的状态管理融合了 React、Solid 和 Svelte 的优点。内置功能丰富、类型安全的全栈 Web 框架。集成打包工具能部署到 Web、macOS、Linux 和 Windows 系统。亚秒级 Rust 热补丁和资源热重载还有更多特性快来体验 Dioxus 吧。即时热重载快速看到效果只需一个命令 dx serve应用就能运行起来。编辑标记和样式瞬间就能看到更改效果。还可以使用实验性的 dx serve --hotpatch 实时更新 Rust 代码。构建精美应用实现原生体验Dioxus 应用使用 HTML 和 CSS 进行样式设计。可以使用内置的 TailwindCSS 支持也可以加载喜欢的 CSS 库。还能轻松调用原生代码Objective-C、JNI、Web-Sys实现完美的原生体验。真正的全栈应用功能强大灵活Dioxus 与 axum 深度集成为客户端和服务器提供强大的全栈功能。可以选择众多内置功能如 WebSockets、SSE、流式传输、文件上传/下载、服务器端渲染、表单、中间件和热重载也可以完全自定义并集成现有的 axum 后端。实验性原生渲染器多样渲染选择可以使用 web-sys、webview、服务器端渲染、liveview 进行渲染甚至还能使用基于 WGPU 的实验性渲染器。可以将 Dioxus 嵌入 Bevy、WGPU 中甚至在嵌入式 Linux 上运行一流的原生组件加速开发进程借助一套完整的、仿照 shadcn/ui 和 Radix-Primitives 设计的原生组件可快速开启开发之旅。一流的 Android 和 iOS 支持秒级运行体验Dioxus 是使用 Rust 构建原生移动应用的最快方式。只需运行 dx serve --platform android应用就能在模拟器或设备上秒级运行。还能直接调用 JNI 和原生 API。为多平台打包优化构建成果只需运行 dx bundle应用就会以最大化优化的方式进行构建和打包。在 Web 端还能利用 .avif 生成、.wasm 压缩、代码压缩等功能。构建小于 50kb 的 Web 应用以及小于 5mb 的桌面/移动应用。出色的文档持续更新保障投入大量精力构建了清晰、易读且全面的文档。所有 HTML 元素和监听器都有 MDN 文档的详细说明并且文档会与 Dioxus 本身进行持续集成以确保始终保持最新。访问 Dioxus 网站可查看指南、参考资料、使用示例等内容。有趣的是将 Dioxus 网站作为新功能的测试平台快来看看吧社区支持共同发展进步Dioxus 是一个社区驱动的项目拥有活跃的 Discord 和 GitHub 社区。一直欢迎大家的参与和帮助也乐于回答问题并协助入门。SDK 由社区维护甚至还有一个 GitHub 组织专门管理优秀的 Dioxus crate这些 crate 可获得免费升级和支持。全职核心团队推动长期发展Dioxus 已从一个业余项目发展成为一个由全职工程师组成的小团队。得益于 FutureWei、Satellite.im 和 GitHub Accelerator 项目的慷慨支持能够全职投入到 Dioxus 的开发中。长期目标是通过提供高质量的付费企业工具使 Dioxus 实现自我维持。如果公司有兴趣采用 Dioxus 并希望合作请联系支持的平台广泛覆盖应用Web使用 WebAssembly 直接渲染到 DOM支持服务器端预渲染和客户端重新水化。简单的“Hello World”应用约 50kb与 React 相当。内置开发服务器和热重载功能方便快速迭代。桌面端使用 Webview 进行渲染也可以实验性地使用 WGPU 或 FreyaSkia。零配置设置只需运行 cargo run 或 dx serve 即可构建应用。完全支持原生系统访问无需 IPC。支持 macOS、Linux 和 Windows 系统。可生成小于 3mb 的可移植二进制文件。移动端使用 Webview 进行渲染也可以实验性地使用 WGPU 或 Skia。为 iOS 和 Android 构建 .ipa 和 .apk 文件。能直接调用 Java 和 Objective-C 代码开销极小。从“Hello World”到在设备上运行只需几秒钟。服务器端渲染支持 Suspense、水化和服务器端渲染。通过 Server Functions 快速添加后端功能。支持提取器、中间件和路由集成。支持静态网站生成和增量再生。运行示例操作指引清晰本仓库主分支中的示例针对的是 dioxus 的 git 版本和 CLI。如果想查找与 dioxus 最新稳定版本兼容的示例请查看 0.6 分支。本仓库顶级目录中的示例可以使用以下命令运行cargo run --example。不过建议下载 dioxus-cli 以测试热重载等功能。要安装最新的二进制 CLI可以使用 cargo binstallcurl -fsSL https://dioxuslabs.com/install.sh | bash如果这个 CLI 版本过旧可以直接从 git 或 cargo-binstall 进行安装cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked使用 CLI还可以在 Web 平台上运行示例。需要使用以下命令禁用默认的桌面端功能并启用 Web 功能dx serve --example --platform web -- --no-default-features贡献代码与许可证说明查看网站上关于贡献代码的部分。在问题跟踪器上报告问题。加入 Discord 社区提问本项目采用 MIT 许可证或 Apache 许可证。除非明确说明否则有意提交到 Dioxus 的任何贡献都将按照 MIT 或 Apache-2 许可证进行授权无需额外的条款和条件。