< 返回版块

苦瓜小仔 发表于 2025-06-30 10:52

Tags:日报

Anathema:定义模板来构建 TUI 应用

Anathema 是一个用 Rust 编写的文本用户界面(TUI)库,带有自定义模板语言。

它旨在让开发者快速构建 TUI 应用,并将模板与应用一起分发,用户可自定义布局。

Anathema 支持热重载、响应式模板和第三方组件。它适合构建静态布局,但不适合动态布局(如运行时分割视图)。

开发者可通过外部模板轻松修改应用布局,无需重新编译。

仓库:https://github.com/togglebyte/anathema

演示:https://youtu.be/WmF1f5wWPRE

Reddit:https://www.reddit.com/r/rust/comments/1lmp3m2/announcing_anathema_a_tui_library_with_a/

WasmOS:运行 WebAssembly 程序的 unikernel

wasm_os 是一个基于 Rust 的单内核操作系统,旨在安全地运行 WebAssembly 程序。

它基于 Philipp Oppermann 的 blog_os,并添加了对运行用户空间 WebAssembly 应用程序的支持,这些应用程序链接到其自定义系统调用 ABI 和 C/C++ 标准库。此外,它还实现了一个简单的基于 inode 的虚拟文件系统。

项目的一个亮点是自定义实现了 C 和 C++ 标准库(包括 <vector><algorithm> 等头文件),这些库直接映射到其系统调用 ABI,使得应用程序可以像普通的本地程序一样编写和编译。除了 C 和 C++,wasm_os 还初步支持 Rust 和 AssemblyScript,未来计划提供更好的支持。

例如,作者之前为数学项目编写的一个旧的 C++ 原生 CLI 应用程序(一个 Collatz 检查器)无需任何修改即可在此操作系统上运行,相关演示已在代码仓库中提供。

作者发现从头开始编写 C/C++ 标准库,尤其是像 std::vector 这样的内容,是一个有趣且具有挑战性的学习经历。设计 ABI 并在 Rust 中实现其内核端也是一个有趣的挑战,尤其是实现支持 malloc 等操作的分配管理系统,这些操作通常不映射到 WebAssembly 的范式。

虽然 wasm_os 主要是一个玩具项目,作者希望通过它探索未来的安全执行环境(例如,通过 QEMU 沙箱化应用程序,并通过基于 ABI 的交互)。

仓库:https://github.com/IntegralPilot/wasm_os

Reddit:https://www.reddit.com/r/rust/comments/1lmlhy6/media_rust_unikernel_for_running_webassembly_in_a/

Quill:轻量级 2D Rust 绘图库

我开发 Quill 是因为我对现有的绘图选项不满意,这些选项无法为示例或报告创建简单但美观的二维绘图。

我发现其他选项,例如 Plotters,对于简单的任务来说,API 很复杂,而且编译时间也大幅增加,更不用说我发现的大多数绘图库都是为嵌入式或 Web 应用程序设计的。

我开发 Quill 主要是为了给我的微分方程库中的示例提供一个 .svg 绘图生成器,但我认为它对其他人也会有用,所以我在这里分享它!

仓库:https://github.com/Ryan-D-Gast/quill

Reddit:https://www.reddit.com/r/rust/comments/1ln20nd/quill_simple_2d_svg_plotting_for_rust/

文章《我真的很喜欢 Helix 编辑器》

作者:Mond

文章介绍了 Helix 编辑器,这是一个类似 Vim 的模态编辑器,灵感来自 Kakoune,支持多光标和基于选择的编辑。

Helix 开箱即用,无需复杂配置,支持 LSP,具有良好的默认设置。它在处理半结构化数据(如日志、JSON)时表现出色,通过简单的按键操作即可完成复杂的文本处理。

作者还展示了如何使用 Helix 快速处理 JSON 文件和日志文件,以及其在代码编辑中的高效性。尽管 Helix 仍在开发中,但作者认为它是一个值得尝试的现代编辑器。

阅读:https://herecomesthemoon.net/2025/06/i-like-helix/

Reddit:https://www.reddit.com/r/rust/comments/1lmo3p2/i_really_like_the_helix_editor/

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页