自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JavaScript 地位不保!WasmGC 將成為下一個(gè)“網(wǎng)紅”?

原創(chuàng) 精選
開發(fā) 架構(gòu)
與 JavaScript 不同,Wasm 代碼可以針對(duì)各種硬件架構(gòu)進(jìn)行編譯,從而確保了跨不同設(shè)備和平臺(tái)的可移植性。此外,它支持多種編程語言,允許它們之間進(jìn)行無縫交互。

整理 | 太冷不穿格子衫 

出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)

早在 2017 年,主流瀏覽器都已經(jīng)支持 WebAssembly。隨著 WebAssembly 的蓬勃發(fā)展,各種編程語言也在增加對(duì)它的支持。2021 年,WebAssembly 開源項(xiàng)目開始支持 WasmGC(垃圾回收),為實(shí)現(xiàn) WebAssembly 支持像 Java、Kotlin 這樣的前端語言做準(zhǔn)備。同年,Kotlin 程序語言開發(fā)團(tuán)隊(duì)更新了發(fā)展路線,其中的一個(gè)重點(diǎn)就是增加 WebAssembly 支持。

近日,谷歌在Chrome中啟用了WebAssembly的垃圾回收功能,這一舉動(dòng)很可能成為一個(gè)風(fēng)向標(biāo),引領(lǐng)更多 Web 開發(fā)人員使用WasmGC。

WasmGC 到底有多厲害?能讓連續(xù) 11 年被評(píng)為最流行開發(fā)語言的 JavaScript “地位不?!??WebAssembly 允許開發(fā)人員使用 JavaScript 以外的高性能編程語言來開發(fā) Web 應(yīng)用程序。Wasm 中的垃圾回收功能更是“錦上添花”,可以讓虛擬機(jī)自動(dòng)管理內(nèi)存,一定程度上減輕了開發(fā)人員的負(fù)擔(dān),讓他們更加專注于 Web 應(yīng)用程序核心功能的開發(fā)。

軟件開發(fā)人員Eloff在X上發(fā)帖稱:“WebAssembly GC意義非凡,可以脫離 Web 端,在搭載了不同硬件和操作系統(tǒng)的各個(gè)平臺(tái)運(yùn)行,真正實(shí)現(xiàn)了“一次編譯,多處運(yùn)行”。

1、WasmGC 到底有多厲害

將語言移植到新的體系結(jié)構(gòu)通常需要重新編譯 VM,作為一項(xiàng)新技術(shù),WasmGC 允許開發(fā)人員定義結(jié)構(gòu)體和數(shù)組類型并執(zhí)行操作,例如創(chuàng)建它們的實(shí)例、讀取和寫入字段、在類型之間進(jìn)行轉(zhuǎn)換等。

這些對(duì)象由 Wasm VM 自己的 GC 實(shí)現(xiàn)來管理,這是該方法與傳統(tǒng)移植方法之間的主要區(qū)別。如果傳統(tǒng)的移植方法是將一種語言移植到一種架構(gòu),那么 WasmGC 方法與如何將一種語言移植到一個(gè)虛擬機(jī)非常相似。例如,如果你想將 Java 移植到 JavaScript,那么可以使用像 J2CL 這樣的編譯器,它將 Java 對(duì)象表示為 JavaScript 對(duì)象,然后這些 JavaScript 對(duì)象就像所有其他對(duì)象一樣由 JavaScript VM 管理。

WasmGC 比傳統(tǒng)的 WasmMVP 移植優(yōu)先級(jí)更高,并能夠與目標(biāo) VM 進(jìn)行更緊密的集成。WasmGC 與之前編譯為線性內(nèi)存的方法 (WasmMVP) 相比,可以實(shí)現(xiàn)更好的優(yōu)化:

  • 在編譯時(shí)和運(yùn)行時(shí)進(jìn)行優(yōu)化,例如間接調(diào)用的推測內(nèi)聯(lián)。性能測量結(jié)果表明,推測性內(nèi)聯(lián)可使編譯后的 Java 代碼顯著提速 30%。
  • WasmGC 比 WasmMVP 更可優(yōu)化,因?yàn)樗诟呒?jí)別上運(yùn)行,跟蹤對(duì)象引用。
  • 雖然 WasmGC 可能需要在某些語言的語義上做出妥協(xié),但它可以提供更小的代碼大小和更好的性能等好處。

2、JavaScript“地位不保”

在 WebAssembly 出現(xiàn)之前,JavaScript 是少數(shù)可用于開發(fā) Web 應(yīng)用程序的編程語言之一,擁有超過63%的用戶,它是現(xiàn)代 Web 開發(fā)的基礎(chǔ),提供了易用性、廣泛的支持以及與瀏覽器 DOM 的無縫集成。但它并非那么完美,尤其在應(yīng)對(duì)復(fù)雜程序的開發(fā)時(shí),會(huì)顯得有點(diǎn)“力不從心”。

HackerNews 上的一位用戶表示:“JavaScript 似乎不再是唯一的’寵兒‘了?!?/p>

這種說法不無道理。畢竟在 Web 開發(fā)過程中,無論是性能還是速度,WasmGC 都明顯略勝一籌。

首先,與 JavaScript 相比,Wasm 由 C 和 C++等語言編譯而來,使得它的執(zhí)行速度更快;其次,WebAssembly 對(duì)于各種平臺(tái)有很強(qiáng)的適應(yīng)性,確保了它的可移植性;此外,WebAssembly 中的沙盒環(huán)境通過將其與其他瀏覽器組件隔離來提高安全性,彌補(bǔ)了 JavaScript 有潛在安全隱患的短板。

WebAssembly 的垃圾回收功能是在 2017 年提出的。然而,大部分工作是在過去三年完成的。隨著越來越多的用戶使用 WebAssembly ,Chrome、Edge 和 Firefox 都將 WebAssembly 作為默認(rèn)選項(xiàng)。

與 JavaScript 不同,Wasm 代碼可以針對(duì)各種硬件架構(gòu)進(jìn)行編譯,從而確保了跨不同設(shè)備和平臺(tái)的可移植性。此外,它支持多種編程語言,允許它們之間進(jìn)行無縫交互。

Wasm 主要在沙盒環(huán)境中執(zhí)行,這樣就與主瀏覽器線程隔離開來,通過限制對(duì)系統(tǒng)資源的未經(jīng)授權(quán)的訪問來提高安全性。這是兩種語言之間的主要區(qū)別。而且大多數(shù)網(wǎng)絡(luò)攻擊都發(fā)生在瀏覽器上,Wasm 也更具安全優(yōu)勢。Wasm 代碼還通過不可讀的隱蔽性提高了安全性,這使得攻擊者更難以對(duì)代碼進(jìn)行逆向工程,從而更難以發(fā)現(xiàn)和利用漏洞。

JupiterOne首席信息安全官Sounil Yu表示:“Wasm的指令集有限,而且有更好的內(nèi)存管理,這有助于減少漏洞,比如緩沖區(qū)溢出。”

2022 年的調(diào)查表明,67% 的受訪者經(jīng)常使用 WebAssembly,相比 2021 年的 47% 有了大幅提升。如今,WebAssembly 主要用于構(gòu)建流量最大的站點(diǎn),WasmGC 的出現(xiàn)無疑會(huì)推動(dòng)WebAssembly 的普及和發(fā)展。

參考鏈接:

https://analyticsindiamag.com/how-wasmgc-will-change-the-developer-experience/

https://zhuanlan.zhihu.com/p/606835492

https://zhuanlan.zhihu.com/p/665119591

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2015-09-14 13:57:22

大數(shù)據(jù)科技革命

2012-08-03 16:28:35

2012-01-13 09:58:27

2021-12-27 14:12:52

元宇宙VR平行時(shí)空

2014-11-27 14:47:23

互聯(lián)網(wǎng)企業(yè)玩具行業(yè)Google

2014-01-14 09:45:03

Android 5.0谷歌Android 4.4

2010-09-16 09:49:48

2018-07-19 13:04:59

網(wǎng)盤

2022-04-29 14:58:59

元宇宙Web3工具

2018-07-02 04:50:11

2018-05-23 10:34:45

超云數(shù)據(jù)中心轉(zhuǎn)型

2019-01-23 11:07:32

蘋果諾基亞iPhone

2017-12-08 15:16:12

區(qū)塊鏈

2021-01-15 10:29:49

智能家居物聯(lián)網(wǎng)IOT

2012-03-06 10:09:51

2016-01-04 15:09:14

VR智能電視

2011-09-02 09:33:48

Vmwarevsphere5虛擬機(jī)

2011-09-02 09:33:48

Vmwarevsphere5虛擬機(jī)

2017-11-07 06:45:28

5G光通信光纖

2013-01-22 17:41:09

NFC移動(dòng)支付藍(lán)牙
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)