找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2646

积分

0

好友

342

主题
发表于 2026-2-12 07:20:24 | 查看: 24| 回复: 0

你是否厌倦了在 Rust 后端开发中,每次修改代码都要等待 cargo watch 杀死服务器并完成漫长的重建?想要获得像前端开发一样流畅的热重载体验吗?一位开发者在构建 Rust GraphQL API 时就遇到了这个痛点。他之前尝试过 Dioxus 生态下的 subsecond 工具但未成功,直到 2025 年 8 月的改进版本才带来了转机。新版本通过 PR #4588 添加了对异步函数热重载的便捷支持,让这一切成为可能。

下面,我们来一步步看看如何将这套方案整合进你的 Rust Web 项目。

实现步骤

1. 添加依赖

首先,将 dioxus_devtools 添加到你的项目依赖中,并启用 serve 特性:

cargo add dioxus_devtools --features serve

启用 serve 特性是为了使用关键的 serve_subsecond_with_args 功能。

2. 重构应用入口点

为了让热重载生效,需要对你的应用入口点进行一些重构,主要分为三步:

  • 将环境初始化、数据库连接、日志配置等设置代码分离出来。
  • 将主要的异步服务器函数独立出来。
  • 将上述的设置函数和服务器函数作为参数,传递给 dioxus_devtools::serve_subsecond_with_args

3. 安装 Dioxus CLI

你需要安装 Dioxus 的命令行工具来启动热重载服务器:

curl -sSL https://dioxus.dev/install.sh | bash

4. 运行热重载服务器

一切就绪后,使用 Dioxus CLI 启动开发服务器:

dx serve --hot-patch

代码结构示例

  • 主入口函数:使用 serve_subsecond_with_args 包装你的应用环境设置和服务器函数。
  • 环境设置:通常是一个返回包含端口、数据库配置等参数的结构体或状态的函数。
  • 服务器函数:这里是你的实际 HTTP 服务器逻辑,例如使用 Axum、Actix-web 等框架定义路由和处理程序。

实用建议

原作者建议将热重载功能放在一个特性标志(例如 local)后面。这样,你可以轻松地在本地开发环境和生产环境之间切换,避免将开发工具打包进最终产物。

效果如何?

据开发者反馈,他已将此方案用于 Yaay 后端的 GraphQL API 数日,体验非常顺畅。代码保存后几乎能立即生效,无需中断服务,显著提升了全栈开发的迭代速度。

原文链接:https://codethoughts.io/posts/2026-02-07-rust-hot-reloading/


LiteBox:微软开源的安全沙箱库操作系统

在追求极致安全的道路上,微软近期开源了一个值得关注的新项目 —— LiteBox。它是一个专注于安全的库操作系统(Library OS),其核心设计哲学是通过大幅减少与底层主机系统的交互接口,来从根本上降低潜在的攻击面。目前,该项目正处于积极开发阶段,API 和接口可能还会发生变化。

核心特性

  • 灵活的互操作性:支持在各种“北向”(North)shims(适配层)和“南向”(South)平台之间轻松互操作。
  • 广泛适用性:其设计不仅限于内核场景,也适用于非内核环境。
  • Rust 友好接口:为 Rust 开发者提供了类似 nix/rustix 风格的友好接口。

主要应用场景

LiteBox 的设计使其能在多种安全敏感的场景下发挥作用,例如:

  • 在 Windows 系统上直接运行未经修改的 Linux 程序。
  • 在 Linux 系统上对 Linux 应用程序进行沙箱化隔离。
  • 在 AMD SEV SNP(安全加密虚拟化)等硬件安全环境中运行程序。
  • 在 Linux 上运行基于 OP-TEE(可信执行环境)的程序。
  • 在 LVBS(轻量级虚拟化引导服务)之上运行。

项目现状与信息

对于有兴趣关注或参与这个 开源实战 项目的开发者,以下是一些关键信息:

  • 许可证:采用宽松的 MIT 许可证。
  • 开发状态:项目正在活跃开发中,尚未发布稳定版本,意味着早期采用者需要留意可能的变更。
  • 贡献指南:项目仓库提供了完善的贡献指南、行为准则和安全政策文档。
  • 商标声明:包含了微软及相关第三方的商标使用规范。

项目地址:https://github.com/microsoft/litebox

这两个来自 Rust 生态和系统安全领域的新动态,是否给你带来了新的开发灵感或解决方案呢?欢迎在技术社区交流你的想法。




上一篇:Rust 错误处理库 rootcause 发布 0.11.0,bitflags 推出新派生方案
下一篇:字节跳动自研AI芯片已流片,代号SeedChip专注AI推理,2026年或投产
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 12:57 , Processed in 0.717549 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表