2.7 KiB
2.7 KiB
技术总览
本文档为希望在大道 (Dao OS) 生态系统中进行构建或贡献的开发者,提供了关于架构、核心技术和指导原则的高阶概览。
技术指导原则
我们的工程决策由一套核心原则指引,以确保系统是健壮、可移植和开放的。
- Web原生与可移植性: 我们将源自Web的技术作为应用开发的主路径。
- 通过WASM实现多语言主义: 核心应用逻辑被编译成 WebAssembly (WASM),允许开发者使用他们选择的语言(如 Rust, Go, 或 Nim)。
- API优先: 应用逻辑和用户界面之间的交互,由一个严格的、版本化的API契约来定义。
- 安全第一: 所有第三方应用逻辑都运行在
元内部的安全沙箱中,并恪守“最小权限原则”。 - 自由及开源软件 (FOSS): 整个核心协议和参考实现都是开源的。
应用开发路径
从开发者的角度看,“大道”应用由一个后端的“灵魂”(WASM服务模块)和一个前端的“皮囊”(UI)组成。我们提供多种路径来构建它们,以满足不同的需求和偏好。
1. 主流路径 (推荐起点)
这是最稳健、生态最丰富的路径。
- 后端 (服务于
核化身): 应用的核心逻辑,以一个用 Rust 或 Go 编写的 WASM 模块存在。虽然它理论上可以在任何化身上运行,但其持久的、资源密集型的任务,通常被设计为在**核化身 (Core Avatar)**上执行。 - 前端 (呈现于
器化身): 一个标准的 Web 应用 (使用 TypeScript/JavaScript)。这个 UI 被设计为运行在我们官方的、安全的**“大道 Web 化身”**中。
2. 快速通道:Nim 开发套件 (官方支持)
为了追求极致的生产力,我们为 Nim 提供了一流的支持。
- 后端 (服务于
核化身): 应用的核心逻辑,从 Nim 编译到 WASM。同主流路径一样,它理想的运行环境是核化身。 - 前端 (呈现于
器化身): 从同一份 Nim 源码编译到 JavaScript 的 Web 应用。这个统一的方案运行在“大道 Web 化身”中。
3. 原生路径 (高级)
对于需要深度平台集成或顶尖原生性能的开发者,可以构建一个自定义的器化身。
- 后端 (服务于
核化身): 同样是那个 WASM 服务模块,它可以被任何类型的化身调用。 - 前端 (自定义
器化身): 一个完全原生的应用(例如,用 Flutter 或 Swift 编写),它直接作为元的宿主并提供 UI。
API 契约与关键技术
API 契约通过 dao.js 桥为 Web UI 暴露,或为原生 UI 直接暴露,统一使用 Protocol Buffers 进行数据序列化。所有路径的核心技术保持一致。