WebAssembly Runtime現已添加.NET Core API,開發者可直接在.NET應用程序中調用WebAssembly模塊。
Mozilla宣布由Bytecode Alliance創建的Wasmtime(WebAssembly runtime)現已添加處于早期預覽版狀態的.NET Core API,這就意味著開發者可以直接在.NET應用程序中調用WebAssembly代碼。
Bytecode Alliance(字節碼聯盟)是由Mozilla、Fastly、Intel與Red Hat聯合成立的組織,該聯盟旨在通過協作實施標準和提出新標準,以完善WebAssembly在瀏覽器之外的生態。Mozilla提到,.NET Core作為一個跨平臺的Runtime,仍提供對WebAssembly的支持主要三個好處,除了可跨平臺共享更多代碼之外,還能安全地隔離不受信任的代碼,同時憑借著WebAssembly的接口類型(WebAssembly Interface Types),WebAssembly和.NET可相互傳遞復雜類型。
雖然我們能夠使用.NET Core構建跨平臺應用,但如果要使用諸如C或是Rust等原生函數庫,這仍然是十分不方便的操作,因為需要函數庫為每個平臺發布特定函數庫版本。不過有了WebAssembly之后,我們可以將其作為橋梁以簡單滿足上面的需求。原生函數庫可以先編譯成WebAssembly,然后包括.NET Core在內的許多平臺就能使用這些WebAssembly模塊,這將簡化函數庫的發布以及應用程序對這些函數庫的依賴方式。
由于WebAssembly是面向網頁設計的,網頁是一種每次訪問網站(讀/寫數據)都會執行不受信任代碼的環境,WebAssembly模塊只能調用從主機環境明確輸入的外部函數,而且只能在主機分配的內存區域進行讀寫數據,這種沙盒設計方式也能被應用在.NET Core中,以增加安全性。通過支持WebAssembly,.NET Core也能使用沙盒以執行不信任代碼。
另外,Bytecode Alliance力推的WebAssembly接口類型增加了WebAssembly與其他語言的互通性,.NET Core也能從中受益。Mozilla表示,WebAssembly接口類型簡化了應用程序與WebAssembly模塊間來回傳遞復雜類型所需的“膠水代碼”。當Wasmtime的.NET API最終可以對接口類型進行操作,WebAssembly和.NET之間就能夠無縫地傳遞復雜類型。
最后,Wasmtime新增加的這個.NET Core API尚處于預覽階段,Bytecode Alliance成員仍在對其積極開發中,更新將不保證向后兼容。當前目標是讓Wasmtime更為穩定,因此不建議開發者將Wasmtime的.NET Core API用于正式產品開發。
-
net
+關注
關注
0文章
126瀏覽量
56251 -
應用程序
+關注
關注
38文章
3292瀏覽量
57918
發布評論請先 登錄
相關推薦
ANACONDA——關于發布數據應用程序的新簡單方法
![ANACONDA——關于發布數據<b class='flag-5'>應用程序</b>的新簡單方法](https://file1.elecfans.com/web3/M00/06/60/wKgZO2eJ0ZOAHFqhAAAw14br-lU893.png)
適用于MySQL和MariaDB的.NET連接器
![適用于MySQL和MariaDB的.<b class='flag-5'>NET</b>連接器](https://file1.elecfans.com/web3/M00/06/33/wKgZPGeIpRKAdm_mAABHDNRYnSE237.png)
dotConnect:基于ADO.NET架構的增強型數據連接解決方案
![dotConnect:基于ADO.<b class='flag-5'>NET</b>架構的增強型數據連接解決方案](https://file1.elecfans.com/web3/M00/05/0F/wKgZPGd8m3eALzuiAAAnVrbkZKM766.png)
AWTK-WEB 快速入門(2) - JS 應用程序
![AWTK-WEB 快速入門(2) - JS <b class='flag-5'>應用程序</b>](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
AWTK-WEB 快速入門(1) - C 語言應用程序
![AWTK-WEB 快速入門(1) - C 語言<b class='flag-5'>應用程序</b>](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
評論