本文已过原作者授权翻译

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。当然,还有我们的 尤雨溪 的 Vue。

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,作为其板载控制软件的一部分。”

”我们可以用面向对象的或函数式的方式编写代码。由于 JavaScript 有类似于c的语法,因此使用过其他类似c语言的人对它很熟悉。JavaScript 通过不断接受其他语言的好点子而保持着“更新”。

Pluralsight 的另一位作者Jonathan Mills指出,JavaScript 已不再局限于浏览器。他说:“现在,JavaScript 已经发展成为一个庞大的生态系统,对软件开发的每个领域都具有影响。”

微软的 TypeScript 在 GitHub 上越来越受欢迎,这要归功于基于 Javascript 的大型项目的存在,但它也可能被 Web Assembly带来的新兴技术所取代。

W3C 于2019年12月批准该标准以来,主流Web浏览器现在以与HTML,CSS和JavaScript相似的级别支持WebAssemblyWasm

WebAssembly是一个虚拟指令集架构,它支持web上的高性能应用程序,并为web上更多的AI搭建了平台,这些AI可以用于视频和音频编解码器、图形和加密计算。

Mills告诉ZDNet,到目前为止,Web Assembly在目标领域具有潜力。

Mills 说 “在构建 JavaScript 应用程序时,JavaScript 代码会按原样发送到浏览器,并在运行时在浏览器中进行编译和运行。WebAssembly 通过在部署之前编译代码来简化此过程,并有望在此过程中显着提高性能 ”。

“当构建图形或计算密集型的复杂Web应用程序时,这非常有用。然而,目前最主要的障碍是与WebAssembly相关的最杰出的语言是RustC。JavaScript 之所以起飞,部分原因是因为易用性和快速开发风格,C 和 Rust 都没有这种品质。”

为了庆祝JavaScript诞生25周年,下面列出影响其历史的重要里程碑:

万维网(1989年3月)

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

文章地址:https://webfoundation.org/about/vision/history-of-the-web/

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

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

更多信息:http://info.cern.ch/hypertext/WWW/TheProject.html

Mosaic (1993年6月)

NCSA Mosaic,或简称 Mosaic,是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器。它是由伊利诺伊大学厄巴纳-香槟分校的NCSA组织在1993年所发表,并于1997年1月7日正式终止开发和支持。在当时人气爆发的大受欢迎。Mosaic 的出现,算是点燃了后期互联网热潮的火种之一。

后来网景导航者浏览器的开发工作,聘用了许多原有的Mosaic浏览器工程师,但是没有采用Mosaic网页浏览器的任何代码。传承网景浏览器代码的后裔为Firefox浏览器。

更多信息:https://en.wikipedia.org/wiki/Mosaic_(web_browser)

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

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

更多信息:https://en.wikipedia.org/wiki/Netscape_Navigator

JavaScript (1995年5月)

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

更多信息:https://en.wikipedia.org/wiki/JavaScript

JScript (1996年8月)

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

更多信息:https://en.wikipedia.org/wiki/Browser_wars

ECMAscript 1 (1997年6月)

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

更多信息: https://en.wikipedia.org/wiki/ECMAScript

Mozilla (1998年1月23日)

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

更多信息:https://www.mozilla.org/en-US/about/history/

XMLHttpRequest (1999年3月)

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

ECMAscript 3 (1999年12月)

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

更多信息:https://en.wikipedia.org/wiki/ECMAScript

JSON (2001年4月)

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

更多信息:https://www.json.org/json-en.html

Firefox (2004年11月9日)

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

更多信息:https://blog.mozilla.org/press/2004/11/mozilla-foundation-releases-the-highly-anticipated-mozilla-firefox-1-0-web-browser/

AJAX (2005年2月18日)

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

更多信息:https://en.wikipedia.org/wiki/Ajax_(programming)

jQuery (2006年8月)

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

更多信息:https://openjsf.org/

Google Chrome (2008年12月)

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

更多信息:https://www.google.com/chrome/

Node.js (2009年3月)

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

更多信息:https://nodejs.org/en/

npm (2009 年)

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

更多地址:https://www.npmjs.com/about

ES5 (2009年12月3日)

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

更多信息:https://en.wikipedia.org/wiki/ECMAScript

AngularJS (2010年10月20日)

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

更多信息:https://angularjs.org/

TypeScript (2012年10月12日)

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

React (2013年5月29日)

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

更多信息:https://reactjs.org/

Vue.js (2014年2月25日)

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

Next.js (2016年的10月25日)

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

更多信息:https://nextjs.org/

Svelte (2016年11月26日)

Svelte是一个由Rich Harris创建的免费和开源的前端JavaScript框架。

Svelte 是一种全新的构建用户界面的方法。传统框架如 React 和 Vue 在浏览器中需要做大量的工作,而 Svelte 将这些工作放到构建应用程序的编译阶段来处理。

与使用虚拟(virtual)DOM 差异对比不同。Svelte 编写的代码在应用程序的状态更改时就能像做外科手术一样更新 DOM。

更多信息:https://svelte.dev/

WebAssembly (2017年三月)

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

更多信息:https://webassembly.org/

OpenJS Foundation (2019年3月12日)

众所周知,Node.js 和 JavaScript 有着千丝万缕的关系,也有着很多的合作,但他们属于不同的fondation,办起事来非常不方便,所以有必要将这两个基金会合并以提高效率了。于是,在2019年3月13日,Node.js基金会 和 JS基金会 宣布合并为 OpenJS基金会。

OpenJS Foundation的主要目标是:

  • 促进关键JavaScript和Web解决方案及相关技术的广泛采用和持续开发;
  • 促进JavaScript开发社区中的协作;
  • 在整个端到端JavaScript生态系统中为开源项目创建重心,指导它们迈向开放治理和多样化的协作者基础;
  • 托管基础结构以支持托管的JavaScript开源项目;
  • 通过推进项目和战略合作伙伴关系,来建立一个开放和可访问的网站。

更多信息:https://openjsf.org/

Deno (2020年5月13日)

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

更多信息:https://deno.land/

最后

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


代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug

原文:
https://www.zdnet.com/article/javascript-at-25-the-programming-language-that-makes-the-world-go-round/

https://js25.org/

交流

文章每周持续更新,可以微信搜索**【大迁世界 】第一时间阅读,回复【福利】**有多份前端视频等着你,本文 GitHub https://github.com/qq449245884/xiaozhi 已经收录,欢迎Star。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐