TypeScript 7
今天我们很高兴地宣布 TypeScript 7 的发布,这是一个比 TypeScript 快 10 倍的原生移植版本!自早期以来,TypeScript 就承诺在可扩展的 JavaScript 上提供支持。通过将强大的类型检查和丰富的工具带入 JavaScript 的世界,TypeScript 使得跨平台构建非平凡的高质量应用成为可能。去年,我们的团队揭示了 TypeScript 在扩展方面的下一步:让工具集的每个部分的速度提高一个数量级。我们的使命是构建一个用 Go 编写的 TypeScript 原生移植版,以充分利用现代硬件。这个移植尽可能忠实地完成,编写新代码的同时保持原始代码库的结构和逻辑,以确保两个编译器之间的结果一致和兼容。关键的区别在于,使用这个新代码库,TypeScript 7 带来了本地代码速度、共享内存多线程,以及一系列新的优化,通常会在完整构建时实现 8 倍到 12 倍的速度提升。就像任何其他版本一样,TypeScript 7 也可以通过 npm 安装:npm install -D typescript 这会在你的工作空间中获取新的 tsc 可执行文件(你可以通过 npx tsc 运行它)。当然,TypeScript 体验的重要部分还包括编辑器支持。你喜欢的代码编辑器应该能够轻松支持 TypeScript 7 的语言服务器协议(LSP)新支持,以及它的新速度和多线程改进。无论你使用像 VS Code、Visual Studio、WebStorm 还是其他任何现代编辑器,TypeScript 7 应该都能良好运作。只需检查你编辑器的文档—例如,VS Code 有一个专门的扩展可以与 TypeScript 7 一起使用,而 Visual Studio 会根据你的工作空间自动启用 TypeScript 7。更快的 TypeScript 意味着什么?更快的 TypeScript 在纸面上听起来很好,但在实践中意味着什么呢?也许思考一下 TypeScript 在开发每个阶段的作用会有所帮助。一个典型的开发日可能涉及打开编辑器,打开一个 TypeScript 文件,并在你的项目中运行像 find-all-references 的操作。然后,当你开始进行编辑时,或许你希望自动完成会弹出来,并在你进行编辑时实时标出红色波浪线。当你(更最近的时候,或许是一个 AI 代理)准备好构建你的项目时,你会运行 tsc,检查输出中的错误,然后以某种方式运行你生成的代码。更快的 TypeScript 意味着以上每个部分都得到了简化。等待编辑器完全加载你的项目的时间将感觉瞬间即可。find-all-references、自动补全和诊断的延迟应该只是过去时间的一小部分。而当你运行 tsc 时,也许在 --watch 模式下,你将能够缩短反馈循环,迭代速度比以往更快。你可以在真实的项目中看到这一点。实际上,你可以自己尝试对比一些开源项目。以下是运行 TypeScript 6 和 7 在一些相当大的开源代码库上的构建时间。代码库 TypeScript 6 TypeScript 7 提速 vscode 125.7s 10.6s 11.9x sentry 139.8s 15.7s 8.9x bluesky 24.3s 2.8s 8.7x playwright 12.8s 1.47s 8.7x tldraw 11.2s 1.46s 7.7x TypeScript 7 通常在构建过程中需要的总内存较少。代码库 TypeScript 6 TypeScript 7 内存差异 vscode 5.2GB 4.2GB -18% sentry 4.9GB 4.6GB -6% bluesky 1.8GB 1.3GB -26% playwright 1.0GB 0.9GB -11% tldraw 0.6GB 0.5GB -15% 当然,体验远不止完整构建。在同一台计算机上,在 VS Code 代码库中打开一个有错误的文件,过去大约需要 17.5 秒,从打开编辑器到看到第一个错误。而使用 TypeScript 7,时间减少到 1.3 秒以内——速度提高超过 13 倍。经过严格测试,准备投入生产 TypeScript 项目包含数万次在十多年内构建的测试,这些测试在我们的主分支上的每次提交上运行。它们确保我们每一个版本都稳定可靠。但 TypeScript 7 并不是一个普通的版本。除了我们的测试套件外,我们还利用了许多不同的资源来确保 TypeScript 7 为生产使用提供了坚实的基础。在过去一年中,我们与许多大型团队进行了合作,在真实的代码库上测试 TypeScript 7。结果非常积极,整个公司报告称 TypeScript 7 稳定、快速且易于采用。例如,VS Code 团队最近强调了他们在开发周期中使用 TypeScript 7 预览版本的经验,以便更快地推进开发。我们还与 Microsoft 的 Loop、Office、PowerBI、Teams 和 Xbox 等团队合作,以确保 TypeScript 已经为最大的代码库准备就绪。同样,像 Bloomberg、Canva、Figma、Google、Lattice、Linear、Miro、Notion、Sentry、Slack、Vanta、Vercel、VoidZero 等公司也与我们合作,在他们的代码库上测试 TypeScript 7,并给我们反馈以改进它。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡