精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

實驗進行中:.NET WebAssembly支持

責任編輯:editor004

作者:David Iffland

2017-12-13 11:23:40

摘自:INFOQ

目前四大主流瀏覽器都默認支持WebAssembly,而 NET社區也在繼續推動為 NET開發者提供相關能力,來將他們的代碼編譯成WebAssembly,然后在瀏覽器上運行。

目前四大主流瀏覽器都默認支持WebAssembly,而.NET社區也在繼續推動為.NET開發者提供相關能力,來將他們的代碼編譯成WebAssembly,然后在瀏覽器上運行。

WebAssembly是一種二進制web格式,旨在以接近原生的性能運行不是用JavaScript語言編寫的應用。目前,C、C++和Rust都可以通過基于LLVM的工具鏈來編譯成wasm格式。這些語言編譯成原生代碼,然后可以在沒有任何附加代碼的情況下運行。當然,.NET通常需要一個運行時平臺來執行代碼,因此在瀏覽器中使用它在理論上是可行的,只是需要一些額外的工作來讓它更高效地運行。

其中一個非常可能實現.NET WebAssembly的項目,是被Steve Sanderson稱作Blazor的項目,雖然它還只是一個進行中的實驗,遠遠沒有生產價值。Blazor在Mono運行時平臺上,運行被編譯成wasdm格式的.NET代碼。目前,這導致一個“Hello World”應用的負載比預期中要大,Sanderson說:

自從遷移到Mono運行時平臺,新的Blazor應用就變得很龐大(大約4MB)。這是因為Mono上的WASM還沒有進行任何無效代碼剝離和壓縮,并且打包了一個非常大的運行時庫。這個運行時庫包括許多桌面相關的功能,但這些功能是與web無關的。我期望,一個面向web優化過的生產應用,能夠減小到接近300KB的大小。

這個項目的混合編譯模型,已經在2017年11月1日合并到Mono項目。

另外一種可能適合.NET的方法,類似于現有的原生代碼編譯方法,即靜態編譯組合成wasm的代碼。這些代碼包括Mono C 運行時平臺和開發者的.NET代碼。截至本文撰寫時,一個使用這種方式的樣本應用,會向用戶計算機下載10MB代碼。相比之下,加載一次最近的Twitter.com完整頁面會下載超過7MB的內容,而訪問一次最近的Amazon.com會下載8.9MB的內容。據Miguel de Icaza所說,這個大小應該會隨著時間推移而減少:

一旦我們使用一種定制的概要文件,這個大小應該會明顯減少。這種定制的概要文件基于移動端的概要配置文件,并且移除了許多不必要的功能。

這個項目采用“基于LLVM的實驗性的WebAssembly,LLVM連接器和二進制化工具來生成最終的.wasm代碼”,但是在最近幾個月還沒有更新過。

在官方的CoreRT庫中,也有WebAssembly支持原型。

查看英文原文:.NET WebAssembly Support an Ongoing Experiment

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 清河县| 巴彦县| 噶尔县| 南宁市| 滨海县| 嘉鱼县| 新化县| 西吉县| 昌宁县| 百色市| 会理县| 云南省| 革吉县| 法库县| 尼玛县| 高唐县| 庆阳市| 嘉善县| 和静县| 阳谷县| 栖霞市| 阳山县| 喜德县| 高陵县| 山阳县| 永昌县| 阿克苏市| 泽州县| 阿拉善右旗| 三亚市| 莱阳市| 海南省| 衡阳市| 威信县| 江门市| 恭城| 中西区| 磐安县| 七台河市| 德钦县| 定西市|