JavaScript概述
从发明者到发明过程,再到如何流行,离不开浏览器的历史发展
发明者
-
李爵士发明了HTML
-
赖先生发明了CSS
-
布兰登发明了JS 95年开发了浏览器的JS功能
了解了布兰登后,我发现牛逼的人总是有些相同的特质
-
不会只掌握一门语言
-
不怕被辞退
-
创业很容易,比外行人靠谱
-
能干到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的成功,自己飘了,由于没有一战的竞争对手,微软解雇了大量的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的优点,但它也不是全能型选手,相反由于起初发明太过于匆忙,导致很多时候还会给使用者带来很大的麻烦
-
设计太过于匆忙只用了十天就设计出来,而且布兰登也只是为了和公司交差,另外当初JavaScript设计之初只是为了解决简单地网页互动。
-
过早标准化:由于微软的强势介入,想抢占市场,为了压制微软,网景于一年后就申请了国际标准,导致JavaScript还来不及调整就已经固化了。
更多语法上的缺陷,可以看一看这篇文章Javascript的10个设计缺陷
总结
JavaScript是历史的选择
-
一开始浏览器支持很多东西,比如Java、Flash、WEScript
-
只有JavaScript活到了最后,不仅是运气,更多的是它更适合时代的发展