亚马逊云科技近期推出 Blocks 公开预览版,这是一款开源 TypeScript 框架,框架中每个 “Block” 都打包了应用程序代码、本地开发实现以及该应用上线生产环境所需的 AWS 基础设施资源。
开发者只需运行 npm run dev 就能在本地获得一个包含 Postgres、身份认证、实时消息和文件存储的应用,且无需使用 AWS 账户。部署时,同一份代码无需任何修改即可运行在 Lambda、DynamoDB、Aurora、API Gateway 和 Bedrock 上。官方公告称,该框架免去了开发者学习各类基础设施工具的门槛。
Blocks 与众多后端框架的区别在于一个根植于 2026 年行业现状的设计理念:AI 智能体编写代码,而框架从一开始就提供规范、标准的代码编写范式。Blocks 内置了引导文件,无需额外自定义配置就能引导代码智能体输出架构合规的代码。开发者可以提示智能体“添加身份认证和数据库”,智能体生成的代码既能在本地运行,也能部署到生产级 AWS 服务,因为框架会约束智能体,使其严格遵循标准开发模式。
它的组合模型设计简洁易懂。每一个 Block 都是独立的 npm 包,分别对应一项后端能力:数据表、用户身份认证、AI 智能体、文件上传、后台任务、定时任务、实时通知以及邮件服务。开发者按需引入各类 Block 并自由组合,框架便会按照行业最佳实践自动生成对应的 AWS 基础设施。除此之外,该框架无需额外代码生成步骤即可将类型安全从数据模型贯通至前端;仅依靠一套后端定义,就能适配各类 Web 框架(Next.js、Nuxt、Astro、React、Vue、Svelte、Angular)与原生客户端(Swift、Kotlin、Dart/Flutter)。
本地优先开发模式是该框架对开发者最友好的特性。Blocks 借助 Node.js 的条件导出机制,根据运行环境加载不同的底层实现。同一行 new KVStore(scope, 'todos') 代码在本地开发时会使用内存存储,部署后自动切换为 DynamoDB 数据表,在 Lambda 运行时中则对应 SDK 接口调用。框架支持热重载,每次保存文件后都会以亚秒级速度重启后端。开发者媒体 DevelopersIO 实测了从本地启动到部署至 AWS 沙箱环境的端到端流程,验证无需修改任何代码即可对正式的 Aurora、DynamoDB 资源完成数据写入操作。
CDK 逃生舱避免了该框架沦为又一个强约束、封闭的系统。基于 Blocks 构建的应用本质就是 CDK 应用,所有 CDK 构造组件均可与 Blocks 协同使用,开发团队也能将 Blocks 嵌入现有 CDK 堆栈中。当内置 Block 无法覆盖某个用例时,开发者可以下沉到 CDK 进行资源配置。自定义 Block 可以将基础设施、运行时逻辑和本地模拟环境打包成可跨项目复用的模块。
大家心里都清楚,Amplify 与它的定位冲突是绕不开的核心问题。开发者社区一篇深度分析文章清晰梳理了二者功能重叠的部分:
第二代 Amplify 同样基于 CDK,采用以代码为核心的 TypeScript 方式定义后端。Blocks 的代码驱动基础设施层与第二代 Amplify 的后端定义能力都是 CDK 实现 “用 TypeScript 编写后端” 的开发体验,因此设计理念很相近。
亚马逊云科技将它们定位为互补关系:Amplify 提供托管、CI/CD 和托管后端体验,而 Blocks 专注于类型安全的“从代码生成基础设施”和本地优先开发。上述分析文章还指出了二者面向 2026 年的差异化设计:
该框架默认由 AI 智能体编写代码, 智能体承担代码编写工作,并且从底层设计上就内置了标准规范的代码编写范式。这种设计不仅降低了人类开发者的学习成本,也降低了智能体犯错的成本。
在预览阶段,约有 20 个 Block 可用,包括数据库(通过 Aurora Postgres、DynamoDB)、身份认证(Cognito)、AI 智能体和知识库(Bedrock)、文件存储(S3)、实时消息、后台任务、定时任务和邮件(SES)。Blocks 本身不单独收费,开发团队仅需为应用实际使用的底层 AWS 服务付费。
DevelopersIO 实测后列出的注意事项:Block 构造函数签名可能在预览版之间发生变化(建议锁定版本)、本地数据持久化依赖模拟实现(生产环境的准确性请对照真实 AWS 资源验证)、框架目前要求使用 Node.js 22 或更高版本。
Blocks 现已作为公开预览版在所有商用 AWS 区域可用。源代码托管在 GitHub 上,基于 Apache 2.0 许可。
查看英文原文:https://www.infoq.com/news/2026/06/aws-blocks-framework-preview/





