Skip to Content
内部原理Runtime 边界

Runtime 边界

这是 Ansiq 架构里最重要的一页之一。
如果 runtime 边界不清晰,整个框架会很快膨胀。

Runtime 负责什么

Ansiq runtime 当前负责:

  • app lifecycle
  • reactive flush scheduling
  • dirty scope collection
  • subtree rerender and replacement
  • focus and input routing
  • partial relayout
  • invalidated region tracking
  • terminal session / viewport management
  • framebuffer diff and terminal patch emission

这些职责现在都已经有实现,只是成熟度不完全一致。

Runtime 不负责什么

Ansiq runtime 不负责:

  • 业务状态建模
  • 网络协议
  • 高层 AI agent 编排
  • markdown / 富文本复杂语义
  • 持久化和外部存储策略

这些事情如果都塞进 runtime,它就会失去边界。

为什么这条边界重要

runtime 的职责应该是:

  • 协调
  • 调度
  • 更新
  • patch emission

而不是替你定义业务。

换句话说,runtime 应该是一个“强基础设施层”,而不是一个“什么都能管一点的上帝对象”。

当前已经收掉的几条关键边界

过去一段时间,Ansiq 已经把几件容易膨胀的事收得更清楚了:

  • reactive graph 和 UI tree 继续保持解耦
  • continuity contract 从 runtime 补丁式分支,收成更正式的契约
  • layout / routing / draw 里的纯协议和纯数学部分持续下沉到更合理的层
  • viewport/history 的一部分行为从终端查询依赖改成了纯计算

这些都不是“实现细节优化”,而是在持续捍卫 runtime 边界。

一条你应该一直拿来判断设计的规则

问自己:

这件事是在决定“谁脏了”、“怎么更新 terminal”,还是在处理业务本身?

如果答案偏向业务,那它大概率不该进 runtime。

下一步

继续阅读 Runtime 循环响应式图与 UI 树
前者解释 runtime 如何运转,后者解释为什么它需要两棵不同的图。

Last updated on