Dioxus 0.7 发布:Rust GUI 开发迎来颠覆性突破!
热修补、原生渲染、AI 编码,一次满足你的所有想象
大家好!今天我们要为大家介绍一个令人兴奋的消息——Dioxus 0.7 正式发布了!
作为一款使用 Rust 构建跨平台应用的框架,Dioxus 让开发者能够用单一代码库轻松交付全栈 Web、桌面和移动应用。
经过两年时间的精心打磨,这个版本带来了诸多突破性功能,将 Rust GUI 开发体验提升到了全新高度!
🚀 核心亮点抢先看
1. Subsecond:Rust 代码热修补技术
这绝对是本版本最亮眼的功能!现在你可以在运行时直接编辑 Rust 代码,并立即看到变化,而且不会丢失应用状态。
想象一下,修改组件逻辑、调整事件处理、甚至重构后端服务器函数,都无需重启应用!这项技术基于全新的 Subsecond 引擎,支持 Web、桌面和移动全平台。
pub fn launch() {
    loop {
        std::thread::sleep(std::time::Duration::from_secs(1));
        subsecond::call(|| tick()); // 编辑这里,立即生效!
    }
}
2. Dioxus Native + Blitz 渲染引擎
告别传统 WebView!Dioxus Native 是我们全新的 GPU 加速渲染器,基于 WGPU 技术构建。它融合了多个顶尖项目:
- Taffy:高性能 flexbox 布局引擎
 - Stylo:Firefox 和 Servo 的 CSS 解析引擎
 - Vello:Google 的 GPU 计算渲染器
 
效果如何?看看这些在原生渲染器上运行的网站:

几乎与 Chrome、Safari 等现代浏览器没有区别!
3. 首方组件库 Dioxus Primitives
受 Radix-UI 启发,我们提供了 28 个开箱即用的基础组件。每个组件都具备:
- 键盘快捷键支持
 - ARIA 无障碍访问
 - 跨平台一致性设计
 - 无样式设计,轻松定制
 
4. Stores:嵌套响应式状态管理
在 Signals 基础上,我们引入了 Stores 来处理复杂嵌套状态:
#[derive(Store)]
struct Dir {
    children: BTreeMap<String, Dir>,
}
// 精准响应特定字段变化
let mut children: Store<Vec<Dir>, _> = directory.children();
🛠 开发者体验全面提升
零配置 Tailwind 支持
项目根目录有tailwind.css?dx工具会自动检测并启动 Tailwind 监视器,无需手动配置!
AI 编程助手升级
内置llms.txt上下文文件,让 Copilot、Cursor 等 AI 工具更懂 Dioxus,减少”幻觉”代码。
一体化调试体验
按d键即可附加调试器,支持 Web、桌面、移动全平台,连 Android 设备调试都变得简单!
更智能的 CLI 工具
# 一行安装
curl -fsSL https://dioxus.dev/install.sh | bash
# 自动更新
dx self-update
现在dx不仅支持 Dioxus 项目,还能用于任何 Rust 项目,享受热重载、打包、调试等强大功能。
🎯 移动端开发强化
- 真机热重载:通过 adb reverse 在 Android 设备上实时调试
 - iPad 正式支持:完美适配 iPadOS 环境
 - 项目配置自定义:深度定制 AndroidManifest.xml 和 Info.plist
 
💡 还有更多惊喜…
- 全栈 WebSockets:一行代码实现双向实时通信
 - WASM 代码分割:大幅降低初始加载体积
 - 改进的错误处理:强类型错误跨客户端共享
 - 服务质量升级:自动打开模拟器、彩色日志、Toast 通知等
 
📚 学习资源更新
我们重新组织了官方文档,更深入讲解响应式原理、渲染模型等核心概念。新的文档站点设计更美观,内容更丰富:

🏢 团队成长
Dioxus 团队已迁入旧金山新办公室,正在加速发展!如果你对 Rust 应用开发充满热情,欢迎加入我们。
🎉 立即尝试
curl -fsSL https://dioxus.dev/install.sh | bash
dx new my-app
cd my-app
dx serve
体验下一代 Rust GUI 开发的魅力!
相关链接:
#Rust #GUI #跨平台开发 #开源项目 #编程工具
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
 