# 概述 共有 3 个二进制宿主: - `deft` — 脚本二进制与 REPL。运行 `.dft` 文件,暴露完整标准库,并作为测试、格式化与包管理器的入口点。 - `retro` — 面板化开发环境(编辑器、git、文件管理器、终端、AI 聊天、系统监视器)。灵感来自 Emacs 与 Blender。使用原生渲染后端。 - `retra` — 功能与 `retro` 完全相同,但为纯 ANSI,因此在裸 SSH 上也能工作。 所有 TUI 应用都用 Deft 本身编写,每个宿主中可用的脚本 API 相同。平台层标准库函数(`pub/*`、`config/*`、`runtime/*`、`sqlite/*`、`dialog/*`)在三者中行为一致。 ## 应用平台 每个 Deft 应用都从自己的目录加载,运行在自己的 OS 线程中,并拥有独立的运行时(含自己的虚拟机与堆)。应用通过以下方式通信: - `pub/*` — 向任意运行时的任意订阅者广播基于主题的事件。 - `@rpc` + `rpc` — 按运行时名称寻址,对另一运行时暴露的函数进行类型安全的直接调用。每个宿主都可用。 - `config/*` — 共享、持久、响应式的键/值存储。 - `runtime/*` — 派生并交互子运行时。 应用启动器本身就是一个 Deft 应用,因此你可以替换或扩展它来加载自己的工具。 ## 平台 当前支持: - Linux(x86_64、aarch64) - Raspberry Pi Zig 代码库意味着 macOS 与 Windows 移植应该不需要太大功夫;它们在路线图上,但尚未发布。 ## 接下来读什么 | 如果你想要…… | 阅读 | |---|---| | 感受语言风格 | 语法与风格 | | 运行第一个脚本 | Shell 脚本 | | 理解类型系统 | 类型与协议 | | 查看完整标准库函数目录 | 标准库 | | 构建 TUI 应用 | TUI 概述 | | 让应用互相通信 | 发布/订阅、RPC | | 嵌入 SQLite | SQLite | | 调用 C 库 | FFI | | 将 Deft 嵌入宿主应用 | 嵌入 | | 理解虚拟机的内存模型 | 内存管理 | | 理解持久化集合与 `<<` | 持久化数据结构 | | 理解文本/字体如何在 TUI 中渲染 | 字体渲染 | | 理解字符串索引、宽度与字节 | 字符串表示 |