午夜视频在线观看你懂的-国产对白videos高潮内射-成人国产一区二区三区av-亚洲欧美中文日本在线视频

前端教程
當(dāng)前位置: 主頁(yè) > 資訊 > 前端教程
25 歲的 JavaScript 都經(jīng)歷了什么?
發(fā)布日期:2023-07-21 閱讀次數(shù):

  Java 于 25 年前(1995 年 12 月 4 日)首次向公眾推出。Java 最初開發(fā)僅用了 10 天時(shí)間,便迅速成為最受歡迎的編程語言之一,如今全球有數(shù)百萬的開發(fā)人員每天都在使用它。

  2020 年是它的 25 周年紀(jì)念日——對(duì)于這個(gè)已經(jīng)成為最受歡迎的編程語言之一,這無疑是一偉大里程碑。

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

  Java 對(duì) Web 的影響是巨大的??萍季揞^也已經(jīng)擁抱了 JS。除了 Google 的 V8,還有很多開源項(xiàng)目,例如 Facebook 的 React 和 Google 的 Angular,他們有助于在智能手機(jī)和桌面上推廣網(wǎng)絡(luò)應(yīng)用程序。

  Cory House 是開發(fā)人員培訓(xùn)網(wǎng)站 Pluralsight 的一名 Java 教育工作者。他回憶說,早期的 Java很難確定是否能成功。

  “Java 是幾天內(nèi)就完成了,最初只在一個(gè)瀏覽器中使用。微軟的第一個(gè)瀏覽器附帶了他們自己風(fēng)格的 Java 叫 J。今天,Java 還被用于構(gòu)建桌面應(yīng)用、移動(dòng)設(shè)備應(yīng)用、健身追蹤器、機(jī)器人和眾多嵌入式系統(tǒng)。它甚至是詹姆斯·韋伯太空望遠(yuǎn)鏡的一部分。這個(gè)望遠(yuǎn)鏡使用 Nombas 的 ES1 級(jí)嵌入式 Java,應(yīng)用于板載控制軟件部分?!盋ory House回憶道。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  杰西·詹姆斯·加勒特(Jesse James Garrett)創(chuàng)造了 AJAX(異步 Java + XML)一詞,用以描述新興 Web 應(yīng)用程序(如 GMail 和 Google Maps)背后的異步技術(shù),該技術(shù)允許網(wǎng)頁(yè)動(dòng)態(tài)更改內(nèi)容而無需重新加載。

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

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

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

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

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

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

  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ù)量的頁(yè)面并在以后更新它們-無需重建整個(gè)站點(diǎn)。

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

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

  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。

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

  對(duì)于 Java 的未來,有一件事很清楚:協(xié)作是關(guān)鍵。“瀏覽器大戰(zhàn)”已經(jīng)過去了,用戶和開發(fā)人員都不想重溫由于缺乏互操作性而帶來的問題。

  幸運(yùn)的是,開源已經(jīng)盛行,并代表著 Java 語言和社區(qū)的開發(fā)和治理的前進(jìn)之路。返回搜狐,查看更多