JavaScript是如何成长至今的?
JavaScript的诞生
JavaScript在1995年由网景公司(Netscape)的布莱登(Brendan Eich),在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,网景公司管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
(Brendan Eich)
起因
时间发生在1994年,起因是当时网景公司(Netscape)发布了Navigator浏览器0.9版,但是只能用来浏览不具备与用户进行交互的能力,网景网景公司急需一种网页脚本语言,使得浏览器可以与网页互动
网景公司(Netscape)
过程结果
1995年34岁的系统程序员布莱登(Brendan Eich)进入网景公司,被指定为这种网页脚本语言的设计师。网景公司管理层希望这个脚本语言外观看起来像Java而且更加易于使用,Brendan Eich的主要方向和兴趣是函数式编程,但对Java不感兴趣,所以接到这个任务安排后,虽然心有抵触但是还是为了完成交差只用10天时间就把Javascript设计出来了。他本人在日后也是有吐槽当时的设计要求。
当然这样较短的设计时间出来的产物也会有它不够严谨的地方。不过当时谁又能想到这个参照Java设计出来的产物在今后它被世界上的绝大多数网站所使用,也被世界主流浏览器支持。
细节内容参考Javascript诞生记
JavaScript的命名
JavaScript先后的命名顺序:Mocha摩卡=> LiveScript => JavaScript
JavaScript最初的名字是一个咖啡名——Mocha(摩卡),也是参照Java的命名。(想起一句广告词:一直被模仿从未被超越)
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)
浏览器市场的改变对JavaScript的影响
微软的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就跟着出来新一版的标准,这个的原因很耐人寻味。
2011年,Chrome份额超过Firefox。
2016年,Chrome全球份额62%
JavaScript的兴起
2004年愚人节,谷歌发布Gmail在线网页、当时的人们认为网页只能用来看新闻和图片。Gmail的发布让用户和开发者眼前一亮。
2004年3月31日,Gmail上线前一天主页显示的预告:
Hotmail和雅虎电邮都是1990年代中期设计的,使用了原始的HTML语言来编写界面。你在网页上每做一个动作都需要彻底重新加载网页,导致用户体验十分糟糕,完全无法媲美响应迅速的Windows和Mac应用。
在Gmail中,绕过了HTML的局限,使用了高度互动的JavaScript脚本。这让该服务的体验更加接近常规软件,而不再仅仅是一连串网页的组合。不久后,这种方法被命名为AJAX,也就是“异步JavaScrip和XML”的缩写。如今,它已经成为了所有网页应用的开发规范。但当Gmail诞生时,没人知道这种方法是否可行。
————————————————————————————————————
写在最后
虽然JavaScript为不少人接受,但是它的诞生初期缺乏验证以及规范起草时间较早等,使得自身所带有的缺陷性根深蒂固,可以通过这篇文章了解一下这些缺陷 Javascript的10个设计缺陷。