提起 JavaScript,很多开发者应该都很熟悉了,因为这门语言在语言排行榜上常年霸榜;不仅如此,JavaScript
在web
开发中占据着举足轻重的地位,开发者众多,数量上已经快要超过 Java
开发者了,开发社区非常活跃,越来越多的优秀开发框架涌现,比如 Vue、React、Angular
等,深受企业和开发者们的信赖。
尽管如今的 JavaScript
发展如此繁荣,但曾经的它可没这么顺利,命运坎坷用来形容一点都不为过。下面就来一起梳理梳理吧!如果小伙伴有更详细的补充,欢迎在评论区留下您的高见!
Mosaic 浏览器首发
1990 年底
,欧洲核能研究组织(CERN
)科学家 Tim Berners-Lee
,在互联网的基础上发明了 万维网(World Wide Web),进而实现了在网上浏览网页文件;因为最开始时候,网页只能在操作系统的终端里浏览,只能使用命令行操作,网页也都是字符,并没有图片,更没有现在美观的样式和动画,不仅操作不方便,更没有使用体验和美观可言;万维网的出现,网页可以通过互联网来访问,使得这种情况得到大大改善。
1992 年
,Nombas
公司开发了一种脚本语言:Cmm(C-minus-minus
,中文翻译为 C 减减
,简称 Cmm
),尽管Cmm
在命名上和 C++
有些类似,但和 C++
却是完全不同的语言,Cmm
是一门可以替代宏操作的脚本语言,在语法上与 C
和 C ++
很高的相似度。
Nombas
公司为 Cmm
脚本语言开发了运行环境:CEnvi
,通过下载 CEnvi,便能在网页中嵌入Cmm
脚本语言,Cmm
的出现使得客户端脚本语言有了雏形。尽管后来 Nombas
把 Cmm
的名字改成了 ScriptEase
,也仅仅是改了名字,虽然名字叫ScriptEase
,但他和JavaScript
却没有任何关系,更不是 JavaScript
语言的源头。
1992 年底
,美国国家超级电脑应用中心(NCSA
)开发了史上第一个浏览器,叫做 Mosaic;Mosaic
浏览器不仅可以通过互联网访问网页,同时也可以显示图片,从此网页可以在图形界面的窗口浏览,浏览器时代正式开启。
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
的研究方向是函数式编程,他自身也有很强的函数式编程背景,所以对Java
和 OOP
并不感冒;
当初网景公司招聘他的目的也是研究 将 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 语言,对外宣传 JavaScript
是 Java
的补充,属于轻量级的 Java
,专门用来操作网页,实现动态效果。
JavaScript 和 Java
尽管名字里都有 Java
,但Java
和JavaScript
是两种不同的语言,这两种语言有一定的相似性,因为 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
得益于 KDE
的 KHTML
和 KJS
,苹果公司也开发了自家的 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
实现同时存在,分别是:
-
Netscape Navigator 3 中的 JavaScript
; -
IE 中的 JScript
; -
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
,一方面是由于商标的关系,因为 Java
是 Sun
公司的商标,根据一份授权协议,只有 网景公司可以合法地使用 JavaScript
这个名字,且 JavaScript
已经被 网景公司注册为商标;另一方面是 ECMA
也想体现 ECMAScript
并不同于曾经的 JavaScript
,ECMA
组织也不同于网景,这样就有利于保证这门语言的开放性和中立性。
完整的 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.js,Node .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.js 是 Facebook 推出的JavaScript
框架,起源于 Facebook
的内部项目,由于 React
的设计思想极其独特,和 Vue
一样,React
不是一个完整的 MVC
框架,很多人都认为是 MVC
中的 V(View)
。此外,React Native
框架可用于开发跨平台的 App
应用,一套代码便能同时运行 IOS
和Android
。
桌面软件开发
通过对 Chromium
的移植,JavaScript
还能用于开发桌面应用,典型应用便是 NW.js 和 Electron.js;都是使用HTML + CSS + JavaScript
便能开发出同时在 Linux
,Mac OS X
和Windows
上可运行的桌面软件。
Deno
今天,Deno 1.0
正式发布,什么是 Deno 呢?Deno
是使用 V8
引擎并内置于 Rust
的JavaScript
和 TypeScript
的新运行时,致力于在 Web
浏览器之外执行 JavaScript
和TypeScript
程序。
它和 Node.js
的设计者是同一人:Ryan Dahl
,是 Ryan Dahl
继Node.js
之后的又一大作;Deno
的设计特别注重安全,有着众多优点:
-
Deno
是以安全为前提的,除非明确启用,否则不会访问文件、网络或者环境; - 在设计之初便充分考虑到了
TypeScript
,所以对TypeScript
有着开箱即用的支持; - 只提供一个可执行文件;
- 内置了很实用的程序,如依赖检查器(
deno info
)和代码格式化器(deno fmt
); - 拥有一组经过审核的标准模块:
deno.land/std
,能和deno
一起运行;
虽然都支持 V8
引擎,但 Deno
却并不是 Node.js
的分支,它甚至都不和 Node(NPM)
兼容;Deno
是一个全新的 JavaScript
和TypeScript
程序运行时,意在构建更加安全和高效的 JavaScript
和TypeScript
程序,虽然目前和 Node.js
并不兼容,Deno
却希望在将来能够使用 Deno
来运行更多的 Node
项目。
小结
纵观 JavaScript
的发展,可谓感慨良多!曾经的 JavaScript
是命运坎坷,还未出生就不受亲生父亲的待见,出生后更是常年被笼罩在Java
的阴影之下,甚至一度被认为是Java
的补充;被卷入浏览器大战,差点被遗弃。
但是好在它遇到了自己真正的归宿:ECMA 组织
,不仅获得了重生,更是广受开发者青睐,随着Node.js
的出现,Vue.js、Angular.js、React.js蓬勃发展,JavaScript
有了更大的应用;Deno
的诞生,使得 JavaScript
已经不仅限于 Web
浏览器,又会掀起一场更大的互联网革命,让我们拭目以待。
完结,老夫虽不正经,但老夫一身的才华!关注我,获取更多编程科技知识。