简单讲讲前端利器 JavaScript 的历史
诞生
JavaScript 诞生自美国人布兰登之手
布兰登于 1961 年出生,1995 年进入网景公司,受命为网景公司的浏览器开发了 JavaScript 功能
该功能当初只是为了蹭 Java 的热度,所以才命名为 JavaScript,类似雷锋和雷峰塔的关系(
布兰登当初只花了 10 天就设计出了 JavaScript 的雏形
发展
没想到后来大家发现 JavaScript 在浏览器上这么好用,于是每家浏览器都开发了自己浏览器上的 JavaScript 方言,其中包括微软 IE 浏览器
网景公司一看,这怎么行,我要合纵连横,打败微软先
于是 1996 年 11 月,网景向 ECMA 提交了 JavaScript 语言标准,但因为版权问题,改名为 ECMAScript
现在我们所说的 ECMAScript 是标准,JavaScript 是实现,类似于 C99 和 C语言的关系
停滞
在和网景的竞争中,微软采取了一个很”机智”的行为:将 IE6 捆绑进 Windows XP 系统
这个行为虽然在之后被判定为垄断行为,但在当时确实帮助 IE 迅速抢占了大量的市场份额,直接导致网景公司无法继续运营
网景决定绝地求生奋力一搏,将自己的浏览器源代码开源了,这就是后来的 Firefox
但是即便开源,也还是竞争不过 IE,终于在 1998 年年底,网景被收购了
这之后 IE6 打遍天下无敌手,以至于微软都觉得 IE 不需要继续改进了,于是解散了 IE6 团队
在看到 IE6 团队解散后,Firefox 打算再试试,卷土重来,继续与 IE 竞争,但收效甚微
到 2004 年,IE6 占有全球市场的 80%
但是——IE6 不兼容 W3C 标准,特别是 CSS!!!!
2005 年,微软终于发现 IE6 还是太菜,BUG 巨多,标准不兼容,于是重新组建了 IE7 团队,但却不是 IE 原班人马,这导致 IE7 甚至打不过 IE6
特别是中国市场,几乎全国都是盗版 Windows XP,所以 IE6 在中国大行其道
直到 2008 年,Chrome 发布第一版为止,JavaScript 都因为浏览器大战,只产生了几项新技术,没有太大的发展
重新起步
2004 年,谷歌抓住机会,抢了一些从 Firefox 和 IE 流失的程序员
同年,谷歌发布了 Gmail 在线网页,向人们展示了 JavaScript 不止可以做小功能,还可以在网页上做到当时应用程序才能做到的邮件系统功能,让人们发现了 JavaScript 的无限可能性
显然,邮件系统的交互是用到了网页与服务器通信的技术的
于是在 2005 年,Jesse 总结了这项技术,并将其命名为 AJAX。这标志着前端这个领域正式诞生
2008 年,谷歌发布了 Chrome 第一版
Chrome 对标准支持良好,JavaScript 终于有能正常运行的地方了,这才又重新慢慢发展
之后的 2010 年,iPhone4 发布,世界进入智能手机时代
虽然微软也试图搭上这班车,但 Windows Phone 实在是不行,竞争中没有任何优势
于是智能手机市场就出现了一个情况——因为智能手机上没有 IE,所以不需要在智能手机上兼容 IE 了!
这是 IE 消亡的重大征兆,毕竟从现在回头看,跟不上智能手机市场的服务基本都被淘汰了
在中国国内,则有一个重大事件:2016 年,淘宝和天猫宣布不再支持 IE6、7、8
中国程序员也摆脱了 IE 的枷锁,让 JavaScript 再也没有后顾之忧地开始极速发展
ECMAScript 标准
1997 年 6 月,第一版
1999 年 12 月,第三版。因为此时 IE6 还在更新,所以 IE6 也有实现该标准的部分要求,所以这一版成为了使用最广的版本
第四版则因为贪心不足蛇吞象,加入新功能太多,浏览器厂商纷纷表示不能实现,于是流产了
这下一搞,直到十年之后,浏览器大战结束的 2009 年 12 月,才发布了第五版
又拖到 2015 年 6 月,Chrome 占有全球过半市场,才发布了第六版
标准的制定与发布遵循以下流程:
- 浏览器厂商尝试添加新功能,添加后用户反馈良好
- 浏览器厂商将该功能推荐给 ECMA,ECMA 询问其他厂商意见
- 其他厂商一致认为该功能是有用的,于是 ECMA将该功能加入标准
从此 ES6 发布开始,JavaScript 发展进入快车道,每年都有一版新标准发布,以年份命名
但目前面试常考的只有 ES5 和 ES6,至于 ES2016、ES2017等标准,一般不会在面试中考察
关键技术
Chrome 使用的 JS 引擎叫 V8 引擎,是一个系列引擎的一种,其余引擎分别解析其它语言
2009 年,Ryan 基于 V8 创造了 Node.js;2010 年,Isaac 基于 Node.js 创造了 npm。这让 JavaScript 在浏览器之外也可以执行了!所以 Node.js 快速流行起来
还是 2010 年,TJ 基于 Node.js 发布了 Express 框架,从此 JavaScript 也可以用于后端开发了
之后前端的发展越来越快,产生了很多其其它它的框架,比如 requirejs,比如 webpack 打包,比如 React、Vue 等前端框架,总之技术发展日新月异,JS 生命力旺盛,蓬勃向上
相信未来也会有更多更多的,关键的新技术出现
总结
JavaScript 其实是和 Java 同年出生的,如果没有十年浏览器大战,JavaScript 现在又会是何等光景呢……
不过也正是 JavaScript 现在正处在市场热点,我才有机会通过这项技术找到工作,2333
希望 JavaScript 越来越好!