导读:作者说,TypeScript还是不如JavaScript原生好。
Ruby on Rails 的创建者 David Heinemeier Hansson 已经从即将推出的 Turbo 框架第 8 版中删除了 TypeScript,并表示他“从来都不是TS的粉丝”,但许多 Turbo 用户抗议说这一决定仓促且变化太大,引发大家的不满。
在删除 TypeScript 的 GitHub拉取请求的评论看到,有人说“对于库用户和贡献者来说都是一个退步”。截至撰写本文时,该评论已有 357 人点赞,仅有 8 人反对,表明得到了广泛支持。
Turbo是一个用于交付 HTML 页面的框架,目标是在“大幅减少自定义 JavaScript 的数量”,由 Hannson 的公司 37signals 赞助,该公司的产品包括 Basecamp 项目管理平台和 Hey 消息系统。
Turbo 是 Hotwire 的引擎,是“HTML over thewire”的缩写,因为它更喜欢发送 HTML 本身,而不是 JSON 数据和 JavaScript 代码。
尽管 Turbo 本身并不是最流行的框架之一,但 Ruby on Rails 却是全球众所周知的,并被包括 GitHub 和 Shopify 在内的主要网站所使用。
Hansson表示,TypeScript“用类型体污染了代码,这给我的开发体验带来了不悦感,而且常常带来相当大的悲伤。本来应该很容易的事情却变得困难了。”
“切换回 JS 意味着许多 Hotwire 生态系统包将被破坏。所有当前开放的 PR 现已完全过时。从我的角度来看,有些人是非常好的候选人。IDE 不会像以前那样提供更多的自动完成功能,”一位开发者用户如此说道。
另一位开发者抱怨说,“仓促地做出了这一重要的改变,忽略了所有公开评论……这开创了先例。Ruby on Rails 也会这样开发吗?就凭一个人的一时兴起?”
Hansson回应称:“向喜欢 TypeScript 的贡献者致以厚爱和赞赏。这是一场辩论,其中的论点不太可能改变任何人的基本立场,所以我不会尝试这样做。”
他补充说,“我们现在在 37signals 上用纯 JavaScript 编写所有客户端代码,对于任何内部库也是如此。这将使大家在这一点上将保持一致。”
Microsoft 的 Anders Hejlsberg 发明了 TypeScript,因为他相信如果用强类型语言编写复杂的应用程序会更健壮且更容易维护。
TypeScript 在编程社区中的流行表明许多人都同意这一点,并且 TypeScript 中的一些概念(包括类型注释)正在进入 ECMAScript(JavaScript 标准的官方名称)。TypeScript 代码将编译为 JavaScript,并且这个 JavaScript 可在浏览器中或由 Node.js 等运行环境中执行。
作者:万能的大雄
本文为 @ 万能的大雄 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。