什麼是 webAssembly ?

donggg發表於2022-02-22

介紹

webAssembly 是一套執行在瀏覽器上的二進位制機器語言。其具有是小且快的特點。
你可以通過CC++emscirpten)、TypescriptAssemblyScript)、Rustwasm-pack)來編寫 webAssembly

webAssembly 可以直接執行在瀏覽器環境中,也可以執行在node 環境中。

時間線

特點

  • 執行在沙箱,保證了環境隔離,因此可以用於虛擬機器的實現。
  • 高效、可移植,在多個平臺上可執行。

使用場景

瀏覽器環境

  • 一些語言的工具包
  • 遊戲
  • 點對點應用,例如區塊鏈
  • 音樂 APP
  • 圖片處理
  • 遠端桌面
  • 加密
  • 本地 web server

非瀏覽器環境

  • 服務端應用程式
  • 服務端的沙箱環境
  • hybird native app

檢視更多

WebAssembly 關鍵概念

javascriptAPI 中。

  • 模組:編譯後的二進位制檔案,以.wasm 字尾結尾。
  • 記憶體ArrayBuffer,大小可變。WebAssembly 需要手動管理記憶體。WebAssembly 是按照“頁”這個單位來劃分記憶體,一“頁”是 32B(常看到i32就是這個大小)。
  • 表格:帶型別陣列,大小可變。Javascript包裝具有類陣列結構的物件,儲存了多個函式引用。
  • 例項:是 WebAssembly.Module 的一個可執行例項。  例項包含所有的 WebAssembly 匯出函式 ,

參考

相關文章