《JavaScript的诞生记》

314 阅读5分钟

JavaScript的诞生背景

1993年,国家超级电脑应用中心(NCSA)发表了NCSA Mosaic,这是最早流行的图形接口网页浏览器。1994年Mosaic的主要开发人员创立了网景公司(Netscape),发布了Navigator浏览器,这是历史上第一个比较成熟的网络浏览器,轰动一时,在四个月内,占据了四分之三的浏览器市场,并成为1990年代互联网的主要浏览器。但这个浏览器只能用来浏览网页,网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。

1995年,Sun公司将Oak语言改名为Java,正式向市场推出。网景公司决定与Sun公司结成联盟,在Netscape Navigator中支持Java。

1995年4月,网景公司录用了Brendan Eich,招聘他的目的,是研究将Scheme语言作为网页脚本语言的可能性。

但在5月,网景公司做出决策,未来的网页脚本语言必须”看上去与Java足够相似",但是比Java简单,使得非专业的网页作者也能很快上手。Brendan Eich被指定为这种“简化版Java语言”的设计师。但是,他对Java一点兴趣也没有,如果不是公司的决策,Brendan Eich绝不可能把Java作为Javascript设计的原型。为了应付公司安排的任务,他只用10天时间就把Javascript 设计出来了。作为设计者,他却一点也不喜欢自己的这个作品。由于设计时间太短,语言的一些细节考虑得不够严谨,有很多失误,导致后来很长一段时间,Javascript写出来的程序混乱不堪。

他的设计思路是这样的:

  (1)借鉴C语言的基本语法;
  (2)借鉴Java语言的数据类型和内存管理;
  (3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;
  (4)借鉴Self语言,使用基于原型(prototype)的继承机制。

Javascript语言实际上是两种语言风格的混合产物----(简化的)函数式编程+(简化的)面向对象编程。这是由Brendan Eich(函数式编程)与网景公司(面向对象编程)共同决定的。

浏览器大战

  • 微软的跟进与网景的反击

1996年8月IE3发布,支持JScript(微软版本的JS),为了压制微软,在1996年11月,网景正式向ECMA(欧洲计算机制造商协会)提交语言标准,以JavaScript语言为基础制定了ECMAScript标准规范,由于版权问题,JS语言标准不叫JavaScript,叫ECMAScript。

  • 网景之死

由于微软的IE浏览器捆绑进了Windows,所以随着Windows系统的火爆,IE很快超越。1998年,网景浏览器节节败退,公司陷入内忧外患,同年,公司打算博一搏,将浏览器Firefox开源,但是没有挽回局面。年底,美国在线AOl宣布收购网景,收购后网景团队中的程序员纷纷被解散。布兰登在此之后,一直在协助维护FirFox的运营。 -** IE6 如日中天**

2001年,IE6随着WindowsXP一起发布,2004年,IE6占有全球市场占有率80%以上。然而这款浏览器却不兼容W3C标准(主要是CSS),IE6也频繁爆出安全漏洞。FireFox打算涅槃重生,重新打败IE,发布了FireFox3,市场占有率约为20%。2005年,IE7发布,但不敌IE6,2006年主要浏览器为IE和Firefox。

Chorme横空出世

由于IE6的巨大成功,微软不在花费精力,直接解散了IE6开发团队。FireFox的出现,让微软重组IE团队,但不是同一队人,造成IE7、8问题不断。

  • 谷歌抓住机会 2004年,谷歌聘用了一些FireFox和IE的开发者。2008年,Chorme发布,迅速拿下1%的市场份额。2011年Chorme份额超过FireFox,2016年Chorme全球份额62%。

移动市场的兴起

-智能手机崛起 2010年,iphone4发布。2011年,微软和诺基亚联合,推出Windows Phone。后来的事情大家就知道了,诺基亚的手机业务完了,也就是说手机上基本没有IE了。前端程序员表示欣喜若狂,IE终于要死了。2016年,淘宝天猫宣布不再支持IE6、IE7。同年底,宣布不再支持IE8。移动市场的兴起,让中国前端摆脱IE十年的恐怖支持。从此,前端极速发展。

ECMAScript标准的制定

1997年6月,第一版ECMAScript发布。1999年12月,第三版发布,也是目前使用最广泛的版本。第四版由于过于复杂,导致最终流产。2009年12月,第五版发布,增加了一些功能。2015年6月,第六版发布,新的浏览器均支持这一版,之后的每一年发布一版,版本编号以年份命名。

JavaScript的兴起

-杀手级应用Gmail

2004年愚人节,谷歌发布应用Gmail在线网页,当时的人们认为网页只能用来看新闻和图片。Gmail的发布,让用户和开发者眼前一亮。2005年,Jesse将谷歌用到的技术命名为AJAX。从此,前端技术正式出现,在此之前的网页开发都是由后端和设计师完成的。2006年,jQuery发布,是目前最长寿的JS库,到后来的十年,jQuery大放异彩,直至IE不行了,jQuery才没有那么火。

JavaScript爆发

Chorme的JS引擎叫做V8,2009年,Ryan基于V8创建了Node.js。2010年,Isaac基于Node.js写出了npm。前端工程师可以在浏览器之外执行了JS了,Node.js快速风靡。同年,TJ受Sinatra启发,发布了Express.js。从此,前端工程师可以愉快的写后端应用。

这就是JS的备胎逆袭历史。