"不畏惧,不将就,未来的日子好好努力"——大家好!我是小芝麻😄
好久不见,芝麻同学回来了😄
芝麻同学自从来到现在的公司后,就一直在使用TypeScript了,刚开始从JS转换为TS的时候,很不适应,常常自我质疑:“这也没错啊,咋就飘红了呢”,就这样一边质疑一边学习,慢慢的适应后,就大型的“真香”现场了😂,哈哈哈哈!
虽然已经用了有一段时间的TS了,也还只是在用的阶段,一直也没有做一个系统的总结,这次跟着活动正好梳理一下之前东查一下西找一下的零散知识点
本系列适合TS初学者(如果有大神愿意指点一二,小芝麻肯定是举双手欢迎的👏🏻,嘻嘻😉)
要想知道TS是是怎么来的还得从JS怎么来的说起。
话说在第一次浏览器大战之前,浏览器领域称霸的还是网景通讯公司(Netscape Communications Corporation)在
1994年12月15日
发布的Netscape Navigator
浏览器;从1994年到1995年,网景公司迭代了多个浏览器版本,一举奠定了网景浏览器在市场上的地位,一度拥有超过
80%
的市场份额;在战略层面上,Netscape 意识到我们要跨越静态网页时代才能发挥 Web 的全部潜力。
# 一、JS的诞生
网景决定跨越静态的网页时代,开发一种可以在浏览器中运行的编程语言,利用台式机的处理能力为用户提供更丰富的体验,
此时网景内部也开始了激烈的讨论,
一边网景首席执行官
Jim Clark
招来了一名叫Brendan Eich
的天才程序员,目标是开发一种这样的语言嵌入到Netspace Navigator 浏览器
中;但是在更早之前网景公司的高管们已经从
Sun
获得了Java
许可,他们认为Java
才应该是浏览器使用的语言,不幸的是,Java
对于当时主流的低速网络来说太沉重了。----(开发人员必须编译他们的代码,然后将代码提供给浏览器。如果你的代码和用户在其机器上使用的Java
版本不一样,那就自求多福吧。这意味着用户需要耐心地通过在今天看来极为缓慢的连接下载体积足有 10 MB 或更多的 Java 虚拟机。那时一个网页及其包含的所有非 Java 内容可能不超过几百 KB;运行 Java 的开销太大了。)在激烈的讨论之后,最后网景公司决定开发一种可以和
Java
搭配使用的脚本语言。并在Netscape Navigator2.0
中发布,做出这个决定的那天离发布只剩十天了,Eich
只用了 10 天时间就创建了liveScript
,1995年5月
一夜之间开发人员就可以为他们的网页添加逻辑了,更棒的是这种语言直接与Web开发人员想要使用的东西(包括页面HTML内容的DOM和浏览器窗口本身的BOM)联系在一起。同年12月
Netspace Navigator 2.0 Beta 3
中部署时被重命名为JavaScript
。当时Netscape
和Sun
公司组成的开发联盟为了能让这个语言搭上Java
的热度,被临时命名为JavaScript
。
# 二、浏览器大战
在
Netscape
浏览器的威力初现端倪的时候,网景公司又把矛头指向了操作系统,他们希望以网景浏览器为依托,建立一套基于网络的操作系统;这个时候
微软
这个操作系统的大哥就坐不住了,他们终于意识到了网景公司已经开始威胁到自己的地位了,于是在1996年
微软买下了Mosaic
,开发了IE
浏览器,第一次浏览器大战也正式爆发了;1996年8月,由于JavaScript推出后在浏览器上很成功,微软随即也发布了IE3和JScript以与处于市场领导地位的网景产品同台竞争。
由于 JScript 也是一种 JavaScript 实现,这两个语言版本在浏览器上共存也意味着语言标准化的缺失,除此之外,微软也在网页技术上加入了不少专属对象,使不少网页使用非微软平台及浏览器无法正常显示。
1996年11月,由于
Netscape
遭遇微软的强力竞争不得不将JavaScript
提交给国际标准化组织ECMA
,希望JavaScript
能够成为国际标准,以此对抗微软;两家为了赢得这场战争开始了疯狂的迭代;
1997年6月
ECMA
组织发布了262号标准文件的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript
,但由于微软Internet Explorer
的JScript
随着市场占有率成为了事实标准,那一段时间ECMA
公开的标准相对弱小;1998年,微软祭出了杀手锏:
IE
浏览器捆绑进了Windows
,几乎具有压倒性的优势。这使网景节节败退,公司陷入了内忧外患。同年,网景打算搏一搏,将浏览器开源,并重新命名为Mozilla,全部程序进行了重写。 最终并没有因为开源而重新被青睐。
年底,美国在线AOL宣布开始收购网景。在这之后
Brendan Eich
一直协助维护Mozilla
的运营。2001年,IE6随着Windows XP一起发布。
2004年,IE6全球市场占有率80%以上。 同年,谷歌雇佣了一些
Firefox
和IE
的开发者开发浏览器。也是这一年,基于
Mozilla
源码的Firefox
首次登台,拉开了第二次浏览器大战的序幕,直到2月份,微软的浏览器份额已经从最高点的96%下降到了85%,主要是由于Firefox
的强烈市场攻势。微软再次全力以赴,迅速提前了原定配合Longhorn Windows版本的IE 7.0的发布日期,用来与火狐狸(Firefox)抗衡。 2005年,IE7发布,但打不过IE6。
2008年,chrome终于发布,主打速度快为优势迅速拿下了1%的份额。
2011年,
chrome
份额超过Firefox
。2016年,chrome全球份额62%。同年淘宝天猫宣布不再支持IE6、IE7,年底再次宣布不再支持IE8。
随着
Firefox
市场占有率不断提高,Brendan
迫使微软回到了标准指定的议程中(IE9之后你再也看不见JScript的原因),目前流行最广,影响最大的一个基于ECMAScript
标准实现的语言无疑就是JavaScript
了。
PS:想详细了解浏览器大战和JS诞生的朋友可以滑到下文参考文献中查看😀
# 思维导图
照例奉上:
好了这篇就先到这里了,下篇《TypeScript的诞生》我们再见喽😝
# 参考文献
[1]. 浏览器大战和JavaScript的诞生 (opens new window)