WebAssembly - 概述



WebAssembly 是一種用於 Web 的新型計算機程式語言。WebAssembly 程式碼是一種低階二進位制格式,與 Web 相容,並且可以輕鬆地在現代 Web 瀏覽器中執行。生成的文 件大小很小,並且載入和執行速度更快。您現在可以將 C、C++、Rust 等語言編譯為二進位制格式,並且它可以在 Web 上像 javascript 一樣執行。

WebAssembly 的定義

根據 WebAssembly 的官方網站(可在 https://webassembly.org/ 找到),它被定義為 WebAssembly(縮寫為 Wasm)是一種面向棧式虛擬機器的二進位制指令格式。Wasm 被設計為 C/C++/Rust 等高階語言的行動式編譯目標,能夠在 Web 上部署客戶端和伺服器應用程式。

Web Assembly 不是開發人員必須編寫的語言,而是用 C、C++、Rust 等語言編寫程式碼,然後編譯成 WebAssembly (wasm)。相同的程式碼可以在 Web 瀏覽器內執行。

Web Assembly 是一種新的語言,程式碼是低階組合語言,但憑藉其文字格式功能,程式碼具有可讀性,並且如果需要,可以進行除錯。

WebAssembly 的目標

WebAssembly 的開放標準是在一個 W3C 社群組中開發的,該組包括來自所有主要瀏覽器的代表以及一個 W3C 工作組。

WebAssembly 的主要目標如下所示:

  • 更快更高效且更具可移植性 - WebAssembly 程式碼旨在利用可用的硬體在不同的平臺上更快地執行。

  • 易於閱讀和除錯 - WebAssembly 作為一種低階組合語言,支援文字格式,允許您除錯程式碼中的任何問題,並在必要時重寫程式碼。

  • 安全性 - WebAssembly 在 Web 瀏覽器中執行是安全的,因為它負責許可權和同源策略。

WebAssembly 的優勢

以下是 WebAssembly 的優勢:

  • 在現代瀏覽器中執行 - WebAssembly 能夠在可用的現代 Web 瀏覽器上毫無問題地執行。

  • 支援多種語言 - 像 C、C++、Rust、Go 這樣的語言現在可以將程式碼編譯成 WebAssembly,並在 Web 瀏覽器中執行。因此,以前無法在瀏覽器中執行的語言現在可以做到。

  • 更快、更高效且更具可移植性 - 由於程式碼體積小,因此載入和執行速度更快。

  • 易於理解 - 開發人員不必花費太多精力來理解 WebAssembly 編碼,因為他們不必用 WebAssembly 編寫程式碼。相反,將程式碼編譯成 WebAssembly,並在 Web 上執行。

  • 易於除錯 - 儘管最終程式碼是低階組合語言,但您也可以將其轉換為易於閱讀和除錯的文字格式。

WebAssembly 的缺點

以下是 WebAssembly 的缺點:

  • WebAssembly 仍在開發中,現在判斷其未來還為時過早。

  • WebAssembly 依賴於 javascript 與文件物件模型 (DOM) 進行互動。

廣告