1.什么是JavaScript
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
2.JavaScript的发明人
JavaScript在1995年由Netscape(网景)公司的Brendan Eich(布兰登·艾克),在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。
3.制定标准
发展初期,JavaScript的标准并未确定,同期有Netscape的JavaScript,微软的JScript和CEnvi的ScriptEase三足鼎立。为了互用性,Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript),两者都属于ECMAScript的实现,尽管JavaScript作为给非程序人员的脚本语言,而非作为给程序人员的脚本语言来推广和宣传,但是JavaScript具有非常丰富的特性。1997年,在ECMA(欧洲计算机制造商协会)的协调下,由Netscape、Sun、微软、Borland组成的工作组确定统一标准:ECMA-262。由于版权问题,JS语言标准不叫JavaScript,叫ECMAScript。
4.网景失利
由于微软的IE浏览器捆绑进了Windows,所以随着Windows系统的火爆,IE很快超越Netscape。1998年,网景浏览器节节败退,公司陷入内忧外患的局面。同年,公司决定拼死一搏,将浏览器代码开源,并成立了非正式组织Mozilla(2004年基于Mozilla源码的Firefox首次登台)。但是,这也挽救不了网景。该年底,美国在线AOl宣布收购网景,收购后网景团队中的程序员纷纷被解散。布兰登在此之后,一直在协助维护FirFox的运营。
5.IE6如日中天
2001年,IE6随着WindowsXP一起发布。由于Windows XP SP2系统安全深入人心,所以Windows XP SP2迅速取代Windows 98成为主流操作系统。IE6开始迎来了它的春天,许多网页尤其是国内网站只偏向于IE6设计。以致于微软在发布IE6后5年内没有为其进行功能修正或升级版本。2004年,IE6占有 全球市场占有率80%以上。
然而在这期间,IE6的缺陷也开始一一浮现出来,并招致很多批评。但微软过于自信,没有修正这些问题。
6.Chorme横空出世
由于IE6的巨大成功,微软觉得再花精力不值得,而且没有竞争对手,所以直接解散了IE6开发团队。后来FireFox的出现,让微软重组了IE团队,但不是之前的开发团队,因此造成IE7、8的问题不断。而与此同时,谷歌抓住机会,2004年,谷歌聘用了一些FireFox和IE的开发者秘密开发一款谷歌浏览器。2008年,Chorme发布,迅速拿下1%的市场份额。2011年Chorme份额超过FireFox,2016年Chorme全球份额62%超过IE。
7.移动市场兴起
2010年,iPhone4发布。2011年,微软和诺基亚联合,推出Windows Phone。后来的事情大家就知道了,诺基亚的手机业务完了,也就是说手机上基本没有IE了。前端程序员表示欣喜若狂,IE终于要死了。2016年,淘宝天猫宣布不再支持IE6、IE7。同年底,宣布不再支持IE8。移动市场的兴起,让中国前端摆脱IE十年的支配。从此,前端极速发展。
8.ECMAScript版本的制定
1997年6月,第一版ECMAScript发布。1999年12月,第三版发布,也是目前使用最广泛的版本。第四版由于添加的内容太多,过于复杂,最终导致流产。在这十年之后,2009年12月,才发布了第五版,增加了一些功能。2015年6月,第六版发布,新的浏览器均支持这一版。之后的每一年都会发布一版,版本编号以年份命名。
9.JavaScript的兴起
一个互联网事物的兴起需要一个杀手级的应用。在2004年愚人节,谷歌发布应用Gmail在线网页,当时的人们认为网页只能用来看新闻和图片。Gmail的发布,让用户和开发者眼前一亮。2005年,Jesse将谷歌用到的技术命名为AJAX。从此,前端技术正式出现,在此之前的网页开发都是由后端和设计师完成的。2006年,jQuery发布,是目前最长寿的JS库。后来的十年,jQuery大放异彩,直至IE不行了,jQuery才没有那么火。
10.JavaScript的爆发
Chorme的JS引擎叫做V8,2009年,Ryan基于V8创建了Node.js。2010年,Isaac基于Node.js写出了npm。从此前端工程师可以在浏览器之外执行了JS了,Node.js快速风靡。同年,TJ受Sinatra启发,发布了Express.js。从此,前端工程师可以愉快的写后端应用了。