这个项目能做什么
Dioxus 是一套用于用 Rust 从单一代码库构建跨平台应用的框架和工具集。README 指出,同一项目可面向 Web(通过 WebAssembly 和 DOM)、桌面端(macOS、Linux 和 Windows,通过 webview 或实验性地通过 WGPU 或基于 Skia 的 Freya 渲染器)、移动端(iOS 和 Android,支持 ipa 和 apk 输出及直接 Java 和 Objective-C 调用),以及服务端渲染。
编程模型以返回 Element 的函数和 rsx! 宏声明式标记为中心,state 通过信号处理;README 描述这种状态管理借鉴了 React、Solid 和 Svelte 的思路。对于全栈工作,框架集成了 axum,并提供服务端函数、提取器、中间件、路由、Suspense、水合、静态站点生成、增量再生成、WebSocket、SSE、流式传输、文件上传下载和表单等功能,也可选择集成现有 axum 后端。
工具由 dioxus-cli 提供。dx serve 命令运行带有集成热重载(针对标记、样式和资源)的应用,实验性的 dx serve --hotpatch 选项可实时更新 Rust 代码。dx bundle 命令构建并打包优化后的应用,README 提到 Web 端的 avif 生成、wasm 压缩和最小化。安装可通过安装脚本或 cargo install 从 git 进行,仓库示例也可通过 cargo run --example 运行。
该项目还附带一套受 shadcn/ui 和 Radix Primitives 启发的官方原生组件,使用 MDN 文档记录 HTML 元素和监听器,并说明其文档站点作为新功能测试场,并由 Dioxus 自身运行持续集成。
Dioxus 被描述为社区驱动的项目,拥有活跃的 Discord 和 GitHub issue 追踪器、社区运营的 SDK 以及相关 crates 的 GitHub 组织,并由 FutureWei、Satellite.im 和 GitHub Accelerator 计划支持的小规模全职核心团队维护。仓库包含中文、葡萄牙语(巴西)、日语、土耳其语和韩语翻译的 README。许可证为 MIT 或 Apache-2.0 双重授权。
评论
0 评分人数达到10人后显示
登录后参与讨论。