JavaScript的历史

100 阅读4分钟

网景公司开发了JavaScript

1995年,JavaScript还在被开发阶段时叫LiveScript,其解释器也叫LiveScript,由Brendan Eich于1995年为网景公司创建。当时网景正和Sun微系统合作,在发布JavaScript时,Sun的Java已经很火了,因此从市场的角度考虑,将LiveScript改名为了JavaScript。

微软发布JScript

微软在JavaScript出来后把网景公司的Navigator浏览器拿过去做了逆向工程,然后创建了一个非常类似的JScript。

JavaScript标准诞生

1996年11月,网景公司将JavaScript提交到了Ecma国际。自此各个浏览器厂商可以遵守的JavaScript标准即将诞生,1997年6月,ECMAScript语言标准发布。

1998年6月,ECMAScript 2 标准发布,1999年12月,ECMAScript 3 标准发布。

2000年,ECMAScript 4 的标准工作开始了。

微软渐渐不遵守ECMAScript标准

在标准不断推进的同时,微软的浏览器份额占据了市场的主导地位。2000年早期,IE的市场份额达到了95%。这样JScript就变成了Web客户端脚本的事实标准。 微软刚开始时还参与ECMAScript标准的进程,在JScript中实现了一些提议,但最终停止了与ECMAScript合作。这样ECMAScript 4版本就搁置了。

沉沦中的挣扎

在微软IE浏览器占主导的那段时间,客户端脚本的发展停滞了。 情况在2004年开始改变,网景的继任者Mozilla发布了Firefox浏览器。Firebox被很多人接受,拿走了相当一部分IE的市场份额。

2005年,Mozilla加入了ECMA国际,并且和Macromedia公司(后被Adobe收购)一起做了一系列事情(具体太繁琐,所以省略),但是最终发布的语言和当时现有的客户端脚本语言(JavaScript)相差太大,且没有微软的配合,因此最终ECMAScript 4标准没能发布。

Ajax带来的重生

与此同时,开源社区有了大的进展。2005年,Jesse、James、Garrett三个人发布了一篇白皮书,里面描述了一套技术:基于JavaScript创建可以在后台加载数据的Web应用程序,避免了每次都需要完全重新加载页面这一不好的体验。他们把这个技术叫做“Ajax”。从此一系列开源库包括jQuery、Prototype、Dojo Toolkit和MooTools诞生,在开源库和社区的推动下,JavaScript又开始火起来了。

Chrome和V8诞生

2008年,谷歌发布了Chrome浏览器,它的V8 JavaScript引擎比它的竞争对手的要快很多。它关键的创新是“just-in-time”编译器(JIT)。鲶鱼效应产生,其他浏览器厂商也不得不给他们自己的引擎用上JIT技术。 2008年8月,这些厂商又坐到一起开会,最终在了2009年的达成了一致,将所有相关工作结合起来,一起推动JavaScript语言的发展。最终于2009年12月,ECMAScript 5 标准发布。

走向成熟

2015年ECMAScript 6(ES6)发布,有大量的新特性和改进。

2009年,Ryan Dahl创建了Node.js,这样JavaScript在Web浏览器以外的使用量也显著增加。Node.js结合了V8引擎、事件循环和I/O的API,提供了一个独立的JavaScript运行时系统。截至2018年,Node.js已被数百万开发者使用,并且npm成为全球最多模块的包管理器。

ECMAScript草案规范目前在GitHub上公开维护,每年都会通过定期的快照生成版本。对语言的发展通过严格有序的提案流程往前推进。开发人员其实不再需要关注语言的版本号,而是关注各个提案的状态进展。

商标问题

JavaScript由网景公司开发的首版,由于网景和Sun微系统公司有合作关系,Sun微系统与1997年5月首次拥有了“JavaScript”商标,后来Oracle收购了Sun微系统公司,商标就成了Oracle的了。

因此恐怕各大浏览器厂商也都不能轻易的使用“JavaScript”这个名字,按理来说应该改叫“ECMAScript”,但是“ECMAScript”确实不太顺口,大家都不喜欢。

2022年Node.js的作者Ryan Dahl曾经恳求Oracle释放“JavaScript”商标:tinyclouds.org/trademark

文章到此结束。