vlambda博客
学习文章列表

25 岁的 JavaScript 都经历了什么?

25 岁的 JavaScript 都经历了什么?

编译 | 前端小智  责编 | 阿哲
头图 | CSDN 下载自视觉中国
来源 | 大迁世界(ID:qq449245885)
原文:https://www.zdnet.com/article/javascript-at-25-the-programming-language-that-makes-the-world-go-round/ https://js25.org/
本文由前端小智获作者授权后翻译
JavaScript 于 25 年前(1995 年 12 月 4 日)首次向公众推出 。JavaScript  最初开发仅用了 10 天时间,便迅速成为最受欢迎的编程语言之一,如今全球有数百万的开发人员每天都在使用它。
2020 年是它的 25 周年纪念日 ——对于这个已经成为最受欢迎的编程语言之一,这无疑是一伟大里程碑。
JavaScript 是前端开发的首选语言,后面并催生了微软的 Typescript,它是  JavaScript 的超集,具有更强的可选类型系统,供开发人员在浏览器中运行时编译成 JavaScript。
JavaScript 和 TypeScript 都符合 ECMAScript,这是 JavaScript 和 node.js 的标准。这要归功于 Google 强大的 V8 引擎,可以在浏览器之外运行应用程序。
JavaScript 对 Web 的影响是巨大的。科技巨头已经拥抱了 JS。除了 Google 的 V8,还有很多开源项目,例如 Facebook 的 React 和 Google 的 Angular,他们有助于在智能手机和桌面上推广网络应用程序。
1995 年 5 月,Netscape (网景公司)和 Sun (太阳微系统公司) 推出了 JavaScript。 随后微软在 1995 年 12 月推出了 Visual Basic (VB),将其作为一个标准,用于为其 Internet Explorer 浏览器使用 VB 脚本创建 web 应用程序。甲骨文在 2008 年收购 Sun 主要是为了插手 Java 及其庞大的开发生态系统。
当时而言,JavaScript 的未来并不能说说完全光明的。
Cory House 是开发人员培训网站 Pluralsight 的一名 JavaScript 教育工作者。他回忆说,早期的 JavaScript 很难确定是否能成功。
“JavaScript 是几天内就完成了,最初只在一个浏览器中使用。微软的第一个浏览器附带了他们自己风格的 JavaScript 叫 JScript。今天,JavaScript 还被用于构建桌面应用、移动设备应用、健身追踪器、机器人和众多嵌入式系统。它甚至是詹姆斯·韦伯太空望远镜的一部分。这个望远镜使用 Nombas 的 ES1 级嵌入式 JavaScript,应用于板载控制软件部分。”Cory House 回忆道。
“我们可以用面向对象的或函数式的方式编写代码。由于 JavaScript 有类似于 c 的语法,因此使用过其他类似 c 语言的人对它很熟悉。JavaScript 通过不断接受其他语言的好点子而保持着“更新”。”
Pluralsight 的另一位作者 Jonathan Mills 指出,JavaScript 已不再局限于浏览器。他说:“现在,JavaScript 已经发展成为一个庞大的生态系统,对软件开发的每个领域都具有影响。”
微软的 TypeScript 在 GitHub 上越来越受欢迎,这要归功于基于 Javascript  的大型项目的存在,但它也可能被 Web Assembly 带来的新兴技术所取代。
W3C 自 2019 年 12 月批准该标准以来,主流 Web 浏览器开始给 WebAssembly 和 Wasm HTML 提供与 CSS 和 JavaScript 同级别支持。
WebAssembly 是一个虚拟指令集架构,它支持 web 上的高性能应用程序, 并为 web 上更多的 AI 搭建了平台,这些 AI 可以用于视频和音频编解码器、图形和加密计算。
Mills 告诉 ZDNet,到目前为止,Web Assembly 在目标领域具有潜力。
Mills 说:“在构建 JavaScript 应用程序时,JavaScript 代码会按原样发送到浏览器,并在运行时在浏览器中进行编译和运行。WebAssembly 通过在部署之前编译代码来简化此过程,并有望在此过程中显着提高性能 ”。
“当构建图形或计算密集型的复杂 Web 应用程序时,这非常有用。然而,目前最主要的障碍是与 WebAssembly 相关的最杰出的语言是 Rust 和 C。JavaScript 之所以快速发展,部分原因是因为易用性和快速开发风格,C 和 Rust 都没有这种品质。”
为了庆祝 JavaScript 诞生 25 周年,下面列出影响其历史的重要里程碑:


25 岁的 JavaScript 都经历了什么?

万维网(1989 年 3 月)


在 CERN 工作时,蒂姆·伯纳斯·李(Tim Berners-Lee)在一份名为“信息管理:提案”的文档中提出了他对网络的构想。

25 岁的 JavaScript 都经历了什么?

第一个网站 (1991 年 8 月 6 日)


第一个网站于 1991 年 8 月 6 日上线。它被用于万维网项目本身,并托管在 Tim Berners-Lee 的 NeXT 电脑上。

25 岁的 JavaScript 都经历了什么?

Mosaic (1993 年 6 月)


NCSA Mosaic,或简称 Mosaic,是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器。它是由伊利诺伊大学厄巴纳-香槟分校的 NCSA 组织在 1993 年所发布,并于 1997 年 1 月 7 日正式终止开发和支持。在当时大受欢迎。Mosaic 算是点燃了后期互联网热潮的火种之一。
后来网景导航者浏览器的开发工作,聘用了许多原有的 Mosaic 浏览器工程师,但是没有采用 Mosaic 网页浏览器的任何代码。传承网景浏览器代码的后裔为 Firefox 浏览器。


25 岁的 JavaScript 都经历了什么?

Netscape (网景公司)  (1994 年 9 月 9 日)


马克•安德森(Marc Andreessen)和吉姆•克拉克(Jim Clark)创立了后来的网景通信公司(Netscape Communications Corporation),并于 1994 年 9 月 9 日推出了他们的第一个浏览器。最初它被称为Mosaic Netscape,后来为了避免与 NCSA 的商标问题改名为 Netscape Navigator。这个浏览器的内部代号是 Mozilla,意思是“Mosaic 杀手”,它确实迅速成为了最受欢迎的浏览器。

25 岁的 JavaScript 都经历了什么?

JavaScript (1995 年 5 月)


25 岁的 JavaScript 都经历了什么?
马克·安德森(Marc Andreessen)设想了一个更具动态性的 Web,并认为需要一种易于 Web 设计者使用的语言。他招募来了 Brendan Eich,并在 10 天之内于为 Netscape 浏览器编写了原型。该语言最初称为 Moca,后来称为 LiveScript,最后重命名为 JavaScript(作为 Java 的辅助语言)。JavaScript 的正式发布日期是 1995 年 12 月 4 日。

25 岁的 JavaScript 都经历了什么?

JScript (1996 年 8 月)

Microsoft 对 Netscape 的 JavaScript 进行了逆向工程,创建 JScript 并将其作为 Internet Explorer 3 的一部分 。引入了不符合标准的专有扩展,使开发人员很难创建一个在所有浏览器中都能正常运行的网站。最终,Internet Explorer 成为浏览器大战中的主导软件。

25 岁的 JavaScript 都经历了什么?

ECMAscript 1 (1997 年 6 月)


Netscape 向 ECMA International 提交了 JavaScript,以创建标准规范,然后其他浏览器供应商可以实施该规范。这导致了 1997 年 6 月语言规范  ECMAScript 的正式发布。

25 岁的 JavaScript 都经历了什么?

Mozilla (1998 年 1 月 23 日)


1998 年 1 月 23 日,在浏览器市场份额急剧下降的情况下,Netscape 宣布它将发布 Netscape Communicator 5.0 的源代码,希望它将成为一个受欢迎的开源项目。Mozilla 项目就是这样诞生的。

25 岁的 JavaScript 都经历了什么?

XMLHttpRequest (1999 年 3 月)


Microsoft 于 1999年 3 月在 Internet Explorer 5.0 中发布了 XMLHttpRequest 的原始形式。XMLHttpRequest 是一种 API,用于在 Web 浏览器和 Web 服务器之间传输数据,它在将来会被证明是有用的。


25 岁的 JavaScript 都经历了什么?

ECMAscript 3 (1999 年 12 月)


该版本增加了正则表达式,更全的字符串处理,新的控制语句, try/catch 异常处理,更严格的错误定义,数字输出格式和其他增强功能。由于 ECMAscript 4 停滞,该版本盛行了十年。

25 岁的 JavaScript 都经历了什么?

JSON (2001 年 4 月)


Douglas Crockford 指定了 JSON(JavaScript 对象表示法),这是一种基于 JavaScript 子集的轻量级数据交换格式。JSON 数据在前端更易于加载和使用,并且到本世纪末将取代 XML,成为 Web 上的数据交换格式。

25 岁的 JavaScript 都经历了什么?

Firefox (2004 年 11 月 9 日)


Firefox 于 2002 年由 Dave Hyatt,Joe Hewitt 和 Blake Ross 作为 Mozilla 项目的实验分支开始。为了对抗 Mozilla Suite 的软件膨胀,他们创建了一个独立的浏览器,首先命名为 Phoenix,后来命名为 Firebird, 最后是Firefox。
Firefox 1.0 版于 2004 年 11 月 9 日发布。Firefox 的速度,可用性和市场营销帮助它在 Internet Explorer 上赢得了市场份额。在启动的五年内,Firefox 占了所有 Web 浏览的近三分之一。

25 岁的 JavaScript 都经历了什么?

AJAX (2005 年 2 月 18 日)


杰西·詹姆斯·加勒特(Jesse James Garrett)创造了 AJAX(异步 JavaScript + XML)一词,用以描述新兴 Web 应用程序(如 GMail 和 Google Maps)背后的异步技术,该技术允许网页动态更改内容而无需重新加载。

25 岁的 JavaScript 都经历了什么?

jQuery (2006 年 8 月)


jQuery 是一个由 John Resig 设计的 JavaScript 库,用于简化 HTML DOM 树的遍历和操作以及事件处理,CSS 动画和 AJAX。在此期间启动的其他 JavaScript 框架/库包括 Mootools 和 Prototype。

25 岁的 JavaScript 都经历了什么?

Google Chrome (2008 年 12 月)


Google 于 2008 年 12 月 11 日发布了 Chrome 浏览器,该浏览器使用了与 Safari 相同的 WebKit 渲染引擎和一个更快的 JavaScript 引擎 V8。不久之后,针对 Windows,OS X 和 Linux 平台的开源版本以 Chromium 的名称发布。凭借快速的发布周期和对速度的关注,谷歌浏览器最终取代了所有其他浏览器。

25 岁的 JavaScript 都经历了什么?

Node.js (2009 年 3 月)


Node.js 最初由 Ryan Dahl 于 2009 年 3 月基于 Google 的开源 V8  JavaScript 引擎开发。它为在 Web 服务器上使用 JavaScript 铺平了道路。Node.js 函数是非阻塞的,允许服务器处理大量并发连接。它代表了“  JavaScript 无处不在”范例,统一了围绕一种编程语言的 Web 应用程序开发。

25 岁的 JavaScript 都经历了什么?

npm (2009 年)


npm(最初是 Node Package Manager 的缩写)是 Isaac Z. Schlueter 开发的 JavaScript 编程语言的软件包管理器。npm Registry 是 Node.js,前端 Web 应用程序,移动应用程序和其他应用程序的开源代码包的公共集合。

25 岁的 JavaScript 都经历了什么?

ES5 (2009 年 12 月 3 日)


ECMAScript 5 是 ECMAScript 3 发布十多年后的 2009 年 12 月发布,是ECMAScript 3 的增量升级版。雄心勃勃的 ECMAScript 4 被正式放弃,代号为 Harmony,某些功能成为 ECMAScript6。原始 ECMAScript 4 计划的其他功能将被删除以在后续版本中采用。形成了一个新的决心,即在整个 TC39 的共识下开发任何新的想法,以防止将来发生分裂的可能性。

25 岁的 JavaScript 都经历了什么?

AngularJS (2010 年 10 月 20 日)


AngularJS 由 Misko Hevery 于 2010 年 10 月发布,并迅速成为最受欢迎的 JavaScript MVC 框架。它提供了双向数据绑定,依赖项注入,路由包等等。在此期间启动的其他 JavaScript 框架/库包括 Backbone,Ember 和 Knockout。该项目由 Angular 在 2016 年继承,由 Google Angular 团队领导的 AngularJS 的完全重写。

25 岁的 JavaScript 都经历了什么?

TypeScript (2012 年 10 月 12 日)


TypeScript 是一种 JavaScript 的超集,它将静态类型添加到语言中,经过微软两年的内部开发,于 2012 年 10 月首次发布(0.8版本)。


25 岁的 JavaScript 都经历了什么?

React (2013 年 5 月 29 日)


React 是一个 JavaScript 库,用于构建可组合的用户界面,由 Jordan Walke 于 2013 年开发并开源。它由 Facebook 和一个由开发者和公司组成的社区共同维护。

25 岁的 JavaScript 都经历了什么?

Vue.js (2014 年 2 月 25 日)


由 Evan You 创建的 Vue 是一个开放源代码, 它是一个 model–view–viewmodel  的前端 JavaScript 框架,用于构建的用户界面和单页应用程序。该项目的第一个源代码提交于 2013 年 7 月,Vue 于 2014 年 2 月首次发布。


25 岁的 JavaScript 都经历了什么?

Next.js (2016 年 10 月 25 日)


Next.js 是由 Vercel 创建的开源 React 框架。它可以唯一满足静态和动态网站及应用程序的需求。Next.js 的增量静态再生为用户提供了静态站点生成器的所有功能,并且可以添加无限数量的页面并在以后更新它们-无需重建整个站点。

25 岁的 JavaScript 都经历了什么?

Svelte (2016 年 11 月 26 日)


Svelte 是一个由 Rich Harris 创建的免费和开源的前端 JavaScript 框架。
Svelte 是一种全新的构建用户界面的方法。传统框架如 React 和 Vue 在浏览器中需要做大量的工作,而 Svelte 将这些工作放到构建应用程序的编译阶段来处理。
与使用虚拟(virtual)DOM 差异对比不同。Svelte 编写的代码在应用程序的状态更改时就能像做外科手术一样更新 DOM。

25 岁的 JavaScript 都经历了什么?

WebAssembly (2017 年 3 月)


WebAssembly(缩写为Wasm)是基于堆栈的虚拟机的二进制指令格式。Wasm 被设计为可移植目标,用于编译高级语言(如 C/C++/Rust),从而可以在 Web 上为客户端和服务器应用程序进行部署,前驱技术是来自 Mozilla 和 Google Native Client 的 asm.js。

25 岁的 JavaScript 都经历了什么?

OpenJS Foundation (2019 年 3 月 12 日)


众所周知,Node.js 和 JavaScript 有着千丝万缕的关系,也有着很多的合作,但他们属于不同的 fondation,办起事来非常不方便,所以有必要将这两个基金会合并以提高效率了。
于是,在 2019 年 3 月 13 日,Node.js 基金会和 JS 基金会宣布合并为 OpenJS 基金会。
OpenJS Foundation 的主要目标是:
  • 促进关键 JavaScript 和 Web 解决方案及相关技术的广泛采用和持续开发;

  • 促进 JavaScript 开发社区中的协作;

  • 在整个端到端 JavaScript 生态系统中为开源项目创建重心,指导它们迈向开放治理和多样化的协作者基础;

  • 托管基础结构以支持托管的 JavaScript 开源项目;

  • 通过推进项目和战略合作伙伴关系,来建立一个开放和可访问的网站。


25 岁的 JavaScript 都经历了什么?

Deno (2020 年 5 月 13 日)


Deno是一个基于 V8 JavaScript 引擎和 Rust 编程语言的 JavaScript 和 TypeScript 运行时。 它是由 Node.js 的原作者 Ryan Dahl 创作的。这是他在 JSConf 2018 年欧盟会议上发表的题为“10 Things I Regret About Node.js”的演讲中宣布的。Deno 在单个可执行文件中明确承担了运行时和包管理器的角色,而不需要单独的包管理程序。

25 岁的 JavaScript 都经历了什么?

最后


对于 JavaScript 的未来,有一件事很清楚:协作是关键。“浏览器大战”已经过去了,用户和开发人员都不想重温由于缺乏互操作性而带来的问题。
幸运的是,开源已经盛行,并代表着 JavaScript 语言和社区的开发和治理的前进之路。

25 岁的 JavaScript 都经历了什么?

25 岁的 JavaScript 都经历了什么?

       
         
         
       
更多精彩推荐





     
       
       
     
25 岁的 JavaScript 都经历了什么?
点分享
点点赞
点在看