这篇帖子解释了一种开发环境设置,旨在缓解现代软件安全风险,例如供应链攻击和提示注入。作者完全在租用的服务器上开发,通过SSH和密钥转发访问,并在`screen`或`tmux`会话中使用Vim和编码代理(例如Claude Code)等工具。 至关重要的是,密钥*不*存储在开发机器上。这限制了服务器被攻破的影响。为了进一步保护上游仓库免受潜在的GitHub密钥泄露,作者提倡基于分支的开发流程,并进行彻底的拉取请求审查。 这种方法最大限度地减少了对恶意软件包和代理操纵的担忧,从而可以专注于代码。有趣的是,这种“SSH进入远程机器”模式源于黑客文化,优先考虑数据安全,并且随着代理辅助编码的兴起以及对长期运行计算的需求,它正在重新获得重视。
## Xilem & Masonry:Rust GUI 框架
Xilem 和 Masonry 是用于构建原生 GUI 应用程序的 Rust 包。**Masonry** 是一个基础工具包,提供保留的窗口小部件树用于事件处理和渲染。**Xilem** 构建于 Masonry 之上,是一个更高层次的、受 React 和 SwiftUI 启发的响应式框架,提供更简单的开发体验。
Xilem 同时拥有 Web 后端和 Masonry 后端,使其用途广泛。通常建议新手从 Xilem 开始,因为它易于使用。
这两个框架都依赖于 `winit`(窗口管理)、`Vello` & `wgpu`(图形)、`Parley` & `Fontique`(文本渲染)和 `AccessKit`(可访问性)等技术。
该项目包含 `to_do_mvc` 和 `calc_masonry` 等示例,可以通过 `cargo run --example <example_name>` 运行。开发通过 Nix flake 辅助(但并非常规验证),并且受益于使用 `split-debuginfo` 来管理构建大小。
Xilem 需要特定的依赖项(clang、wayland、vulkan-loader 等),并支持 Rust 1.92+。欢迎通过 pull request 贡献代码,遵守 Rust 行为准则和 Apache 2.0 许可协议。