成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

2023 年 WebAssembly 現(xiàn)狀:第四種 Web 語言

開發(fā) 前端
WebAssembly 是一種可移植、低級別的字節(jié)碼語言,旨在提供一種通用的編譯目標(biāo),以允許在 Web 上執(zhí)行高性能計算密集型應(yīng)用程序。它是一種新型的虛擬機技術(shù),可以在所有主要的 Web 瀏覽器中運行,并且還可以在其他環(huán)境中使用。

2023 年度 WebAssembly 現(xiàn)狀調(diào)查結(jié)果出爐,下面就來看看 2023 年的 WebAssembly 發(fā)展的怎么樣了!

WebAssembly 是一種可移植、低級別的字節(jié)碼語言,旨在提供一種通用的編譯目標(biāo),以允許在 Web 上執(zhí)行高性能計算密集型應(yīng)用程序。它是一種新型的虛擬機技術(shù),可以在所有主要的 Web 瀏覽器中運行,并且還可以在其他環(huán)境中使用。


WebAssembly 通過在 Web 瀏覽器中嵌入本地代碼模塊,能夠直接訪問底層系統(tǒng)硬件,實現(xiàn)了快速加載和執(zhí)行的特性,因此被廣泛認(rèn)為是未來 Web 應(yīng)用的基礎(chǔ)技術(shù)之一。WebAssembly 可以與 JavaScript 和其他 Web 技術(shù)協(xié)同工作,使開發(fā)人員能夠使用多種編程語言來構(gòu)建在線應(yīng)用,并且具備高效、跨平臺的特點。


WebAssembly 于 2019 年 12 月 5 日成為萬維網(wǎng)聯(lián)盟(W3C)的推薦標(biāo)準(zhǔn),與 HTML,CSS 和 JavaScript 一起成為 Web 的第四種語言。

下面是本次調(diào)查結(jié)果概覽:

  • Rust 和 JavaScript 的使用量持續(xù)增加,但一些更顯著的變化:Swift 和 Zig 的采用率都顯著增加。
  • 當(dāng)談到開發(fā)者所“渴望使用”的編程語言時,Zig、Kotlin和C#等語言的受歡迎程度超過了它們目前的實際使用率。
  • WebAssembly 仍然最常用于 Web 應(yīng)用開發(fā),但 Serverless 正在持續(xù)興起,使用 WebAssembly 作為插件環(huán)境的使用也在增加。
  • 線程、垃圾回收和相對較新的組件模型提案是人們最感興趣的 WebAssembly 發(fā)展方向。
  • 對于 WASI(WebAssembly 系統(tǒng)接口),最受關(guān)注的是 I/O 提案(如 HTTP、文件系統(tǒng))。
  • 開發(fā)者對 WAI 發(fā)展的滿意度明顯低于對 WebAssembly 發(fā)展的滿意度。
  • 開發(fā)者希望 WebAssembly 能夠兌現(xiàn) Java 最初做出的“一次編寫,到處運行”的承諾。

語言

在開發(fā)時利用 WebAssembly 的應(yīng)用時使用或嘗試過使用的語言統(tǒng)計如下:

Rust 連續(xù)第三年成為 WebAssembly 最常用的語言。Rust 一直非常適合 WebAssembly;它是一種廣泛流行的現(xiàn)代系統(tǒng)級語言(Stack Overflow 連續(xù)七年顯示它是最受歡迎的語言),它也恰好是一種用于編寫 WebAssembly 運行時和平臺的流行語言。

JavaScript 是第二廣泛使用的編程語言。盡管無法直接將 JavaScript 編譯為 WebAssembly,但可以通過將 JavaScript 代碼運行時編譯為 WebAssembly 來實現(xiàn)在 WebAssembly 中執(zhí)行 JavaScript 代碼的方式。在這種方法中,代碼將在 WebAssembly 托管的解釋器中運行。盡管可能會犧牲一些性能,但出人意料地實用,并且越來越受歡迎。雖然可能無法從速度上獲得優(yōu)勢,但確實可以受益于 WebAssembly 的安全性和隔離性。

下圖顯示了長期趨勢,將最近三次調(diào)查的結(jié)果進行比較,列出了每種語言的使用百分比(經(jīng)常或偶爾使用),排除使用率低于10%的語言。

Rust 和 JavaScript 的使用率正在增加,但還有一些更顯著的變化:Swift 和 Zig 的采用率均顯著增加。

Swift 是 WebAssembly 生態(tài)系統(tǒng)中相對較新的成員,始于幾年前對 Apple Swift 存儲庫的拉取請求以添加 wasm 目標(biāo)。然而,盡管多年來進行了多次提交,但該 PR 尚未合并。

雖然Swift和Rust都是相對較新的語言(分別于2014年和2015年誕生),但Zig則更為年輕,于2016年出現(xiàn),比WebAssembly(WebAssembly于2017年發(fā)布了第一個MVP版本)早一年。

今年,我們在調(diào)查中添加了一個新問題,旨在了解與 WebAssembly 相關(guān)的專業(yè)關(guān)系。我們的目標(biāo)是將積極開發(fā) WebAssembly 工具或平臺的人員與最終用戶的響應(yīng)分開。通過將這兩組分離,可以看到以下語言的偏好情況:

正如預(yù)期的那樣,工具開發(fā)人員對 Rust 有著強烈的偏好,并且也喜歡直接使用 WAT(WebAssembly 文本格式)對 WebAssembly 進行編程。開發(fā)者對 Go 和 Python 也有強烈的偏好。

對于問題“未來想使用哪些語言來開發(fā)利用WebAssembly的應(yīng)用”,統(tǒng)計結(jié)果如下:

Rust 再次名列前茅,反映了年度 Stack Overflow 調(diào)查的結(jié)果,其次是JavaScript。然而,使用頻率較低的 Zig 是第三個最受歡迎的語言。

通過繪制每種語言的差異,即“經(jīng)常使用”的回答數(shù)量和“希望大量使用”的回答數(shù)量之間的差距,可以看出在受歡迎程度與使用率之間有著最大差異的語言:

可以看到,Zig、Kotlin 和 C# 的受歡迎程度超過了當(dāng)前的使用率,C++、JavaScript 和 WAT 的當(dāng)前的使用率超過了受歡迎程度。

運行時

考慮到WebAssembly在非瀏覽器環(huán)境下的使用正在增加,探索正在使用哪些運行時或者僅僅是聽說過哪些運行時很有意思。這次調(diào)查只問了一個問題:“你聽說過或使用過哪些運行時?結(jié)果如下:

wasmtime,來自于字節(jié)碼聯(lián)盟(Bytecode Alliance),是最廣泛使用的運行時,而由一家初創(chuàng)公司開發(fā)的 wasmer 排名第二。Wazero 是一個新成員,它是一個基于 Go 語言構(gòu)建的最近發(fā)布的運行時。

實際應(yīng)用

使用 WebAssembly 的目的如下:

Web 應(yīng)用開發(fā)仍然處于領(lǐng)先地位,但差距正在縮小。下圖顯示了同比趨勢:

Serverless 正在持續(xù)增長,但可能最引人注目的轉(zhuǎn)變是WebAssembly作為插件環(huán)境的使用。以下是一些實際應(yīng)用的例子:

  • Zellij是一個面向開發(fā)者的終端工作空間,它采用了WebAssembly插件模型。
  • Microsoft Flight Simulator 允許將附加組件編寫為 wasm 模塊。
  • Envoy 和 Istio 有一個 Wasm Plugin API
  • Lapce,一個用 Rust 編寫的新 IDE,有一個基于 WASI 的插件系統(tǒng)。

在每種情況下,平臺(終端、編輯器、代理)都從允許最終用戶使用多種編程語言擴展功能的能力中受益,并且這些功能在一個安全而隔離的環(huán)境中運行。換句話說,如果有人編寫了一個行為不端或性能較差的插件,對平臺本身的影響將被最小化。

受訪者所在組織采用 WebAssembly 的狀況如下:

從上圖中可以看到,41% 的受訪者正在生產(chǎn)中使用 WebAssembly,還有 28% 的受訪者正在試點或計劃在明年使用它。

該調(diào)查還探討了 WebAssembly 需要什么來幫助推動進一步采用:

被最頻繁提及的需求是通過 WASI(WebAssembly系統(tǒng)接口)來改善非瀏覽器集成。WebAssembly 規(guī)范并未定義任何主機集成點,無論是如何訪問 DOM 還是與主機運行時交換數(shù)據(jù)(例如在瀏覽器中將值傳遞給 JavaScript)。WASI正填補這一空白,但目前還沒有完整的解決方案。

更好的調(diào)試支持緊隨其后,隨著人們使用 WebAssembly 開發(fā)越來越復(fù)雜的解決方案,這一點將變得更加重要。

特性

WebAssembly(由W3C管理)和WASI(由W3C WebAssembly社區(qū)組的子機構(gòu)管理)都在不斷發(fā)展,有一系列新功能遵循標(biāo)準(zhǔn)的5階段提案過程。

關(guān)于 WebAssembly 提案,以下是最需要的:

線程、垃圾收集和異常處理在去年的結(jié)果中均名列前茅,并且這三者都處于提案生命周期的實施(第 3 階段)或標(biāo)準(zhǔn)化(第 4 階段)。這意味著它們已準(zhǔn)備好使用,并且接近完成。

組件模型是一個處于早期階段的提案(第 1 階段),其目標(biāo)是使在運行時以任何語言編寫的 wasm 模塊變得更加容易。

關(guān)于 WASI 提案,以下是最需要的:

四個最重要的提案都與 I/O 相關(guān),可見,創(chuàng)建 WebAssembly 模塊與外界通信的標(biāo)準(zhǔn)方式是當(dāng)務(wù)之急。

受訪者對 WebAssembly 和 WASI 的發(fā)展的滿意度如下:

有很多人對這個情況表示不滿意,這一點并不令人意外,以開放透明的方式演化的規(guī)范,涉及很多利益相關(guān)者,并不容易,并且需要時間。

不過,這個結(jié)果不應(yīng)被用作直接批評 WASI 和 WebAssembly 團隊所做出的出色努力。人們對 WASI 演進的不滿可能只是對這項技術(shù)熱情的反映,這并不是一件壞事。

小結(jié)

最后,來總結(jié)一下受訪者對 WebAssembly 最興奮的點:

  • 可移植性和在不同平臺上運行代碼的能力。
  • 不同語言和Web之間的互操作性。
  • 本地性能和效率。
  • 訪問現(xiàn)有代碼和庫的能力。
  • 新語言和工具的潛力。
  • 安全性和沙箱功能。
  • 替代容器并在瀏覽器中運行復(fù)雜堆棧的能力。
  • 通用二進制格式的潛力。
  • 編寫一次,在任何地方運行的機會。
  • 提高性能和速度。
  • 組件模型和代碼重用的能力。
  • 減少或消除對JavaScript的依賴。
  • 在語言選擇上更靈活、多樣化的選擇。
  • 插件系統(tǒng)的潛力。
  • 在瀏覽器中運行復(fù)雜應(yīng)用程序的潛力。
責(zé)任編輯:姜華 來源: 前端充電寶
相關(guān)推薦

2012-07-30 09:54:03

CaaS云計算協(xié)作即服務(wù)

2022-12-06 11:53:42

電信行業(yè)

2023-11-06 08:41:31

JavaScript應(yīng)用程序

2021-10-24 08:37:18

網(wǎng)絡(luò)監(jiān)控網(wǎng)絡(luò)架構(gòu)網(wǎng)絡(luò)

2021-07-26 22:33:41

切片結(jié)構(gòu)體代碼

2022-12-09 00:09:10

編程語言開發(fā)人員通信

2011-07-13 15:47:58

C

2019-10-24 07:42:28

Java引用GC

2017-07-06 15:40:19

DevOps核心能力

2022-08-01 07:56:23

React Hook開發(fā)組件

2012-09-11 09:55:26

編程HTML5編程能力

2014-12-25 09:41:15

Android加載方式

2021-12-22 09:34:01

Golagn配置方式

2011-03-16 09:05:53

NATiptables

2009-12-09 11:03:45

安裝Linux

2013-07-29 10:10:40

TCP協(xié)議TCP定時器TCP

2010-03-24 19:09:43

Python語言

2024-10-09 23:27:08

語言模型LLM機器學(xué)習(xí)

2023-09-16 19:11:49

2010-08-05 13:44:12

Flex布局
點贊
收藏

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

主站蜘蛛池模板: 视频精品一区二区三区 | 中文字幕一级 | 伊人爽 | 一级a性色生活片久久毛片 一级特黄a大片 | 91精品国产欧美一区二区 | 亚洲国产精品激情在线观看 | 久久国产精品一区二区三区 | 久久91 | 黄网免费 | 日韩精品一区在线 | 免费在线观看一区二区三区 | 精品国产乱码久久久久久蜜退臀 | 久久久久久综合 | 农村真人裸体丰满少妇毛片 | 亚洲精品乱 | 伊人久久大香线 | 中文字幕一区二区三区四区五区 | 亚洲精品一区二区冲田杏梨 | 中文字幕一区在线观看视频 | 欧美日韩久久久 | 国产美女一区二区 | japan25hdxxxx日本 做a的各种视频 | 国产第1页| 中文字幕第二十页 | 国产亚洲一区二区三区 | 一级毛片在线播放 | 免费视频一区二区 | 久久88 | 九九亚洲| 日韩一二区在线 | 日日骚av | 午夜黄色| 国产激情一区二区三区 | 在线欧美一区二区 | av官网在线 | 在线视频a | 天堂在线中文字幕 | 国产精品激情 | 国产欧美视频一区二区三区 | 国产农村妇女精品一区 | 国产成都精品91一区二区三 |