今天,我们眼前发生了一件对整个 Web 开发来说真正意义重大的事件。就在几天前,微软的一个 TypeScript 语言项目被放到了公共空间。这真的很重要!
有什么新鲜事?
首先,在新版本 7中,底层的原始 TypeScript 编译器将从JavaScript 转移到 Go。也就是说,将有条件地使用 TypeScript 6 (JS) 和 TypeScript 7 (Go)。这样做主要是因为在非常大的项目中使用时会出现扩展问题,当然,也因为速度问题。
今天,新项目在某些测试中显示出 10 倍的增长,这让它变得非常有希望。当然,最重要的是代码编辑器。如果我们谈论速度,那么如果你没有一些英特尔酷睿 i9-13900K 处理器(原则上一切都无关紧要),而是速度较慢的处理器或笔记本电脑,那么你都会遇到这样的事实:VS Code 中的项目启动时间很长。也就是说,如果它是一个文件 - 好吧,但如果我们谈论的是一个有 100 页和 1000 个文件的现代 Next.js 应用程序,那么笔记本电脑就像一台旧洗衣机一样出现故障,直到它启动为止。
因此,版本 7 最大限度地减少了所有这些麻烦,并且使用新版本的 VS Code 将允许您更快地启动项目。
✅ 关于 Go
当然,在 Web 开发中谈论 Go 并不常见,因为它通常与后端相关,但现在仍然值得一提。为什么你选择 Go 而不是其他语言,比如 Rust 或其他语言?
以下是选择 Go 的简单原因:
“迄今为止最重要的方面是我们需要尽可能保持新代码库的兼容性,无论是在语义方面还是在代码结构方面......Idiomatic Go 与 TypeScript 代码库现有的编码模式非常相似,这使得移植工作更加容易处理。”
“我们还进行了大量的图形处理,特别是涉及多态节点的向上和向下遍历树。Go 在使这变得符合人体工程学方面做得非常出色,特别是在需要类似于 JavaScript 版本的代码的情况下。”
这些都是直接引用自这里,如果你想知道为什么是 Go,你可以阅读全文。
新版本的问题
新版本总是好的,但也存在一些您应该了解的陷阱,以免在项目中犯错误:
适度的代码库——这个项目实际上刚刚向公众展示,因此就代码库与旧版本 5.8、5... 的对等性而言,显然无法进行比较。也就是说,如果你想了解有关版本 7 的新内容,如果你有某种错误或类似的东西,那么 ChatGPT 将不会回答你,你也不会在 StackOverflow 上找到信息。你将被视为发现者,你的职责是将你发现的内容记录在互联网上。这当然很酷,但对于预算较大的项目来说,值得理解的是,这些仍然是风险,因为开发人员实际上可以坐下来几个小时只是为了推断类型。但是,很明显,这是为未来储备的,就像 2021 年的 Next.js 一样。
Go - 是的,这既可以算作优点,也可以算作缺点。想象一下,有多少代码、模块和其他东西是专门为 JavaScript 编写的,而现在编译器底层的语言正在发生变化。因此,Go 的问题转移到了 Web 开发中。许多 Web 开发人员甚至不知道(我希望不知道)它是一种什么样的编程语言,但它的实现不可避免地会带来不一致和依赖。
️ 结论
从我的角度来看,这确实是一件新颖而酷的事情,因为程序的速度对我来说一直是最重要的。我喜欢这样一个事实:Web 开发不仅专注于现在无处不在的 JavaScript,还关注其他可以带来新东西的语言。很明显,一切都围绕着 JS、HTML,因为它是一个标准,但是,当我们谈论可变性时,每个人都会想起后端,那里是一切,但现在客户端上有一些值得讨论的东西。因此,即使新版 TypeScript 存在种种缺点,我认为它应该被下载,应该尝试和开发。想象一下,在我们眼前创造历史,数百万开发人员将开发它,一堆新的 Go 错误和功能,典型的不一致和其他类似的东西。但是,这很酷!

