JavaScript 历史,波澜壮阔的 Web 历程

256 阅读5分钟

web 浏览器发展史

Mosaic 是互联网历史上首个获得普遍使用的能够显示图片的网页浏览器,于 1993 年问世。

请记住它,可以说它是前端行业的源头之一。

Mosaic 浏览器的作者,马克.安德森,他和吉姆.克拉克联手设立了 Mosaic 公司。由于 Mosaic 的商标权在当时与安德森合作开发的伊利诺伊大学手上,且伊利诺伊大学把这项技术转给了 Spy Glass 公司。

马克.安德森团队不得已重新做了个差不多一模一样的浏览器,Netsacpe Navigator,公司也改名为 Netscape,网景

Image(1).png

后来,微软买下了 Spy Glass 公司的技术,并以 Mosaic 为基础开发出了 IE 浏览器

浏览器大战

⭐ 第一次浏览器大战

  • 网景公司打算在浏览器中加入网络操作系统,影响到了微软的利益
  • 1995 年,微软发布 IE 浏览器
  • 1996 年,Netsacpe Navigator 中加入 JavaScript 后网景获得极大竞争优势
  • 微软对 JS 进行反编译,借鉴 JS 推出了 JScript、VBScript
  • 1997 年,网景将 JavaScript 1.1 提交给 ecma(对历史产生深远影响,JS 被国际标准组织收录,称为 ECMAScript,简称:ES)
  • IE3 发布,并开始绑定 windows,微软使用各种商业手段与网景公司竞争。使得 Netscape Navigator 浏览器市场份额下滑,并最终退出市场

微软和网景在竞争过程中,为了对抗彼此,在浏览器中加入了一些脱离于开放标准的功能(特别是 IE,这时的影响在以后便成为了开发者的噩梦),并希望自己成为市场标准。

第一次浏览器大战可以说是标准之战,以微软大获全胜告终,而网景公司在此期间的行为也对后世产生了深远影响。

一是提交 JS,推动其成为标准。二是在 1998 年网景战败后,公开了 Navigator 的源代码,重命名为 Mozilla,并重写全部程序。

于是 2004 年基于 Mozilla 的 Firefox 浏览器登场,拉开了第二次浏览器大战的序幕。


⭐ 第二次浏览器大战

  • 第一次浏览器大战后,IE 浏览器基本处于垄断地位。当 IE 发展到 IE6 这个跨时代的版本后,微软认为浏览器已经做到头了,于是解散了浏览器团队(纯纯的迷之操作)
  • 因为操作系统绑定等各种原因,Firefox 登上历史舞台后并没能完全撼动 IE 的地位
  • 直到 2008 年,谷歌的 Chrome 浏览器、苹果的 Safari 浏览器、Opera 浏览器等横空出世
  • Chrome 浏览器搭载了 V8 引擎,使 JS 的执行速度接近汇编语言,从此 JS 具备了编写大型应用程序的能力
  • ES5 出来后发现 IE6 已经远远落后于标准,且因为团队解散原因,短时间内无法弥补。在新生代浏览器围攻下,IE6 已无力回天,最终被市场淘汰

Image(4).png

JavaScript 历史

JavaScript 作为 Netscape Navigator 浏览器的一部分首次出现在 1996 年。它最初的设计目标是改善网页用户的体验。开发者是 Brendan Eich —— 布兰登.艾奇

初期 JavaScript 并不叫这个名字,而是 LiveScript,后因网景公司和 Sun 公司合作(Sun 公司有 Java),出于市场宣传的目的,决定将 LiveScript 改名为 JavaScript。后来 Sun 公司被 Oracle 收购,JavaScript 商标权归 Oracle 所有。

⭐ ES 版本

ES1--> 1997 年(前期,由于第一次浏览器大战,为了迎合快速迭代的市场,ecma 对标准的修改频繁)

ES2--> 1998 年

ES3--> 1999 年(微软取胜,IE 停止更新后,给了标准组织喘息的机会,可以慢慢对 ES 进行完善)

ES4--> 由于很多讨论的东西太激进,最终没有发布

ES5--> 2009 年(ES5 之后,习惯上不再区分 JavaScript 和 ECMAScript)

ES6--> 2015 年(ecma 宣布,从 ES6 开始使用年号作为版本号,所以 ES6 真正的称呼为 ES2015)

ES7--> 2016 年(ES2016)

………………………………………………………………………………………………………………………………………………………………………………

ES 的语言标准,不涉及语言的运行环境。换句话说,ES 定义的是语言的语法,DOM、BOM 这些东西不是 ES 标准内的东西。(可以理解为:JS = ES + DOM + BOM + …

正是标准组织的这种前瞻性考虑,避免了 ES 与运行环境的绑定,才让 ES 有机会在各种环境中执行,使 ES 成为了通用编程语言。

ecma 是一个国际性的标准组织,它制定了很多标准,不止 ECMAScript。
其涉及 ECMAScript 的标准:

  • ECMA-262:语言规范本身
  • ECMA-402:制定一些基于 ECMAScript 5 或者之后版本的一些国际化 API 标准
  • ECMA-414:规定了哪些规范是和 ECMAScript 有关的
  • ECMA-419:定义了在嵌入式系统上执行 ECMAScript 程序模块的 API

JS 引擎历史

最开始的时候,JS 没有单独的引擎,它依赖于渲染引擎。由于当时的种种技术限制,JS 代码不能写很多,否则会导致网页崩溃。

直到 2001 年 IE6 浏览器问世,首次实现了 JS 引擎的优化和分离。解决了网页中不能写很多 JS 代码的问题。

2008 年 Goole 发布最新浏览器 Chrome,它采用了优化后的 JS 引擎,代号: V8

Image 2.png

原来的 JS 引擎都是把 JS 代码翻译成汇编语言再翻译成机器码执行,而 V8 引擎能一步到位,直接翻译成机器码,大大提高了网页的加载速度,同时也使 JS 具备了编写大型应用程序的能力,甚至是服务器应用。这直接导致了后来 nodejs 的诞生。

V8 官方地址:点此访问


写在最后

One day you'll leave this world behind.So live a life you will remember! --- Avicii

我是暮星,一枚有志于在前端领域证道的攻城狮。

优质前端内容持续输出中......,欢迎点赞 + 关注 + 收藏

点赞.jpeg