Tim Berners-Lee 于1989年发明了万维网并于1991年对外发布了世界上第一个网页浏览器 WorldWideWeb,从此拉开了 Web 时代的序幕。
1994 年网景公司(Netscape)发布了 Navigator 浏览器 0.9 版本,这是历史上第一个比较成熟的网络浏览器,轰动一时。
1995 年,受雇于 Netscape 的 Brendan Eich 用了十天时间设计出了 JavaScript。之后便开启了浏览器兼容和争夺的至暗时刻,到 1997 年 ECMA 组织开始发布公开标准,JavaScript 即将进入标准化进程。得益于 ECMA 的标准,JavaScript 愈发的强大,并借助 Babel 实现了标准制定和浏览器实现的兼容,使得我们可以写最现代化的代码而不用过多的考虑浏览器兼容性,并且还诞生 Node.js、React Native 等服务器端、移动端的 JavaScript 运作方式,谁也想不到二十年后的今天 JavaScript 似乎印证了 Write Once Run Anywhere 的优势,Brendan Eich 作为 JavaScript 之父,在编程的历史上留下了他的印记。
随着时间的推移,微软发现外部客户在开发大规模 JavaScript 应用的过程中遭遇了语言本身的短板,在 2012 年 10 月,微软发布了首个公开版本的TypeScript,2013年6月19日,在经历了一个预览版之后微软正式发布了正式版TypeScript,当前最新版本为TypeScript 3.9。
TypeScript 是 JavaScript 的严格超集,因此任何 JavaScript 都是合法的 TypeScript(非常像 C 和 Objective-C 的关系)。TypeScript 为 JavaScript 带来了强大的类型系统和对 ES2015的支持,它的编译工具可以运行在任何服务器和任务系统上。类型系统实际上是非常好的文档,增强了编辑器在 智能提示,跳转定义,代码补全 等方向上的功能,并且在编译阶段能发现大部分的错误,对于大型工程的代码可读性和可维护性起到了了不起的作用。
TypeScript 的流行趋势事实上 TypeScript 拥有活跃的社区,大部分第三方库都有提供 TypeScript 类型定义文件,甚至知名的前端或后端库都完全使用 TypeScript 来进行开发,比如 Google 的 Angular,Nest.js, 还有一些著名的 UI 组件库,如蚂蚁金服的 Ant Design,Google 的 Material Design:
我们在平时工作中实实在在使用的库或框架都使用了 TypeScript 构建或正在调研使用中...
我们可以通过一些数据来了解 TypeScript 的流行趋势:
TypeScript 的优势和收益是什么?
- 类型系统可在编译阶段发现大部分的错误
- 类型系统也是一个很直观的编程文档,可以查看任何函数或API的输入输出类型
- 类型系统增强了编辑器或IDE的功能
- TypeScript 可以自动的推导类型
- 一切 JavaScript 都是合法的 TypeScript 降低了使用成本
- TypeScript 拥抱 ES2015 以及 ESNext 草案规范
- 几乎第三方库都有 TypeScript 类型定义文件
当然,凡事都有两面性,TypeScript 有一定的学习成本,比如:Interfaces,Generics,Enums 等前端工程师不是很熟悉的概念,短期内多少会增加一些开发成本,集成和构建一些库会有一定的工作量。