溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript 25年來的歷史進(jìn)程是怎樣的

發(fā)布時(shí)間:2021-09-30 11:33:21 來源:億速云 閱讀:154 作者:柒染 欄目:web開發(fā)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)JavaScript 25年來的歷史進(jìn)程是怎樣的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

JavaScript于25年前(1995年12月4日)首次向公眾推出。JavaScript  最初開發(fā)僅用了10天時(shí)間,便迅速成為最受歡迎的編程語言之一,如今全球有數(shù)百萬的開發(fā)人員每天都在使用它。  2020年是它的25周年紀(jì)念日——對(duì)于這個(gè)已經(jīng)成為最受歡迎的編程語言之一,這無疑是一個(gè)巨大的里程碑。

JavaScript 是前端開發(fā)的首選語言,后面并催生了微軟的 Typescript,它是  JavaScript的超集,具有更強(qiáng)的可選類型系統(tǒng),供開發(fā)人員在瀏覽器中運(yùn)行時(shí)編譯成JavaScript。

JavaScript 和 TypeScript 都符合 ECMAScript,這是 JavaScript 和 node.js  的標(biāo)準(zhǔn),這要?dú)w功于Google強(qiáng)大的 V8 引擎,可以在瀏覽器之外運(yùn)行應(yīng)用程序。

JavaScript 對(duì) Web 的影響是巨大的??萍季揞^已經(jīng)也擁抱了 JS。除了Google的V8,還有開源項(xiàng)目,例如Facebook的React和  Google 的Angular。當(dāng)然,還有我們的 尤雨溪 的 Vue。

1995年5月,**Netscape (網(wǎng)景公司)和 Sun (太陽微系統(tǒng)公司) 推出了JavaScript,隨后微軟在1995年12月推出了Visual  Basic (VB),將其作為一個(gè)標(biāo)準(zhǔn),用于為其Internet Explorer瀏覽器使用 VB 腳本創(chuàng)建web應(yīng)用程序。甲骨文在2008年收購Sun  **主要是為了插手Java及其龐大的開發(fā)生態(tài)系統(tǒng)。

JavaScript 的未來并不總是像今天這么確定的。

Cory House 是開發(fā)人員培訓(xùn)網(wǎng)站 Pluralsight 的一名JavaScript教育工作者,他回憶說,早期的JavaScript  是否能成功很難確定?!癑avaScript 是幾天內(nèi)就完成了,最初只在一個(gè)瀏覽器中使用。微軟的第一個(gè)瀏覽器附帶了他們自己風(fēng)格的JavaScript 叫  JScript。今天,JavaScript  還被用于構(gòu)建桌面應(yīng)用、移動(dòng)設(shè)備應(yīng)用、健身追蹤器、機(jī)器人和眾多嵌入式系統(tǒng)。它甚至是詹姆斯·韋伯太空望遠(yuǎn)鏡的一部分。這個(gè)望遠(yuǎn)鏡使用 Nombas 的 ES1  級(jí)嵌入式 JavaScript,作為其板載控制軟件的一部分?!?/p>

”我們可以用面向?qū)ο蟮幕蚝瘮?shù)式的方式編寫代碼。由于 JavaScript 有類似于c的語法,因此使用過其他類似c語言的人對(duì)它很熟悉。JavaScript  通過不斷接受其他語言的好點(diǎn)子而保持著“更新”。

Pluralsight 的另一位作者Jonathan Mills指出,JavaScript 已不再局限于瀏覽器。他說:“現(xiàn)在,JavaScript  已經(jīng)發(fā)展成為一個(gè)龐大的生態(tài)系統(tǒng),對(duì)軟件開發(fā)的每個(gè)領(lǐng)域都具有影響?!?/p>

微軟的 TypeScript 在 GitHub 上越來越受歡迎,這要?dú)w功于基于 Javascript 的大型項(xiàng)目的存在,但它也可能被 Web  Assembly帶來的新興技術(shù)所取代。

W3C  于2019年12月批準(zhǔn)該標(biāo)準(zhǔn)以來,主流Web瀏覽器現(xiàn)在以與HTML,CSS和JavaScript相似的級(jí)別支持WebAssembly或Wasm。

WebAssembly是一個(gè)虛擬指令集架構(gòu),它支持web上的高性能應(yīng)用程序,并為web上更多的AI搭建了平臺(tái),這些AI可以用于視頻和音頻編解碼器、圖形和加密計(jì)算。

Mills告訴ZDNet,到目前為止,Web Assembly在目標(biāo)領(lǐng)域具有潛力。

Mills 說 “在構(gòu)建 JavaScript 應(yīng)用程序時(shí),JavaScript  代碼會(huì)按原樣發(fā)送到瀏覽器,并在運(yùn)行時(shí)在瀏覽器中進(jìn)行編譯和運(yùn)行。WebAssembly 通過在部署之前編譯代碼來簡化此過程,并有望在此過程中顯著提高性能  ”。

“當(dāng)構(gòu)建圖形或計(jì)算密集型的復(fù)雜Web應(yīng)用程序時(shí),這非常有用。然而,目前最主要的障礙是與WebAssembly相關(guān)的最杰出的語言是Rust和C。JavaScript  之所以起飛,部分原因是因?yàn)橐子眯院涂焖匍_發(fā)風(fēng)格,C 和 Rust 都沒有這種品質(zhì)?!?/p>

為了慶祝JavaScript誕生25周年,下面列出影響其歷史的重要里程碑:

萬維網(wǎng)(1989年3月)

在CERN工作時(shí),蒂姆·伯納斯·李(Tim Berners-Lee)在一份名為“信息管理:提案”的文檔中提出了他對(duì)網(wǎng)絡(luò)的構(gòu)想。

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

第一個(gè)網(wǎng)站 (1991年8月6日)

第一個(gè)網(wǎng)站于1991年8月6日上線。它被用于萬維網(wǎng)項(xiàng)目本身,并托管在Tim Berners-Lee的NeXT電腦上。

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

Mosaic (1993年6月)

NCSA Mosaic,或簡稱  Mosaic,是互聯(lián)網(wǎng)歷史上第一個(gè)獲普遍使用和能夠顯示圖片的網(wǎng)頁瀏覽器。它是由伊利諾伊大學(xué)厄巴納-香檳分校的NCSA組織在1993年所發(fā)表,并于1997年1月7日正式終止開發(fā)和支持。在當(dāng)時(shí)人氣爆發(fā)的大受歡迎。Mosaic  的出現(xiàn),算是點(diǎn)燃了后期互聯(lián)網(wǎng)熱潮的火種之一。

后來網(wǎng)景導(dǎo)航者瀏覽器的開發(fā)工作,聘用了許多原有的Mosaic瀏覽器工程師,但是沒有采用Mosaic網(wǎng)頁瀏覽器的任何代碼。傳承網(wǎng)景瀏覽器代碼的后裔為Firefox瀏覽器。

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

Netscape (網(wǎng)景公司) (1994年9月9日)

馬克?安德森(Marc Andreessen)和吉姆?克拉克(Jim Clark)創(chuàng)立了后來的網(wǎng)景通信公司(Netscape Communications  Corporation),并于1994年9月9日推出了他們的第一個(gè)瀏覽器。最初它被稱為Mosaic Netscape,但后來被重新命名為Netscape  Navigator以避免與NCSA的商標(biāo)問題。這個(gè)瀏覽器的內(nèi)部代號(hào)是Mozilla,意思是“Mosaic 殺手”,它確實(shí)迅速成為了最受歡迎的瀏覽器。

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

JavaScript (1995年5月)

JavaScript 25年來的歷史進(jìn)程是怎樣的

馬克·安德森(Marc Andreessen)設(shè)想了一個(gè)更具動(dòng)態(tài)性的Web,并認(rèn)為需要一種易于Web設(shè)計(jì)者使用的語言。他招募了Brendan  Eich,他在10天之內(nèi)于1995年5月為Netscape瀏覽器編寫了原型。該語言最初稱為Moca,后來稱為LiveScript,最后重命名為JavaScript(作為Java的輔助語言)。JavaScript的正式發(fā)布日期是1995年12月4日。

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

JScript (1996年8月)

Microsoft 對(duì) Netscape的 JavaScript 進(jìn)行了逆向工程,創(chuàng)建JScript并將其作為Internet Explorer  3的一部分。引入了不符合標(biāo)準(zhǔn)的專有擴(kuò)展,使開發(fā)人員很難創(chuàng)建一個(gè)在所有瀏覽器中都能正常運(yùn)行的網(wǎng)站。最終,Internet  Explorer成為瀏覽器大戰(zhàn)中的主導(dǎo)軟件。

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

ECMAscript 1 (1997年6月)

Netscape向ECMA International提交了  JavaScript,以創(chuàng)建標(biāo)準(zhǔn)規(guī)范,然后其他瀏覽器供應(yīng)商可以實(shí)施該規(guī)范,這導(dǎo)致了1997年6月語言規(guī)范 ECMAScript 的正式發(fā)布。

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

Mozilla (1998年1月23日)

1998年1月23日,在瀏覽器市場(chǎng)份額急劇下降的情況下,Netscape宣布它將發(fā)布Netscape Communicator  5.0的源代碼,希望它將成為一個(gè)受歡迎的開源項(xiàng)目。Mozilla項(xiàng)目就是這樣誕生的。

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

XMLHttpRequest (1999年3月)

Microsoft 于1999年3月在Internet Explorer  5.0中發(fā)布了XMLHttpRequest的原始形式。XMLHttpRequest是一種API,用于在Web瀏覽器和Web服務(wù)器之間傳輸數(shù)據(jù),它在將來會(huì)被證明是有用的。

ECMAscript 3 (1999年12月)

該版本增加了正則表達(dá)式,更全的字符串處理,新的控制語句, try/catch  異常處理,更嚴(yán)格的錯(cuò)誤定義,數(shù)字輸出格式和其他增強(qiáng)功能。由于ECMAscript 4停滯,該版本盛行了十年。

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

JSON (2001年4月)

Douglas  Crockford指定了JSON(JavaScript對(duì)象表示法),這是一種基于JavaScript子集的輕量級(jí)數(shù)據(jù)交換格式。JSON數(shù)據(jù)在前端更易于加載和使用,并且到本世紀(jì)末將取代XML,成為Web上的數(shù)據(jù)交換格式。

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

Firefox (2004年11月9日)

Firefox 于 2002 年由Dave Hyatt,Joe Hewitt和Blake  Ross作為Mozilla項(xiàng)目的實(shí)驗(yàn)分支開始。為了對(duì)抗Mozilla  Suite的軟件膨脹,他們創(chuàng)建了一個(gè)獨(dú)立的瀏覽器,首先命名為Phoenix,后來命名為Firebird, 最后是Firefox。Firefox  1.0版于2004年11月9日發(fā)布。Firefox 的速度,可用性和市場(chǎng)營銷幫助它在Internet  Explorer上贏得了市場(chǎng)份額。在啟動(dòng)的五年內(nèi),F(xiàn)irefox占了所有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)創(chuàng)造了AJAX(異步JavaScript +  XML)一詞,用以描述新興Web應(yīng)用程序(如GMail和Google Maps)背后的異步技術(shù),該技術(shù)允許網(wǎng)頁動(dòng)態(tài)更改內(nèi)容而無需重新加載。

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

jQuery (2006年8月)

jQuery 是一個(gè)由John Resig設(shè)計(jì)的JavaScript庫,用于簡化HTML  DOM樹的遍歷和操作以及事件處理,CSS動(dòng)畫和AJAX。在此期間啟動(dòng)的其他JavaScript框架/庫包括Mootools和Prototype。

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

Google Chrome (2008年12月)

Google于2008年12月11日發(fā)布了Chrome瀏覽器,該瀏覽器使用了與Safari相同的WebKit渲染引擎和一個(gè)更快的 JavaScript  引擎 V8。不久之后,針對(duì)Windows,OS  X和Linux平臺(tái)的開源版本以Chromium的名稱發(fā)布。憑借快速的發(fā)布周期和對(duì)速度的關(guān)注,谷歌瀏覽器最終取代了所有其他瀏覽器。

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

Node.js (2009年3月)

Node.js 最初由Ryan Dahl于2009年3月基于Google的開源V8  JavaScript引擎開發(fā)。它為在Web服務(wù)器上使用JavaScript鋪平了道路。Node.js函數(shù)是非阻塞的,允許服務(wù)器處理大量并發(fā)連接。它代表了“  JavaScript無處不在”范例,統(tǒng)一了圍繞一種編程語言的Web應(yīng)用程序開發(fā)。

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

npm (2009 年)

npm(最初是Node Package Manager的縮寫)是Isaac Z.  Schlueter開發(fā)的JavaScript編程語言的軟件包管理器。npm  Registry是Node.js,前端Web應(yīng)用程序,移動(dòng)應(yīng)用程序和其他應(yīng)用程序的開源代碼包的公共集合。

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

ES5 (2009年12月3日)

ECMAScript 5 是ECMAScript 3的十多年后的2009年12月發(fā)布,是ECMAScript  3的增量升級(jí)版。雄心勃勃的ECMAScript 4被正式放棄,代號(hào)為Harmony,某些功能成為ECMAScript6。原始ECMAScript  4計(jì)劃的其他功能 將被刪除以在后續(xù)版本中采用。形成了一個(gè)新的決心,即在整個(gè)TC39的共識(shí)下開發(fā)任何新的想法,以防止將來發(fā)生分裂的可能性。

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

AngularJS (2010年10月20日)

AngularJS 由Misko Hevery于2010年10月發(fā)布,并迅速成為最受歡迎的JavaScript  MVC框架。它提供了雙向數(shù)據(jù)綁定,依賴項(xiàng)注入,路由包等等。在此期間啟動(dòng)的其他JavaScript框架/庫包括Backbone,Ember和Knockout。該項(xiàng)目由Angular在2016年繼承,由Google  Angular團(tuán)隊(duì)領(lǐng)導(dǎo)的AngularJS的完全重寫。

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

TypeScript (2012年10月12日)

TypeScript  是一種JavaScript的超集,它將靜態(tài)類型添加到語言中,經(jīng)過微軟兩年的內(nèi)部開發(fā),于2012年10月首次發(fā)布(0.8版本)。

React (2013年5月29日)

React 是一個(gè)JavaScript庫,用于構(gòu)建可組合的用戶界面,由Jordan  Walke于2013年開發(fā)并開源。它由Facebook和一個(gè)由開發(fā)者和公司組成的社區(qū)共同維護(hù)。

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

Vue.js (2014年2月25日)

由Evan You創(chuàng)建的 Vue 是一個(gè)開放源代碼, 它是一個(gè) model–view–viewmodel  的前端JavaScript框架,用于構(gòu)建的用戶界面和單頁應(yīng)用程序。該項(xiàng)目的第一個(gè)源代碼提交于2013年7月,Vue于2014年2月首次發(fā)布。

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

Next.js是由Vercel創(chuàng)建的開源React框架。它可以唯一滿足靜態(tài)和動(dòng)態(tài)網(wǎng)站及應(yīng)用程序的需求。Next.js的增量靜態(tài)再生為用戶提供了靜態(tài)站點(diǎn)生成器的所有功能,并且可以添加無限數(shù)量的頁面并在以后更新它們-無需重建整個(gè)站點(diǎn)。

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

Svelte (2016年11月26日)

Svelte是一個(gè)由Rich Harris創(chuàng)建的免費(fèi)和開源的前端JavaScript框架。

Svelte 是一種全新的構(gòu)建用戶界面的方法。傳統(tǒng)框架如 React 和 Vue 在瀏覽器中需要做大量的工作,而 Svelte  將這些工作放到構(gòu)建應(yīng)用程序的編譯階段來處理。

與使用虛擬(virtual)DOM 差異對(duì)比不同。Svelte 編寫的代碼在應(yīng)用程序的狀態(tài)更改時(shí)就能像做外科手術(shù)一樣更新 DOM。

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

WebAssembly (2017年三月)

WebAssembly(縮寫為Wasm)是基于堆棧的虛擬機(jī)的二進(jìn)制指令格式。Wasm 被設(shè)計(jì)為可移植目標(biāo),用于編譯高級(jí)語言(如  C/C++/Rust),從而可以在Web上為客戶端和服務(wù)器應(yīng)用程序進(jìn)行部署,前驅(qū)技術(shù)是來自Mozilla和Google Native  Client的asm.js。

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

OpenJS Foundation (2019年3月12日)

眾所周知,Node.js 和 JavaScript  有著千絲萬縷的關(guān)系,也有著很多的合作,但他們屬于不同的fondation,辦起事來非常不方便,所以有必要將這兩個(gè)基金會(huì)合并以提高效率了。于是,在2019年3月13日,Node.js基金會(huì)  和 JS基金會(huì) 宣布合并為 OpenJS基金會(huì)。

OpenJS Foundation的主要目標(biāo)是:

  • 促進(jìn)關(guān)鍵JavaScript和Web解決方案及相關(guān)技術(shù)的廣泛采用和持續(xù)開發(fā);

  • 促進(jìn)JavaScript開發(fā)社區(qū)中的協(xié)作;

  • 在整個(gè)端到端JavaScript生態(tài)系統(tǒng)中為開源項(xiàng)目創(chuàng)建重心,指導(dǎo)它們邁向開放治理和多樣化的協(xié)作者基礎(chǔ);

  • 托管基礎(chǔ)結(jié)構(gòu)以支持托管的JavaScript開源項(xiàng)目;

  • 通過推進(jìn)項(xiàng)目和戰(zhàn)略合作伙伴關(guān)系,來建立一個(gè)開放和可訪問的網(wǎng)站。

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

Deno (2020年5月13日)

Den o是一個(gè)基于V8  JavaScript引擎和Rust編程語言的JavaScript和TypeScript運(yùn)行時(shí)。它是由Node.js的原作者Ryan  Dahl創(chuàng)作的。這是他在JSConf 2018年歐盟會(huì)議上發(fā)表的題為**“10 Things I Regret About  Node.js”**的演講中宣布的。Deno 在單個(gè)可執(zhí)行文件中明確承擔(dān)了運(yùn)行時(shí)和包管理器的角色,而不需要單獨(dú)的包管理程序。

對(duì)于JavaScript的未來,有一件事很清楚:協(xié)作是關(guān)鍵?!盀g覽器大戰(zhàn)”已經(jīng)過去了,用戶和開發(fā)人員都不想重溫由于缺乏互操作性而帶來的問題。幸運(yùn)的是,開源已經(jīng)盛行,并代表著JavaScript語言和社區(qū)的開發(fā)和治理的前進(jìn)之路。

上述就是小編為大家分享的JavaScript 25年來的歷史進(jìn)程是怎樣的了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI