Files
dao-os-docs/src-zh/specifications/tech_overview.md
李东云 d5a6b17526
Some checks failed
Build and Deploy mdBook / build-and-deploy (push) Failing after 9s
📃 docs: add bazaars &rename
2025-06-11 12:45:15 +08:00

2.7 KiB
Raw Blame History

技术总览

本文档为希望在大道 (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 源码编译到 JavaScriptWeb 应用。这个统一的方案运行在“大道 Web 化身”中。

3. 原生路径 (高级)

对于需要深度平台集成或顶尖原生性能的开发者,可以构建一个自定义的器化身

  • 后端 (服务于 核化身): 同样是那个 WASM 服务模块,它可以被任何类型的化身调用。
  • 前端 (自定义 器化身): 一个完全原生的应用(例如,用 Flutter 或 Swift 编写),它直接作为的宿主并提供 UI。

API 契约与关键技术

API 契约通过 dao.js 桥为 Web UI 暴露,或为原生 UI 直接暴露,统一使用 Protocol Buffers 进行数据序列化。所有路径的核心技术保持一致。