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

2023年 WebAssembly 現(xiàn)狀,結(jié)果揭曉真的很吸引人!

開發(fā) 前端
要運行 JavaScript 代碼,需要將運行時編譯為 WebAssembly,并在 WebAssembly 托管的解釋器中運行代碼。這種方法聽起來似乎效率不高,但卻出人意料地實用,而且越來越受歡迎。

WebAssembly 2023的調(diào)查已經(jīng)結(jié)束,結(jié)果揭曉……真的很吸引人!

如果你想要簡短的總結(jié),這里有一些亮點:

  • Rust 和 JavaScript 的使用仍在繼續(xù)增加,但更值得注意的變化發(fā)生在下面—— Swift 和 Zig 的采納率都有了顯著的增長。
  • 與此同時,當(dāng)涉及開發(fā)者“渴望”使用哪種語言時,Zig、Kotlin 和C#的受歡迎程度超過了當(dāng)前的使用情況。
  • WebAssembly 仍然主要用于web應(yīng)用程序開發(fā),但無服務(wù)器技術(shù)的使用仍在增長,而作為插件環(huán)境的 WebAssembly 的使用也在增加。
  • 線程、垃圾回收和相對新的組件模型提議是人們最感興趣的 WebAssembly 發(fā)展方向。
  • 至于 WASI,最受關(guān)注的是I/O提議(例如HTTP、文件系統(tǒng))。
  • 我們可能看到社區(qū)中有些人變得不太耐煩,因為人們對WASI的發(fā)展?jié)M意度明顯低于對WebAssembly`的發(fā)展的滿意度。
  • 許多受訪者表示,他們期望 WebAssembly 能夠?qū)崿F(xiàn) Java 最初提出的“一次編寫,到處運行”的承諾。

語言

第一個問題探討了人們正在使用的語言,即在開發(fā)使用 WebAssembly 的應(yīng)用程序時,你使用或嘗試過使用哪些語言?

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

JavaScript是使用最廣泛的第二種語言,值得注意的是,因為不能將 JavaScript 編譯為WebAssembly。

要運行 JavaScript 代碼,需要將運行時編譯為 WebAssembly,并在 WebAssembly 托管的解釋器中運行代碼。這種方法聽起來似乎效率不高,但卻出人意料地實用,而且越來越受歡迎。

你可能不會獲得速度優(yōu)勢,但確實可以從 WebAssembly 的安全性和隔離性中受益。想要進(jìn)一步了解的話,作者推薦閱讀 Shopify 團(tuán)隊的這篇深入文章,其中描述了他們?nèi)绾沃С钟肑avaScript編寫的'Shopify函數(shù)',這些函數(shù)在WebAssembly平臺上運行。

以下圖表顯示了長期趨勢,比較了過去三次調(diào)查的結(jié)果,顯示了每種語言的使用者比例(頻繁或有時)——排除了<10%使用率的語言。

Rust  JavaScript 的使用正在增加,但其他更值得注意的變化正在下面發(fā)生。Swift 和 Zig 的采納率都有了顯著的增長。

Swift 是 WebAssembly 生態(tài)系統(tǒng)中一個相對較新的成員,它始于幾年前蘋果公司的 Swift repo 上的一個拉取請求,目的是添加一個 wasm 目標(biāo)。然而,盡管多年來提交了無數(shù)次,該請求卻一直未被合并。看起來社區(qū)并不氣餒,他們正在維護(hù)自己的分支。

Swift  Rust 都是相當(dāng)新的語言(分別為 2014 年和 2015 年),而 Zig 則更年輕,它出現(xiàn)于 2016 年,因此比 WebAssembly(其首個 MVP 版本發(fā)布于 2017 年)還要早一年。

今年,作者在調(diào)查中添加了一個新問題,你與 WebAssembly 的專業(yè)關(guān)系如何?目的是將積極開發(fā) WebAssembly 工具或平臺的人員與單純的最終用戶區(qū)分開來。將這兩類人分開后,我們發(fā)現(xiàn)他們對語言的偏好如下:

如預(yù)期,工具開發(fā)者對Rust有很強的偏好,還喜歡直接使用WAT(WebAssembly文本格式)編程WebAssembly。還有對 Go和 Python 的強烈偏好——這是作者沒想到的。

調(diào)查中的下一個問題探討了每種語言有多么受歡迎,問了這樣一個問題:在將來開發(fā)利用WebAssembly 的應(yīng)用程序時,你希望使用哪種語言?

Rust 再次名列榜首,反映了 Stack Overflow 的年度調(diào)查結(jié)果,JavasScript 位居第二。不過,使用頻率較低的 Zig 語言則成為第三大最受歡迎的語言。

將每種語言 "經(jīng)常使用 "的響應(yīng)數(shù)與 "希望經(jīng)常使用 "的響應(yīng)數(shù)之間的Δ值繪制成理想度曲線,我們可以看到哪些語言的理想度與使用率之間的差異最大:

在 Zig、Kotlin 和 C# 的一端,我們可以看到可取性超過了當(dāng)前的使用率,而在另一端,人們更希望少用 C++、JavaScript 和 WAT。

運行時

考慮到基于非瀏覽器的 WebAssembly 使用量在不斷攀升,探索人們正在使用或只是知道哪些運行時是很有趣的,調(diào)查中只問了一個問題:你聽說過或使用過哪些運行時?

Bytecode Alliance 的 wasmtime 是使用最廣泛的運行時,排名第二的是由一家初創(chuàng)公司開發(fā)的 wasmer。Wazero 是該列表中的新成員,它是最近發(fā)布的一款 Go 語言運行時。

WebAssembly 的實際應(yīng)用

調(diào)查問了你目前使用 WebAssembly 來做什么?允許開發(fā)者選擇多個選項并添加自己的建議。以下是所有的回應(yīng),其中“其他”包括只有一個回應(yīng)的所有內(nèi)容:

Web應(yīng)用程序開發(fā)仍居首位,但差距有所縮小。下圖顯示了逐年變化趨勢:

注意:在 2021年/2022 年的調(diào)查中,Serverless 是wasm后端使用的唯一選項。到2023年,這被拆分成兩個不同的類別,因此上述圖表中 Serverless 的虛線。將2023年的兩個選項組合在一起,后端使用會有輕微的增加。

最值得注意的轉(zhuǎn)變是將 WebAssembly 用作插件環(huán)境。以下是一些真實的例子:

  • Zellij 是一個以開發(fā)人員為中心的終端工作區(qū),它有一個 WebAssembly 插件模型。
  • Microsoft Flight Simulator允許你以 wasm 模塊的形式編寫插件。
  • Envoy和Istio都有一個 Wasm 插件API。
  • 用 Rust 編寫的新集成開發(fā)環(huán)境 Lapce 擁有基于 WASI 的插件系統(tǒng)。

在每種情況下,平臺(終端、編輯器、飛行模擬器、代理)都能受益于允許終端用戶在安全和隔離的環(huán)境中使用各種編程語言擴展功能。換句話說,如果有人編寫的插件行為不端或性能不佳,對平臺本身的影響將降到最低。

報告中還詢問了受訪者——你組織的WebAssembly采納的狀態(tài)是什么?

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

調(diào)查還探討了WebAssembly需要哪些幫助來推動進(jìn)一步的應(yīng)用:

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

其次是更好的調(diào)試支持,隨著人們使用 WebAssembly 開發(fā)出更復(fù)雜的解決方案,這一點將變得更加重要。如需了解更多選項,請查看 Shopify 團(tuán)隊的這篇博文。

功能

WebAssembly(由萬維網(wǎng)聯(lián)盟管理)和 WASI(由萬維網(wǎng)聯(lián)盟 WebAssembly 社區(qū)小組的一個子組織管理)都在不斷發(fā)展,并按照標(biāo)準(zhǔn)的 5 階段提案流程積壓了大量新功能。

關(guān)于 WebAssembly 建議,下面列出了最受歡迎的建議:

線程、垃圾回收和異常處理在去年的評選結(jié)果中都名列前茅,這三者在提案生命周期中都處于實施(第 3 階段)或標(biāo)準(zhǔn)化(第 4 階段)階段。這意味著它們已經(jīng)可以使用,并接近最終確定。

組件模型是一項更早期的提案(第 1 階段),其廣泛的目標(biāo)是使在運行時以任何語言編寫的 wasm 模塊的組成更加容易。如果您對細(xì)節(jié)感興趣,我推薦您觀看由該提案的牽頭人 Luke Wagner 播放的視頻。

關(guān)于 WASI 提案,以下內(nèi)容顯示了哪些提案最受歡迎:

最重要的四項建議都與 I/O 有關(guān),簡單地說,為 WebAssembly 模塊創(chuàng)建一種與外界通信的標(biāo)準(zhǔn)方式是當(dāng)務(wù)之急。

最后,執(zhí)行詢問人們對 WebAssembly 和 WASI 的發(fā)展有多滿意:

有很多人對此并不滿意!這一點也不奇怪,因為以公開透明的方式制定有眾多利益相關(guān)者參與的規(guī)范并不容易,而且需要時間。更值得注意的是,人們普遍對 WASI 的發(fā)展不太滿意。

作者想在這里提一個重要的觀點;這個結(jié)果不應(yīng)該直接作為對WASI和WebAssembly團(tuán)隊所做的出色努力的批評。對WASI發(fā)展的不滿可能只是反映了人們對技術(shù)的渴望,這不是一件壞事。

今年早些時候,Wasmer宣布了WASIX,這是他們加速WASI(或它代表的概念)的嘗試,得到了混合的反應(yīng)。

責(zé)任編輯:姜華 來源: 大遷世界
相關(guān)推薦

2015-03-13 10:52:47

智能家居應(yīng)用場景

2019-11-05 09:20:06

SQLiteLinux

2012-08-16 09:39:44

虛擬化

2013-04-08 15:39:15

程序員

2010-02-23 16:21:24

Python Win

2018-10-30 12:44:04

Linux系統(tǒng)內(nèi)存

2018-03-21 11:38:03

硅谷銀行中國企業(yè)投資

2022-04-02 11:26:19

6G通信業(yè)5G

2010-01-20 10:14:53

C++程序

2013-12-11 09:29:02

2023-10-20 10:10:29

Web字節(jié)碼語言

2014-10-24 10:10:33

UbuntuUbuntu 14.1

2017-07-21 16:38:01

云啟資本投資人工智能

2022-11-02 08:55:43

Gofor 循環(huán)存儲

2010-03-10 11:14:56

智能交換機

2010-03-17 14:50:06

智能交換機

2010-08-30 10:37:04

云計算

2010-03-10 16:51:21

以太網(wǎng)交換機

2019-01-21 13:56:52

2016-11-15 09:43:56

大數(shù)據(jù)數(shù)據(jù)工程師
點贊
收藏

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