乐趣区

出生就遇浏览器大战亲爹还不爱命运坎坷的JavaScript终于苦尽甘来

提起 JavaScript,很多开发者应该都很熟悉了,因为这门语言在语言排行榜上常年霸榜;不仅如此,JavaScriptweb开发中占据着举足轻重的地位,开发者众多,数量上已经快要超过 Java 开发者了,开发社区非常活跃,越来越多的优秀开发框架涌现,比如 Vue、React、Angular 等,深受企业和开发者们的信赖。

尽管如今的 JavaScript 发展如此繁荣,但曾经的它可没这么顺利,命运坎坷用来形容一点都不为过。下面就来一起梳理梳理吧!如果小伙伴有更详细的补充,欢迎在评论区留下您的高见!

Mosaic 浏览器首发

1990 年底 ,欧洲核能研究组织(CERN)科学家 Tim Berners-Lee,在互联网的基础上发明了 万维网(World Wide Web),进而实现了在网上浏览网页文件;因为最开始时候,网页只能在操作系统的终端里浏览,只能使用命令行操作,网页也都是字符,并没有图片,更没有现在美观的样式和动画,不仅操作不方便,更没有使用体验和美观可言;万维网的出现,网页可以通过互联网来访问,使得这种情况得到大大改善。

1992 年 Nombas 公司开发了一种脚本语言:CmmC-minus-minus,中文翻译为 C 减减,简称 Cmm),尽管Cmm 在命名上和 C++ 有些类似,但和 C++ 却是完全不同的语言,Cmm 是一门可以替代宏操作的脚本语言,在语法上与 CC ++ 很高的相似度。

Nombas 公司为 Cmm 脚本语言开发了运行环境:CEnvi,通过下载 CEnvi,便能在网页中嵌入Cmm 脚本语言,Cmm的出现使得客户端脚本语言有了雏形。尽管后来 NombasCmm 的名字改成了 ScriptEase,也仅仅是改了名字,虽然名字叫ScriptEase,但他和JavaScript 却没有任何关系,更不是 JavaScript 语言的源头。

1992 年底 ,美国国家超级电脑应用中心(NCSA)开发了史上第一个浏览器,叫做 MosaicMosaic 浏览器不仅可以通过互联网访问网页,同时也可以显示图片,从此网页可以在图形界面的窗口浏览,浏览器时代正式开启。

Netscape Navigator 时代

1994 年 10 月 Mosaic 浏览器的核心开发成员 马克·安德森(Marc Andreessen) 吉姆·克拉克(Jim.H.Clark)共同创立了Mosaic 公司,目的就是基于 Mosaic 继续开发浏览器。

但由于 Mosaic 的商标被伊利诺伊大学拥有,并且Mosaic 浏览器的技术已经被转让给了Spyglass 公司,所以新成立的 Mosaic 公司不久后改名为 Netscape(中文译为 网景 ),并重新编写代码实现了一个新的浏览器,这个新浏览器被取名为 Netscape Navigator,即“导航者”。而它的对内称呼为Mozilla,意为Mosaic 杀手。

1994 年 12 月 Navigator 发布了1.0 版,一经发布就取得了巨大成功,在短短的 4 个月里就占据了 90% 的浏览器市场,短期甚至内成为了默认浏览器;同时,Nombas 也发布了CEnvi 的首个可用版本。

上网慢且贵

由于 Netscape Navigator 的成功,更多的应用开始出现在互联网上,让网上冲浪越来越流行;但此时,大部分因特网用户还仅仅通过 28.8 kbit/s 的调制解调器连接到网络,网速很慢而且上网费很贵,所以当时用户的上网体验不仅不好,而且还很昂贵;

使用体验差

有时候仅仅是简单的表单数据验证,就要与服务器进行多次的往返交互。设想一下,用户填完一个表单,点击提交按钮,等待了 30 秒的处理后,看到的却是一条您的用户名忘记填写的提示,如果表单更大、更复杂,交互过程将会更加漫长,对于用户来说,这个过程太痛苦了。

客户端语言提上日程

网景公司很快也发现了,如果用户忘记填写“用户名”,就点了“发送”按钮,到服务器再发现这一点就太晚了,最好能在表单数据与服务端交互前,就能检测出“用户名”未填写,进而提示用户“请填写用户名”;

更是敏感的意识到了,此时的 Navigator 浏览器需要一种可以嵌入网页的脚本语言,这种语言运行在浏览器端,可以控制浏览器行为,并且能和服务端交互

于是网景公司便决定开发一门可以Navigator 浏览器中运行的、轻量级的客户端脚本语言,如果此举成功,那么一些普通的用户操作便能放在客户端来执行,进而能大大改善用户操作体验,提高网络应用的运行效率。

互联网刮起了 Java 东风

但是又一个问题摆在了网景公司面前,这是一个选择题,有两个可选项:

  • 到底是使用现有的语言来实现,比如:Perl、Python、Tcl、Scheme等;
  • 还是重新开发一门新语言来适应当前的需求;

两个选择各有利弊

第一个选择,使用现有的编程语言:

  • 可以充分利用现有代码库和程序员资源,入门门槛较低;
  • 借助现有语言的市场,可以更容易推广开来;
  • 可能不能完美的实现当下的需求;

第二个选择,重新开发新语言:

  • 能够完美实现当前的使用需求,
  • 需要重新设计语言规范,吸引开发者使用,这需要时间和成本;

到底采用哪一个选择,网景公司内部争执不下,管理层一时也难以下定决心。就在这时,Java 异军突起,这种可以 “ 一次编写,到处运行 ” (Write Once, Run Anywhere) 的语言一经发布就大火,广受开发者和企业的青睐。

网景公司管理层也动了心,决定与 Sun 公司合作,不仅允许 Java 程序以 applet(小程序) 的形式,直接在浏览器中运行;甚至还考虑直接将 Java 作为脚本语言嵌入网页,但由于 Java 语言过于庞大,并不适合嵌入浏览器中,才不得不放弃。

1995 年 5 月 ,网景公司做出决策,未来的网页客户端脚本语言必须 ” 看上去 与 Java 足够相似 “,使得Java 程序员能够快速上手,功能不需要太强,语法简单,容易学习,即使是非专业的网页作者也能快速学会;这个决策一出,其实就已经将第一个选择排除了,选择了开发一门新语言。

Brendan Eich 出场

1995 年 ,网景公司找到了公司程序员 Brendan Eich,任命其为这门新的客户端脚本语言的设计者;但Brendan Eich 的研究方向是函数式编程,他自身也有很强的函数式编程背景,所以对JavaOOP 并不感冒;

当初网景公司招聘他的目的也是研究 将 Scheme 语言作为网页客户端脚本语言的可能性 Brendan Eich 本人原本以为进入新公司后,将会是研究 Scheme 语言,可却现在接到这样的任务,自然是不情愿的。

Scheme 语言是 函数式语言鼻祖 Lisp语言的一种方言,另外一种比较流行的 Lisp 方言是Common Lisp

1995 年 5 月 Brendan Eich 只用了10 天,就设计完成了这种语言的第一版;它是一个大杂烩,语法有多个来源,当时的设计思路是:

  • 基本语法:借鉴 C 语言和 Java 语言;
  • 数据结构:借鉴 Java 语言,包括将值分成原始值和对象两大类;
  • 函数的用法:借鉴 Scheme 语言和 Awk 语言,引入闭包,把函数作为语言的核心;
  • 原型继承模型:借鉴 Self 语言(Smalltalk 的一种变种);
  • 正则表达式:借鉴 Perl 语言;
  • 字符串和数组处理:借鉴 Python 语言;

网景公司的这种浏览器脚本语言,最初名字叫做 Mocha,1995 年 9 月改为 LiveScript;

但由于网景公司的整个管理层,都是认准了 Java 语言的,更想借一下 Java 的东风,所以同年 12 月,网景公司与 Sun 公司达成协议,Sun 公司授权网景公司将这门新的语言命名为 JavaScript,改名后的 JavaScript 更是被网景公司和 Sun 两家公司联手推出,官方的宣传:JavaScript 是 Java 的补充,属于轻量级的 Java;所以 JavaScript = Java + Script 这样的宣传更不是空穴来风。

借此机会,网景公司便将 JavaScript 申请成为了商标。这样一来,网景公司可以借助 Java 语言的声势推广 JavaScript,而 Sun 公司则将自己的影响力扩展到了浏览器。

仅用 10 天就设计出的语言,其表现可想而知。在其推出后的很长一段时间内,程序运行都有着各式各样的问题。就连 JavaScript 的设计者本人 Brendan Eich 都不喜欢他自己设计的这门语言:

“ 与其说我爱 Javascript,不如说我恨它。它是 C 语言和 Self 语言 yiyeqing 的产物。十八世纪英国文学家约翰逊博士说得好:’ 它的优秀之 处并非原创,它的原创之处并不优秀。’ (the part that is good is not original, and the part that is original is not good.)”

—— Brendan Eich 对 JavaScript 的评价

JavaScript 正式诞生

1995 年 12 月 4 日,网景公司与 Sun 公司联合发布了 JavaScript 语言,对外宣传 JavaScriptJava 的补充,属于轻量级的 Java,专门用来操作网页,实现动态效果。

JavaScript 和 Java

尽管名字里都有 Java,但JavaJavaScript是两种不同的语言,这两种语言有一定的相似性,因为 JavaScript 的基本语法在设计过程中是借鉴了 Java 的。

  • Java 是强类型的静态语言,是一门 纯面向对象的语言,以类和对象为核心 ,在Java 中没有函数一说,有的只是方法。
  • JavaScript是弱类型的动态语言,在JavaScript 中,语言的函数是一种独立的数据类型,且JavaScript 是以函数为核心的,采用基于原型对象(prototype)的继承链。

另外,Java 程序要经过编译才能运行,而 JavaScript 语言的运行时解释器已经集成到浏览器中,所以JavaScript 可在浏览器直接运行。

1996 年 3 月Navigator 2.0 浏览器正式内置了 JavaScript 脚本语言。

同年,Netscape Navigator 3.0发布,此版本有分为“Standard Edition”和“Gold Edition”两个版本,两个版本区别在于,后者具备邮件软件和所见即所得的网页编辑程式。

浏览器大战

Netscape 春风得意

1995 年 开始,万维网慢慢开始被大众认知,受到越来越多的关注。能够显示图形的 Mosaic 浏览器俘获了不少用户的芳心;Netscape Navigator 更是一经发布就占据了超过 90% 的浏览器市场,一度变成最受欢迎的网络浏览器。这时的Netscape 可谓是春风得意,但是好景不长

IE 浏览器加入

由于微软对互联网发展的误判,轻视了浏览器的发展,使得 Netscape Navigator 有机会发展壮大,但后知后觉的微软也看到了浏览器市场发展的前景,开始重视起来,并从Spyglass 公司处获得了 Mosaic 的授权,开发出了自家的浏览器:IE 浏览器 1.0,几个月后,IE 浏览器 2.0发布,并免费向用户提供;而此时的Netscape Navigator 是收费的。

大战一触即发

1995 年 Netscape Navigator 2.0 发布后,浏览器市场都以网景的JavaScript 为标准;微软公司虽然有 IE 浏览器,但却没有JavaScript,所以IE 浏览器Netscape Navigator 2.0面前不堪一击。

于是,微软便找上了网景,想要收购网景,但春风得意的网景公司自然是不会同意的;微软自然也不会放弃,更不会放任网景做大,紧接着便是全力投入到了 IE 浏览器新版本的开发中。

1996 年 8 月 ,微软的IE 3.0 发布,同时,微软也开发出了自己的客户端脚本语言:JScript(这个名字怎么看怎么像 JavaScript 的缩写),在对自家的 IE 浏览器的宣传上,微软也更是不遗余力;

1997 年 IE4.0发布,IE4.0有着更好的 W3C 标准的实现,更是被捆绑在了 Windows 中,随 Windows 系统一同发布;正是这一举措,IE浏览器的市场份额开始暴增;

到了 1999 年,微软的IE 浏览器 已经占据了绝大部分浏览器市场,而此时网景公司已被美国在线收购,留下 Netscape Navigator 在苟延残喘。

至此,第一次浏览器大战以 IE 大获全胜而告终。

火狐浏览器涅槃重生

1998 年 ,网景深知浏览器大战中的Netscape Navigator 败局已定,面对着无法挽回的市场份额,网景公司做了一个重大决定:将 Netscape Navigator 5.0 开源

同年,网景公司成立非营利性组织:Mozilla 基金会 ,主要负责Netscape Navigator 的开源和维护;Mozilla 基金会独立于网景公司运行,所以就算后来网景公司虽被美国在线收购,Mozilla 基金会却能一直独立运作至今。

Mozilla 基金会的手中,Netscape Navigator 开放了源代码,分两个分支:

  • 一个是Netscape Navigator,相继推出了Netscape Navigator6、7、8
  • 另一个便是Firefox,一直维护至今;

无论是开源后的 Netscape Navigator,还是Firefox,都是基于Gecko 渲染引擎来构建的。关于这段故事,还有一部纪录片,叫 《奔腾的代码》,主要讲述的就是Netscape Navigator 的开源和Firefox(火狐浏览器)的诞生的故事,想要详细了解的同好可以去搜来看看。

开源后的 Firefox(火狐浏览器)重新开发了渲染引擎Gecko 并且积极拥抱 JavaScript 标准,无论是在性能,还是用户体验上,都有了极大的提升;不仅是在 Windows 系统,在 Linux 系统、Mac系统,也都有着不俗的表现,甚至在 Linux 系统中,比 Chrome 浏览器的表现都要好。

优异的性能,再加上在 Mozilla 基金会的良好运作下,火狐浏览器逐渐了获得用户认可,原本被IE 浏览器 占据的市场逐渐被火狐浏览器夺回。

反观IE 浏览器,并没有积极适配EcmaScript,始终沉浸在自己的世界中,玩着只有自己的游戏,跟标准越走越远,渐渐被用户抛弃,原本的用户市场也被逐渐被涅槃后的火狐浏览器所取代。

纵观浏览器发展历史,不得不说,历史总是惊人的相似。

WebKit

得益于 KDEKHTMLKJS,苹果公司也开发了自家的 JavaScript 引擎:Webkit 渲染引擎,苹果公司不仅将 Webkit 渲染引擎开源免费,而且还基于 Webkit 渲染引擎开发了 Safari 浏览器

V8

谷歌于 2008 年 12 月 发布了 Chrome 浏览器,与 Safari 浏览器 使用相同的 WebKit 渲染引擎和一个名为 V8 引擎。V8使用 C++ 开发,相比其它的 JavaScript 引擎转换成字节码或解释执行,V8引擎会将 JavaScript 程序其编译成原生机器码,所以 JavaScript 程序在 V8 引擎下的运行速度足以媲美二进制程序。

不久之后,谷歌便以 Chromium项目开放了 Chrome 浏览器的源码;新功能会率先在 Chromium 上实现,稳定后才会应用在 Chrome 上。

JavaScript 标准化

三个巨头三足鼎立

在微软进入浏览器市场,发布了 JScript 之后,有 3 种不同的 JavaScript 实现同时存在,分别是:

  1. Netscape Navigator 3 中的 JavaScript
  2. IE 中的 JScript
  3. CEnvi 中的 ScriptEase

三个巨头三足鼎立,形成了三分天下之势,网景公司也面临丧失浏览器脚本语言的主导权的局面;而由此导致的版本不兼容问题日益加剧,当时的一个网页程序往往要对三个平台提供不同的实现,开发和维护的成本都越来越高;

ECMA 出手拯救 JavaScript

1996 年 11 月,网景公司面对着逐渐被微软蚕食的浏览器市场,于是决定将 JavaScript 提交给国际标准化组织 ECMA(European Computer Manufacturers Association),希望 JavaScript 能够成为国际标准,以此抵抗微软。

ECMA接受了这个请求,并决定由39 号技术委员会Technical Committee 39)负责制定和审核这个标准,委员会成员由业内各大公司派出的工程师组成,该委员会定期开会,所有的邮件讨论和会议记录,都是公开的。

1997 年 7 月 ECMA 组织发布262 号标准文件(即:ECMA-262)的第一版,规定了浏览器脚本语言 JavaScript 的标准,并该语言标准取名为 ECMAScript

之所以不叫 JavaScript,一方面是由于商标的关系,因为 JavaSun 公司的商标,根据一份授权协议,只有 网景公司可以合法地使用 JavaScript 这个名字,且 JavaScript 已经被 网景公司注册为商标;另一方面是 ECMA 也想体现 ECMAScript 并不同于曾经的 JavaScriptECMA 组织也不同于网景,这样就有利于保证这门语言的开放性和中立性。

完整的 JavaScript 实现

至此,完整的 JavaScript 实现包含三个部分:ECMAScript,文档对象模型(DOM),浏览器对象模型 (BOM)。符合ECMA-262 3rd Edition 标准的实现有:

  • Microsoft 公司的 JScript
  • Mozilla 的 JavaScript-C,后改名为 SpiderMonkey
  • Mozilla 的 Rhino
  • Digital Mars 公司的 DMDScript
  • Google 公司的 V8
  • WebKit

需要注意的是,ECMAScript 只用来标准化 JavaScript 语言的基本语法,与部署环境相关的标准都由其他标准规定,比如 DOM 的标准就是由 W3C组织制定的。

ECMA-262 标准后来也获得国际标准化组织 ISO的批准,并以标准号 ISO-16262命名。

ECMAScript 步入正轨

1997 年 7 月 ECMAScript 1.0 发布,这个版本做了些小改动:支持 Unicode 标准,对象与平台无关等,其他的特性与网景发布的 JavaScript1.1 并无二致;

1998 年 6 月 ECMAScript 2.0 发布,这个版本主要做的是细节优化,没有新功能发布;

1999 年 12 月 ECMAScript 3.0 版发布,这个版本对 JavaScript 标准做了大量的修改。修复了包括字符串处理、错误定义和数值输出等一系列问题。新增了对正则表达式、新控制语句、try-catch异常处理的支持。此时的 ECMAScript 才能算是一门真正的编程语言。

2007 年 10 月 ECMAScript 4.0 版草案 发布,草案的标准跟 第 3 版 比起来,几乎是定义了一门新语言;因为草案不仅包含了强类型变量、新的数据结构和继承,还添加了 JSON 对象、继承的方法和高级属性定义,以及严格模式。由于改动过大,所以 4.0 草案发布后,遭到了 Yahoo、Microsoft、Google 等公司的反对。

2008 年 7 月 ,由于各方争执不下,ECMAScript 4.0 的开发被终止,ECMAScript 4.0 中改动较少的一部分被拿出来,作为 ECMAScript 3.1开发,项目代号为Harmony,而其他的改动较大的功能将会逐步推出,会后不久,ECMAScript 3.1 改名为 ECMAScript 5

2009 年 12 月 ECMAScript 5.0 版 正式发布;Harmony 项目则一分为二,一些可行性较高的功能优先开发,后来成了 ECMAScript 6;而另一些不太成熟的设想,则会考虑放在 ECMAScript 7 中;

2011 年 6 月 ECMAScript 5.1 版发布,并且成为 ISO 国际标准(ISO/IEC 16262:2011);

2012 年底,所有的主流浏览器全面支持 ECMAScript 5.1

2015 年 6 月 ECMAScript 6 正式发布,并且更名为“ECMAScript 2015”。同时,TC39 委员会也计划以后每年发布一个 ECMAScript 的版本;2016 年发布的版本,称为“ECMAScript 2016”,2017年发布“ECMAScript 2017”,以后的版本以此类推。

AJAX

Ajax这个词首先出现在 《Ajax: A New Approach to Web Applications》 一文中,该文的作者是 Jesse James Garrett,在该文中,将Ajax 定义为了:Asynchronous JavaScrpt + XML的组合,代表并不是单一的技术,而是多种技术的组合。

该文的迅速流传使得 Ajax 被更多开发者认知、认可,并在 1998 年 得到了广泛应用。Ajax允许客户端脚本发送 HTTP 请求动态加载局部的网页内容,实现网页的异步加载,也就意味着不必因为局部网页内容的修改而加载整个网页,从而能够带来更加友好的网页体验。

Ajax的第一个组件由 Outlook Web Access 小组写成,被用于微软 Exchange Server,因此Outlook Web Access 成了第一个应用了 Ajax 技术的商业应用程序。

2005 年 Google 在它的很多应用中都使用了 Ajax,如Google 讨论组、Google 地图、Google 搜索建议、Gmail 等。

自此以后,Ajax迅速窜红,进而引发了一场互联网革命,使得基于 Ajax 的综合框架和 JS 库 的急剧增加,越来越多的优秀框架出现,不仅 Web 应用的构建变得更加容易,也改进了 JavaScript 编程实践,对 JavaScript 的发展推进做出了巨大的贡献。

JQuery

jQuery是一个快速、简洁的 JavaScript 框架,于 2006 年 8 月 发布第一个稳定版本,是继 Prototype 之后又一个优秀的 JavaScript 代码库。它封装 JavaScript 常用的功能代码,并提供了一种更加简便的操作模式,使得 HTML 文档操作、事件处理、动画设计和 Ajax 交互变得更加容易。

此外,jQuery具有高效灵活的 CSS 选择器,并且可对 CSS 选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如 IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+ 等。

Node.js

就在 Chromium 发布半年后,Ryan Dahl 创建了一个基于 Chrome V8 引擎的 JavaScript 开发平台:Node.jsNode .js提供了一个可以 JavaScript 运行在服务端的运行环境,使得 JavaScript 程序可以运行在服务端;可以说,Node.js的出现让 JavaScript 提升了一个层次,让前端程序员不再局限于客户端开发,也让全栈开发成为了可能。

Node.js 发布的还有包管理工具:npm,通过 npm 可以:

  • 允许用户从 NPM 服务器下载别人编写的第三方包到本地使用;
  • 允许用户从 NPM 服务器下载并安装别人编写的命令行程序到本地使用;
  • 允许用户将自己编写的包或命令行程序上传到 NPM 服务器供别人使用;

三大框架

由于 Node.js 的成功,在 npm 管理工具的带动下,一大批优秀的 JavaScript 开发框架开始涌现,其中有代表性的便是Vue.js、Angular.js、React.js,这些框架语法简单、性能优越、文档丰富,使用这些框架能够快速搭建前端应用,而且,由于活跃的开发社区,这些框架都有着丰富的系统组件,能够完成一切的业务需求。

Vue.js是一套用于构建用户界面的渐进式 JavaScript 框架,自底向上增量开发的设计,专注于视图层,非常容易学习,也非常容易与其它库或已有项目整合,作者是 尤雨溪;作者和框架无论在国内、国外都有着不小的知名度;

Angular.js是一套 Google 推出的 JavaScript 开发框架,诞生于 2009 年,该框架有着MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等诸多核心特性;Angular 的理念是 组建视图 (UI) 和写软件逻辑可同时进行,将 DOM 操作和应用逻辑解耦,将 测试 开发 同等看待,将客户端和服务器端解耦,在整个开发流程里都引导着开发者:从设计UI,到编写业务逻辑,再到测试。

React.jsFacebook 推出的JavaScript 框架,起源于 Facebook 的内部项目,由于 React 的设计思想极其独特,和 Vue 一样,React不是一个完整的 MVC 框架,很多人都认为是 MVC 中的 V(View)。此外,React Native 框架可用于开发跨平台的 App 应用,一套代码便能同时运行 IOSAndroid

桌面软件开发

通过对 Chromium 的移植,JavaScript 还能用于开发桌面应用,典型应用便是 NW.js 和 Electron.js;都是使用HTML + CSS + JavaScript 便能开发出同时在 LinuxMac OS XWindows上可运行的桌面软件。

Deno

今天,Deno 1.0 正式发布,什么是 Deno 呢?Deno是使用 V8 引擎并内置于 RustJavaScriptTypeScript 的新运行时,致力于在 Web 浏览器之外执行 JavaScriptTypeScript程序。

它和 Node.js 的设计者是同一人:Ryan Dahl,是 Ryan DahlNode.js之后的又一大作;Deno的设计特别注重安全,有着众多优点:

  1. Deno 是以安全为前提的,除非明确启用,否则不会访问文件、网络或者环境;
  2. 在设计之初便充分考虑到了 TypeScript,所以对TypeScript 有着开箱即用的支持;
  3. 只提供一个可执行文件;
  4. 内置了很实用的程序,如依赖检查器(deno info)和代码格式化器(deno fmt);
  5. 拥有一组经过审核的标准模块:deno.land/std,能和 deno 一起运行;

虽然都支持 V8 引擎,但 Deno 却并不是 Node.js 的分支,它甚至都不和 Node(NPM) 兼容;Deno是一个全新的 JavaScriptTypeScript程序运行时,意在构建更加安全和高效的 JavaScriptTypeScript程序,虽然目前和 Node.js 并不兼容,Deno却希望在将来能够使用 Deno 来运行更多的 Node 项目。

小结

纵观 JavaScript 的发展,可谓感慨良多!曾经的 JavaScript 是命运坎坷,还未出生就不受亲生父亲的待见,出生后更是常年被笼罩在Java 的阴影之下,甚至一度被认为是Java 的补充;被卷入浏览器大战,差点被遗弃。

但是好在它遇到了自己真正的归宿:ECMA 组织 ,不仅获得了重生,更是广受开发者青睐,随着Node.js 的出现,Vue.js、Angular.js、React.js蓬勃发展,JavaScript有了更大的应用;Deno的诞生,使得 JavaScript 已经不仅限于 Web 浏览器,又会掀起一场更大的互联网革命,让我们拭目以待。

完结,老夫虽不正经,但老夫一身的才华!关注我,获取更多编程科技知识。

退出移动版