开发者热议:微软新提议或将“彻底”改变 JavaScript 和 TypeScript!

简介: 开发者热议:微软新提议或将“彻底”改变 JavaScript 和 TypeScript!

上个月,微软刚宣布支持了一项“关于进一步开发 JavaScript 和 TypeScript ”的提议,尽管这只是一个所谓的 0 阶段提案,但微软已宣布希望按时向 TC39(技术委员会39)提交该提案。有业内开发者表示,如果这项提议被采纳并将得到实施,那么对于 JavaScript 和 TypeScript 来说将迎来一场巨变。

(相关阅读:https://segmentfault.com/a/11...

image.png

JavaScript 的 20 年奋进史

回顾过去的 20 年,如果比较一下现在和那时的 web 开发,我们就会发现,尽管JavaScript 作为一种编程语言已经发展了很多,但围绕 JavaScript 的生态系统却已取得了很大进步和发展。

究其原因,是由于:第一点,JavaScript 社区在过去 20 年里变得更加专业;第二点,互联网的一个基本问题变得越来越重要。以此同时,以上这两点是相互需要的。

image.png

众所周知,作为开发者,我们无法控制用户将使用哪些浏览器。也就是说,用户只有定期更新浏览器,才能使用 JavaScript 的最新功能。当然这也是对个人用户情况的总结,因为现在很多浏览器都会自动更新,或者在未经询问的情况下指示更新。

但对于公司而言,情况并非如此(或许由于企业对软件和软件更新有严格的规定)。许多公司经常会使用过时的软件,或使用过时的浏览器上网,这也会影响 HTML 和 CSS,此外编程语言也必须由各自的浏览器进行解释,因此具有很大的依赖性。

此时,作为一名 web 开发人员,我们将必须在两种观念之间做出选择:要么依赖于简化编程或在可用性方面带来更好结果的现代 JavaScript、CSS 或 HTML 功能,要么因过时的浏览器而无法为所有人提供这些现代功能(升级可能会导致一定数量的用户出现 bug)。

除此之外,几十年来还没有一个像样的 JavaScript 模块系统。而 Node.js 通过 CommonJS 获得了标准,但这仅限于服务器。

大约十年前,浏览器中很长一段时间没有发生任何事情,这就是为什么 Bundler 与 transpiler 一同出现的原因。尽管您使用的是一种可以正常执行的 JIT(即时)编译编程语言,但您始终需要处理一种复杂的构建过程,将源代码转换为实际代码,然后在浏览器中执行和解释(这是大约十年前的情况)。

TypeScript 的崛起

十年前,微软发明了 TypeScript。微软认为“如果你在部署之前需要一个 transpiler 来转换 JavaScript 代码,那么在这个构建过程中增加一个步骤也不会有什么大不了的”。

在这个过程中,开发者会得到一个能将现代 JavaScript 转换成普通 JavaScript 的 transpiler。此外,TypeScript 是一个静态类型系统,它使 JavaScript 更具可伸缩性,为团队高效开发 JavaScript 做出了重要贡献。

这也难怪 TypeScript 很快建立起来,并一举成为当今企业 JavaScript 开发的标准。

image.png

十年后的今天,世界发生了变化。虽然那些不更新的浏览器现在还“活着”,但它们今天所扮演的角色比过去小得多。

所以,对于 Evergreen 这样的浏览器而言,现在不使用 transpiler 也能工作,且有了 ESM(ECMAScript模块),还包括一个可在服务器端和客户端工作的基于 JavaScript 的本地模块系统。

这样一来,bundler 就用不着了,至少从技术角度来看是这样。bundler 只是优化 HTTP 请求的又一个步骤,这样就可以从服务器上加载更少的小文件,只需加载几个大文件。与此同时,构建过程也将逐渐变得更简单或更无关紧要。

目前,微软预计未来唯一剩下的必要工具,就是 TypeScript 编译器,因为 web 浏览器和其他 JavaScript 运行时环境根本无法理解 TypeScript。

也就是说,微软或 TypeScript 突然从一个非常实用的工具变成了一个相当“烦人”的东西。对此,微软表示他们不想成为阻碍,反之,他们想激励开发者。

当然,这样一来微软也会有所担心 —— JavaScript 开发迟早会像 20 年前一样快速、直接、高效,因为如果不使用 TypeScript 的话,Transpiler 这些东西迟早要被淘汰掉。

目前,打消顾虑的一种方式是:要求在 web 浏览器和其他运行时环境中集成 TypeScript,以此来作为 JavaScript 的替代编程语言。理论上,这并不牵强。

此外,TypeScript 现在也成为了一种更加复杂的编程语言,微软不希望将 TypeScript 编译器的所有功能直接集成到常见的 web 浏览器中。这将是一项非常复杂的任务,需要苹果、谷歌、Mozilla 等公司的合作,才能集成一个新的大标准。

当然,微软应该不想那样做,因此也就有了 3 月份的那份“关于进一步开发 JavaScript 和 TypeScript ”的新提议。

image.png

那么,TypeScript 是否应该保持完全独立,亦或者会变成“新的 JavaScript”呢?无论如何,我们或许会在接下来的几年里看到关于此次提议的发展。

相关文章
|
5月前
|
Rust JavaScript 前端开发
Node.js 添加对 TypeScript 的实验性支持
Node.js 添加对 TypeScript 的实验性支持
157 53
|
4月前
|
JavaScript 前端开发 安全
TypeScript的优势与实践:提升JavaScript开发效率
【10月更文挑战第8天】TypeScript的优势与实践:提升JavaScript开发效率
|
4月前
|
JavaScript 前端开发 安全
深入理解TypeScript:增强JavaScript的类型安全性
【10月更文挑战第8天】深入理解TypeScript:增强JavaScript的类型安全性
80 0
|
4月前
|
JavaScript 前端开发 IDE
深入理解TypeScript:提升JavaScript开发的利器
【10月更文挑战第8天】 深入理解TypeScript:提升JavaScript开发的利器
45 0
|
3月前
|
JavaScript 前端开发 安全
探索Deno:新一代JavaScript/TypeScript运行时
Deno是由Node.js创始人Ryan Dahl发起的新一代JavaScript/TypeScript运行时,旨在提升安全性、模块化和性能。本文介绍了Deno的核心特性,如内置TypeScript支持、强大的模块系统、权限管理和测试工具,以及开发技巧,帮助开发者构建更安全、高效的Web应用。
|
3月前
|
JavaScript 前端开发 安全
JavaScript与TypeScript的对比,分析了两者的特性及在实际项目中的应用选择
本文深入探讨了JavaScript与TypeScript的对比,分析了两者的特性及在实际项目中的应用选择。JavaScript以其灵活性和广泛的生态支持著称,而TypeScript通过引入静态类型系统,提高了代码的可靠性和可维护性,特别适合大型项目。文章还讨论了结合使用两种语言的优势,以及如何根据项目需求和技术背景做出最佳选择。
92 4
|
3月前
|
机器学习/深度学习 人工智能 JavaScript
JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景
本文探讨了JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景。JavaScript将注重性能优化、跨平台开发、AI融合及WebAssembly整合;TypeScript则强调与框架整合、强类型检查、前端工程化及WebAssembly的深度结合。两者结合发展,特别是在Vue 3.0中完全采用TypeScript编写,预示着未来的Web开发将更加高效、可靠。
90 4
|
3月前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
61 2
|
3月前
|
JavaScript 前端开发 安全
掌握TypeScript:提升JavaScript开发质量
本文介绍了TypeScript如何通过其静态类型系统、面向对象特性及对现代JavaScript特性的支持,提升JavaScript开发的质量,包括减少错误、增强代码可维护性和利用类型推断等功能,适用于大型项目开发。
|
3月前
|
Web App开发 JavaScript 前端开发
探索Deno:新一代JavaScript/TypeScript运行时环境
【10月更文挑战第25天】Deno 是一个新兴的 JavaScript/TypeScript 运行时环境,由 Node.js 创始人 Ryan Dahl 发起。本文介绍了 Deno 的核心特性,如安全性、现代化、性能和 TypeScript 支持,以及开发技巧和实用工具。Deno 通过解决 Node.js 的设计问题,提供了更好的开发体验,未来有望进一步集成 WebAssembly,拓展其生态系统。

热门文章

最新文章