JavaScript是如何成长至今的?

我心飞翔 分类:javascript

JavaScript的诞生

  JavaScript在1995年由网景公司(Netscape)的布莱登(Brendan Eich),在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,网景公司管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

image.png
(Brendan Eich)

起因

  时间发生在1994年,起因是当时网景公司(Netscape)发布了Navigator浏览器0.9版,但是只能用来浏览不具备与用户进行交互的能力,网景网景公司急需一种网页脚本语言,使得浏览器可以与网页互动

image.png

网景公司(Netscape)

过程结果

  1995年34岁的系统程序员布莱登(Brendan Eich)进入网景公司,被指定为这种网页脚本语言的设计师。网景公司管理层希望这个脚本语言外观看起来像Java而且更加易于使用,Brendan Eich的主要方向和兴趣是函数式编程,但对Java不感兴趣,所以接到这个任务安排后,虽然心有抵触但是还是为了完成交差只用10天时间就把Javascript设计出来了。他本人在日后也是有吐槽当时的设计要求。
  当然这样较短的设计时间出来的产物也会有它不够严谨的地方。不过当时谁又能想到这个参照Java设计出来的产物在今后它被世界上的绝大多数网站所使用,也被世界主流浏览器支持。

细节内容参考Javascript诞生记

JavaScript的命名

  JavaScript先后的命名顺序:Mocha摩卡=> LiveScript => JavaScript

  JavaScript最初的名字是一个咖啡名——Mocha(摩卡),也是参照Java的命名。(想起一句广告词:一直被模仿从未被超越)

image.png

  LiveScript是JavaScript语言的前身,在Netscape发展LiveScript的同时,Sun公司也正在发展Java语言,为了辅助Java的网页程式方面的设计,这两家公司进行合作,共同发展LiveScript语言,并将LiveScript语言改名为Javascript。

JavaScript的实现

  前面说到的网景公司只是设计了JavaScript,随着微软的跟进,1996年8月IE3发布,支持JScript(微软实现的JS)

  浏览器大战开始,每家浏览器的脚本不太一样。

ECMAScript标准的制定

  为了反制微软,1996年11月,网景向ECMA提交语言标准,由于版权问题,JS语言标准不叫JavaScript,叫 ECMAScript。

  1997年6月,第一版ECMAScript发布

  1999年12月,第三版发布,这个版本使用最广。第四版,流产。

  2009年12月,第五版发布,增加了一些功能。

  2015年6月,第六版发布,新浏览器都支持这一版之后每年发布一版,版本号以年份命名。

ECMAScript、DOM 和 BOM

  尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:

  核心(ECMAScript)
  文档对象模型(DOM)
  浏览器对象模型(BOM)

image.png

浏览器市场的改变对JavaScript的影响

image.png

  微软的IE浏览器由于捆绑进了Windows,很快超越其他浏览器。1998年,网景浏览器节节败退,公司陷入内忧外患同年,公司打算搏一搏,将浏览器开源(Firefox)。

  最终,市场并没有因为开源而重新青睐网景。
年底,美国在线AOL宣布开始收购网景收购后,网景团队里的程序员纷纷被解。雇布莱登在之后一直协助维护Firefox的运营。

从时间线上看一下影响

  1999年12月到2009年12月这十年期间,ECMAScript从3到5(4代流产)的新版本也只是增加了一些功能,可能受到的影响是什么呢?

  2001年,IE6随着Windows XP一起发布。

  2010年,中国的大部分浏览器还是IE6(由于盗版Windows XP在中国的风行)

  由于IE6的巨大成功,微软觉得再花费精力不值得,而且没有竞争对手,所以直接解散了IE6开发团队。
  Firefox的出现让微软重新组建IE团队,但不是同一队人,造成IE7、8一直问题不断。

  IE浏览器一直被世人所诟病,大家心里都有数,但是谁让人家在当时没有足以匹敌的竞争对手呢,微软步入 Web 浏览器领域的这重要一步虽然令其声名狼藉,但也成为 JavaScript 语言发展过程中的重要一步。

  让我们看一下IE现在的最大对手谷歌那个时间在怎么起步:

  2004年,谷歌雇用了一些Firefox和IE的开发者。

  2008年,Chrome终于发布,迅速拿下1%份额。

  谷歌发布后第二年,ECMAScript就跟着出来新一版的标准,这个的原因很耐人寻味。

11.jpg

  2011年,Chrome份额超过Firefox。

  2016年,Chrome全球份额62%

JavaScript的兴起

  2004年愚人节,谷歌发布Gmail在线网页、当时的人们认为网页只能用来看新闻和图片。Gmail的发布让用户和开发者眼前一亮。

  2004年3月31日,Gmail上线前一天主页显示的预告:

image.png

  Hotmail和雅虎电邮都是1990年代中期设计的,使用了原始的HTML语言来编写界面。你在网页上每做一个动作都需要彻底重新加载网页,导致用户体验十分糟糕,完全无法媲美响应迅速的Windows和Mac应用。

  在Gmail中,绕过了HTML的局限,使用了高度互动的JavaScript脚本。这让该服务的体验更加接近常规软件,而不再仅仅是一连串网页的组合。不久后,这种方法被命名为AJAX,也就是“异步JavaScrip和XML”的缩写。如今,它已经成为了所有网页应用的开发规范。但当Gmail诞生时,没人知道这种方法是否可行。
————————————————————————————————————

写在最后

虽然JavaScript为不少人接受,但是它的诞生初期缺乏验证以及规范起草时间较早等,使得自身所带有的缺陷性根深蒂固,可以通过这篇文章了解一下这些缺陷 Javascript的10个设计缺陷。


回复

我来回复
  • 暂无回复内容