## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# 技术总览

本文档为希望构建**`道器`**（与大道OS生态集成的应用和服务）的开发者，提供了关于架构、核心技术和指导原则的高阶概览。

## 技术指导原则

- 是“库”，而非“框架”: 大道OS不是一个限制性的框架。**`元`**是一个可移植的库，你将它集成到你自己的应用中，在不规定你应用内部架构的前提下，为其赋能。
- 开放与多语言主义: 任何应用，无论用何种语言编写，都可以成为一个**`化身`（`元`的运行时）。我们通过将`元`同时提供为WASM库**（用于Web和脚本语言）和原生库（`.so`, `.dll`, `.a`，用于系统语言）来实现这一点。
- API优先: 所有与`元`的交互，都通过一个稳定的、版本化的、文档齐全的API进行。
- 安全第一: `元`是一个安全保险库。所有数据默认端到端加密，所有交互都由一个严格的、用户控制的权限系统来管理。

## 核心集成：应用如何“化身”

创造一个`道器`的旅程，始于集成`元`库，这个动作会即时地将正在运行的应用进程，转变为用户“大道”网络中的一个主权`化身`。我们提供两条主要的集成路径。

### 1. Web 集成路径 (通过 `dao.js` SDK)

这是对于 Web 开发者来说，最简单、最平滑的路径。

- 工作原理: 开发者可以利用任何新的或现有的Web应用。通过引入我们的 `dao.js` SDK，他的Web应用就获得了加载`元`的WASM二进制文件 (`dao.wasm`) 的能力。
- “化身”转变: 一旦用户授权，运行这个Web应用的浏览器标签页，就变成了一个临时的`化身`。Web应用的JavaScript代码，就可以通过`dao.js`桥暴露出的高层API，与`元`进行通信。
- 最适用于: 快速构建`器`组件 (`Facet Implement`)，创建数据可视化面板，以及将现有的PWA（渐进式Web应用）集成到“大道”生态中。

### 2. 原生集成路径 (通过 FFI)

这条路径为原生应用提供了最强的性能和最深的系统集成能力。

- 工作原理: 一个原生应用（用Rust, Go, Swift, Kotlin, C++等编写）的开发者，可以直接链接`元`的原生库。
- “化身”转变: 正在运行的原生应用进程，就变成了一个持久的**`化身`。应用代码通过一个外部函数接口（FFI）**桥，与`元`的核心服务通信。
- 最适用于:
  - 在服务器或NAS设备上，创建强大的、7x24小时在线的**`核`组件 (`Core Implement`)**。
  - 构建高性能的原生**`器`组件 (`Facet Implement`)**，比如我们理想中基于Flutter的移动客户端。
  - 改造现有的开源原生应用。

## 关键技术与协议

类别 | 技术 / 协议 | 用途
--- | --- | ---
核心库 | Rust -> WASM / 原生库 | 为`元`创建一个单一的、安全的、高性能的核心逻辑。
Web集成 | `dao.js` SDK (JS/TS) | 任何Web应用成为`化身`的桥梁。
P2P网络 | `libp2p` | 模块化的节点发现、传输和安全通道。
数据同步 | 无冲突复制数据类型 (CRDTs) | 确保各`化身`间的最终一致性。
身份 | DID & VC | 主权身份与可互操作的、基于密码学的信任。
数据序列化 | Protocol Buffers (Protobuf) | 用于API的高效、语言无关的数据结构。