技术创业者在选择技术路线时往往面临一个根本问题:是站在现有生态的肩膀上渐进演进,还是另起炉灶创造一个全新的系统?后者听起来更有颠覆性,也更容易获得媒体关注。但 Wasp 联合创始人兼 CEO Matija Sosic 近日在一篇博客文章中坦承,团队历时五年、花费超过五百万美元之后,终于得出一个痛苦的结论:创建新的 Web 开发编程语言是个错误。
![]()
Wasp 成立于 2020 年,初心是构建一个面向 JavaScript 全栈开发的框架,定位是"JavaScript 世界的 Rails 或 Laravel"。团队认为 Web 应用中存在大量重复模式——身份认证、邮件发送、部署配置——理想情况下应该被抽象成声明式的配置而非重复的代码。2021 年获得 Y Combinator 投资后,Wasp 随后完成了超过五百万美元的融资,推出了自研的 DSL(领域特定语言)wasp-lang。
如果你好奇的话,这里有一段代码片段,展示了这个 wasp-lang 最终的形式:
app todoApp {
title: "ToDo App", // visible in the browser tab
auth: { // full-stack auth out-of-the-box
userEntity: User,
methods: { google: {}, gitHub: {}, email: {...} }
}
}
route RootRoute { path: "/", to: MainPage }
page MainPage {
authRequired: true, // Limit access to logged in users.
component: import Main from "@client/Main" // <-- Your React code.
}
query getTasks {
fn: import { getTasks } from "@server/tasks", // <-- Your Node.js code.
entities: [Task] // Automatic cache invalidation.
}
问题在产品推向市场后很快显现。Sosic 在博客中写道,虽然开发者对 Wasp 的理念表示认可——抽象常见 Web 应用模式这个方向本身没有问题,但当他们意识到需要学习一门新语言时,态度立刻变得谨慎。自定义的 wasp-lang 中的"lang"后缀让用户本能地警觉:在职业生涯中已经需要掌握那么多编程语言,谁愿意再学一个带着"lang"标签的东西?
![]()
语言只是表象,更深层的困难在于工具链。为一门自定义语言构建完善的 IDE 支持是极其耗费资源的工作。Wasp 团队在 VS Code 扩展上投入了大量精力,但 Sosic 坦承最终效果只达到了预期的百分之八十。语言本身可以有语法提示、类型检查和编译检查,但语言之外的工具——调试器、静态分析、代码格式化、第三方库等基础设施几乎不可能靠一个初创团队独立完善。
![]()
几年实践下来,团队终于看清了真正有价值的东西到底是什么。Sosic 在博客中给出的核心观点是:语言从来不是护城河,真正的价值在于"编译时对整个应用的高层次理解"。Wasp 的核心创新——在编译时理解应用的整体结构、自动生成代码片段、理解不同层之间的依赖关系——并不依赖于一门自定义语言才能实现。这一能力完全可以建立在现有的 TypeScript 生态之上。
因此 Wasp 团队决定用 TypeScript 完全取代自定义语言。需要强调的是,这只是接口层面的变化——Wasp 的底层架构、编译器、代码生成逻辑都保持不变。开发者现在获得的是:熟悉的 TypeScript 语法、即时的 IDE 支持、类型检查、自动补全,以及 Wasp 提供的全栈抽象能力。
转向 TypeScript SDK 之后,Wasp 的采用门槛大幅降低。开发者不需要学习新语言,只需要熟悉 TypeScript——这已经是现代 Web 开发者的基本技能。代价是多写一些代码,但换来的是与整个 TypeScript 生态的完全兼容:可以用现有的编辑器、现有的调试器、现有的 NPM 包、现有的代码规范工具。这笔交易对大多数团队来说是划算的。
![]()
新语言听起来有颠覆性,但语言本身是一个高度敏感的技术决策——开发者会本能地抵触,学习成本必须在产品价值上得到充分补偿。在工具链已经高度成熟的领域尤其如此:已经存在多年的语言背后,往往有着几十年积累的编译器优化、海量的第三方库、完善的文档和社区支持。这些不是靠"设计一门更好的语言"就能快速追上的。
参考来源:https://wasp.sh/blog/2026/05/13/new-language-for-web-dev-was-a-mistake
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.