C++ · KJ · CPPGC

从 V8 到一个小型运行时

不是复刻完整平台。我们只保留一条清晰主线:让 V8 执行 JavaScript,用 KJ 接管异步 I/O,用 cppgc 管理跨语言对象,然后逐章加入真实能力。

6个连续章节
C++23宿主实现
1个逐步长大的服务

最终得到什么

export default {
  async fetch(request, env, ctx) {
    const value = await env.KV.get("visits")
    ctx.waitUntil(env.LOG.append("request completed"))
    await new Promise(resolve => setTimeout(resolve, 3000))
    return new Response(value ?? "hello")
  }
}

同一个进程还会提供 SPA 静态资源、WebSocket 聊天室、内存房间状态、追加日志、RocksDB KV,以及请求和存储 span。

路线

每章都只在上一章的可运行程序上增加一个边界。章节正文解释“为什么”,完整类型职责放在独立参考页,避免把生命周期细节藏在代码片段里。

进入第 1 章:安装 →