全栈 Web 框架 Wasp 抛弃自研 DSL,用 TypeScript 开启全栈框架复兴新方向

📅 2026/6/17 2:53:59
全栈 Web 框架 Wasp 抛弃自研 DSL,用 TypeScript 开启全栈框架复兴新方向
【导语全栈 Web 框架 Wasp 在第 12 次 Launch Week 发布 TypeScript Spec对框架核心架构进行根本性改造抛弃自研 DSL 改用纯 TypeScript这折射出全栈框架复兴的趋势。】Wasp 架构改造抛弃自研 DSL 转向 TypeScript全栈 Web 框架 Wasp 发布第 12 次 Launch Week 重头戏 TypeScript Spec对核心架构进行根本性改造抛弃自研的领域特定语言DSL转而用纯 TypeScript 实现其最具特色的“spec”层。Wasp 联合创始人兼 CTO Martin Sosic 表示为 Web 开发发明新语言问题比价值更多。Spec 层Wasp 独特的全栈逻辑定义方式Wasp 是一个有自我特色、功能齐全的全栈 JS/TS Web 框架“真正的全栈”意味着覆盖前端、后端和数据库。“Spec 驱动”是其核心理念Spec 是 Wasp 中独有的逻辑层不写前端、后端或数据库逻辑而是用高级构建块定义应用把具体实现交给底层技术Wasp 编译器将 spec 和实现代码编织成完整应用。此前 spec 层用自研 DSL 搭配自定义编译器和工具链实现但维护自研语言面临编辑器支持、错误提示、类型检查、社区上手成本等问题当框架扩展生态时DSL 成为瓶颈。TypeScript Spec带来前所未有的灵活性TypeScript Spec 解决方案是不再写 .wasp 文件而是写 *.wasp.ts 文件从 wasp.sh/spec 包中导入构建函数用 TypeScript 代码组合出完整的 app spec 对象。代码结构表面变化不大但本质上使用的是完整的 TypeScript可使用第三方 npm 库、拆分 spec 到多个文件、定义 helper 函数等。如实现文件系统路由可在 main.wasp.ts 中写 helper 函数用 Node.js 的 fs 模块扫描 src/ 目录结构自动生成 route() 和 page() 的 spec 数组并拼接到 app.spec 中Sosic 称之为“把 Wasp 变成了一个元框架”。编译时机制解决 spec 和实现的连接问题Wasp 引入 with { type: ref } 导入的编译时机制这类导入在打包阶段被转换为引用对象传递给 spec 构造函数使 spec 可引用实现代码同时保持独立性和可分析性。未来展望全栈框架复兴与 Wasp 的发展方向Wasp 的 spec 设计对 AI 辅助编程有特殊价值其 spec 是应用的可编译组成部分AI 可先从 spec 获取应用高层鸟瞰图和设计意图未来 Full Stack Modules 落地开发者可给 AI 提供全栈构建块。Wasp 目前仍在 Beta 阶段团队在完善 TS Spec 设计、推动核心模块向 1.0 成熟度演进、横向扩展等方面并行推进。这次架构变更折射出全栈框架复兴趋势Wasp 的 TypeScript Spec 代表了用主流语言承载框架独特设计哲学的新方向。编辑观点Wasp 抛弃自研 DSL 转向 TypeScript 是明智之举解决了扩展瓶颈带来灵活性其对 AI 编程的支持也顺应趋势有望在全栈框架复兴中占据一席之地。