TypeScript 7:提速10倍,引入Go語(yǔ)言,厲害了!
各位好!今天,一项真正重要的事件正在眼前发生,对网页开发而言。就在几天前,微软的TypeScript项目被公开。这真的很重要!
👀 有什么新东西?首先,TypeScript 的原始编译器从 JavaScript 迁移到了 Go,这是在新的 版本 7 中进行的。也就是说,将同时存在 TypeScript 6(基于 JS)和 TypeScript 7(基于 Go)。这样做主要是为了应对大型项目中的扩展性问题,同时也提高了性能。
今天,新项目在某些测试中增长了10倍,这使它变得非常有前景。当然,最关键的是代码编辑器。如果我们谈论速度的话,如果你没有那种Intel Core i9-13900K这样的高性能处理器,那么其他因素可以说都不重要了。但如果你用的是较慢的处理器,或者是一台笔记本电脑,你可能遇到过这样的情况:你的项目在VS Code中启动起来时,速度会非常慢。也就是说,如果是单个文件还好,但如果我们谈论的是一个现代的Next.js应用,包含100个页面和1000个文件,那么笔记本电脑就像一台老旧的洗衣机一样卡顿,直到启动完成。
(点这里看老古董电脑)
所以版本7简化了这一切麻烦事,而新的VS Code版本将帮助你更快启动项目。
关于 Go (Go 语言)当然,在 web 开发的背景下来说,讨论 Go 语言确实不常见,因为它通常用来做后端,但现在还是聊聊它的好。你为什么选择 Go 而不是其他语言,比如 Rust 或其他什么语言?
这里有一份简短的选择 Go 的原因清单:
最关键的一点是,我们需要尽可能保持新代码库在语义和代码结构上的兼容性……Go 语言的习惯用法与现有的 TypeScript 代码库中的编码模式非常相似,这使得这次移植工作更容易搞定。
- "我们也有大量的图处理任务,特别是需要遍历多态节点的树结构,无论是向上还是向下遍历。Go 在这方面表现得非常出色,特别是在需要与 JavaScript 版本的代码相似的情况下,非常符合人体工学的设计。"
以下内容直接引用自这里,如果你想了解为什么选择Go,可以阅读全文。
🔎 看来看新版本的一些问题吧新版本通常不错,但也有一些需要注意的地方,这样你在项目中就不会出错了。
-
较小的代码库 - 与较早版本如5.8相比,其代码库显然不具备可比性。也就是说,如果你想了解版本7中的新内容,或者遇到bug或其他类似问题,那么ChatGPT可能会无法回答你的问题,StackOverflow上也找不到相关信息。你将被视作发现者,有责任在网上记录下你的发现。当然,这很酷,然而,对于资金充裕的项目来说,也应认识到这存在一定的风险,因为开发者可能需要花好几个小时来推断类型。不过,这显然是为未来做准备,就像2021年的Next.js一样。
- Go (Go 语言)- 是的,这可以被视为一种优势和劣势。想象一下有多少代码和模块是专门为 JavaScript 编写的,而现在编译器背后的语言发生了变化。相应地,Go 语言的问题也延伸到了 Web 开发上。许多 Web 开发人员甚至不知道(希望他们不知道这种编程语言是什么),但它的实现不可避免地带来了不一致性和折衷方案。但它的实现不可避免地导致了不一致性和折衷方案。
从我的角度来看,这真是新且酷的东西,因为程序的速度一直以来对我来说都是最重要的。我喜欢网络开发不只是集中在无处不在的JavaScript上,而是也关注其他能带来新东西的语言。很显然,一切都是围绕JS和HTML,因为这是标准,但是仍然,当我们谈论多样性时,大家都会记得后端,那里包含所有,但现在前端也有东西可谈了。因此,即使新版本的TypeScript存在一些缺点,我认为应该去下载并尝试开发。想象一下,在我们眼前历史正在被创造,成千上万的开发者将投入到新版本的发展中,新版本会带来新的Go语言bug和特性,典型的不一致以及其他类似的问题。但,这真的很酷!
💬 你觉得这怎么样啊?读起来应该挺有意思的!
非常感谢您的阅读!
GIF 嘿嘿!
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章