JavaScript 的诞生

165 阅读5分钟

JavaScript概述

从发明者到发明过程,再到如何流行,离不开浏览器的历史发展

发明者

  • 李爵士发明了HTML

  • 赖先生发明了CSS

  • 布兰登发明了JS 95年开发了浏览器的JS功能

布兰登.jpg

了解了布兰登后,我发现牛逼的人总是有些相同的特质

  1. 不会只掌握一门语言

  2. 不怕被辞退

  3. 创业很容易,比外行人靠谱

  4. 能干到50岁以上

JavaScript的诞生

  • 网景公司要求给浏览器添加一个脚本功能

  • 网景公司要求这个脚本必须蹭 Java 的流量(95年的时候Java一炮而红)

  • 布兰登花了十天就设计出了JavaScript的最初版本(不是实现)

  • 诞生之初,只是一个不起眼的小功能

浏览器大战与JavaScript的联系

浏览器大战伊始

  • 1996年8月 微软发布了 IE3 浏览器,支持JScript(微软实现的JS脚本)

  • 浏览器大战一触即发,但此时由于没有一个JS的标准,所以每家浏览器的脚本都不太一样

网景反击

  • 1996年11月,网景公司向ECMA提交了JavaScript的语言标准

  • 但由于版权问题,JavaScript的语言标准叫ECMAScript

网景退出历史舞台

  • 微软做了一个大胆的决定,把IE浏览器捆绑进了Windows系统里

  • 1998年,网景被微软挤兑得不要不要的,决定背水一战,开源自家Firefox浏览器

  • 但这个举动并没有挽回网景此时的败局,年底美国在线Aol收购网景,并解雇了大量Firefox的开发人员

  • 布兰登在之后,一直协助维护Firefox的运营

IE6如日中天

  • 2001年,IE6和Windows XP 系统一起发布

  • 2004年,IE6的全球市场高达80%以上

  • 但是IE6不兼容W3C标准(主要是CSS方面)

  • 2005年,IE7发布,但是干不过IE6,直到2010年,中国大多数人都还在使用IE6浏览器

  • 由于DB Windows XP 在中国流行了许久,在很多年里,IE6都是前端开发者的噩梦。

IE6.jpg

三十年河东三十年河西

  • 微软由于IE6的成功,自己飘了,由于没有一战的竞争对手,微软解雇了大量的IE6开发人员

  • 2004年,谷歌雇佣了一些之前被解雇的Firefox和IE的开发者

  • 2008年,Chrome浏览器发布,快速拿下浏览器市场1%的份额

  • 2011年,Chrome浏览器份额超过Friefox浏览器

  • 2016年,占据全球62%的份额,甩了IE很多条街

移动市场的兴起

  • 2010年,Iphone4手机发布

  • 2011年,Nokia和微软联合起来,准备进军手机行业,以Nokia被微软收购告终

  • 也就是说,手机上基本没有IE了,前端程序员就跟过年了一般欣喜若狂,恨不得买烟花来庆祝

  • 2016年,淘宝天猫宣布不在支持IE6、IE7。年底宣布不再支持IE8

  • 移动市场的兴起,让中国前端行业摆脱了被IE十数年的恐怖支配

  • 从此前端极速发展

ECMAScript标准的指定

  • 1997年6月,ES第一版标准发布

  • 1999年12月,ES第三版标准发布,这个版本使用得最广泛

  • 第四版没有发布就夭折了

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

  • 2015年6月,ES第六版发布,新浏览器都支持这一版标准

  • 之后每年都会发布一版,一年份命名版本号

JS的发展与Chrome的发展息息相关

JS与ECMA的关系

  • ECMAScript是纸上的标准,JS是浏览器的实现

  • 纸上的标准往往落后于浏览器,先实现,再写进标准,这是第四版失败以后ECMA总结的

JavaScript的兴起

  • 2004年,谷歌发布了Gmail在线网页

  • 当时普遍都认为网页只能看新闻和图片

  • 2005年,Jesse将谷歌用到的技术命名为AJAX

  • 在此之前网页开发都由后端和设计师完成

  • 2006年,JQuery发布,是目前最长寿的JS库

  • 后来十年,JQuery都很火,直到IE不行了就,慢慢热度降下来了

JavaScript的爆发

  • Chrome 的 JS引擎叫做 V8(v1~v7 是不同语言的解析器)发明这些引擎的人简直牛B上天

  • 2009年,Ryan基于V8引擎创建了Node.js

  • 2010年,Lsaac基于Node.js写出了npm 此时前端工程师可以在浏览器之外运行JS了

  • 同年,TJ受到sinatra启发,发布了Express.js 此时前端可以写后端应用了

JavaScript的缺点

说了这么多JavaScript的优点,但它也不是全能型选手,相反由于起初发明太过于匆忙,导致很多时候还会给使用者带来很大的麻烦

  1. 设计太过于匆忙只用了十天就设计出来,而且布兰登也只是为了和公司交差,另外当初JavaScript设计之初只是为了解决简单地网页互动。

  2. 过早标准化:由于微软的强势介入,想抢占市场,为了压制微软,网景于一年后就申请了国际标准,导致JavaScript还来不及调整就已经固化了。

更多语法上的缺陷,可以看一看这篇文章Javascript的10个设计缺陷

总结

JavaScript是历史的选择

  • 一开始浏览器支持很多东西,比如Java、Flash、WEScript

  • 只有JavaScript活到了最后,不仅是运气,更多的是它更适合时代的发展