首頁 >web前端 >前端問答 >WebAssembly是什麼? WebAssembly的簡單了解

WebAssembly是什麼? WebAssembly的簡單了解

青灯夜游
青灯夜游原創
2019-03-20 17:11:1516719瀏覽

WebAssembly,簡稱wasm,是一種運行在現代網路瀏覽器中的新型程式碼,一種以安全有效的方式運行可移植程式的新技術,主要針對Web平台。以下這篇文章就來帶大家了解WebAssembly,希望對大家有幫助。

WebAssembly是什麼? WebAssembly的簡單了解

什麼是WebAssembly?

WebAssembly或wasm是用於瀏覽器內客戶端腳本的低階、可移植的字節碼格式,是一種運行在現代網頁瀏覽器中的新型程式碼、並且提供新的效能特性和效果,對於瀏覽器下載和載入是有效的。

它是為諸如C、C 和Rust等低階原始語言提供一個高效的編譯目標而設計的。

實際上,WebAssembly是由現有JavaScript引擎背後的瀏覽器開發人員實現的。從本質上講,它旨在將JavaScript替換為Web上編譯器和轉換器的目標。例如,不用將TypeScript編譯為JavaScript,它的開發人員現在可以編譯為WebAssembly。簡而言之,它不是新的虛擬機,它是每個瀏覽器中包含的相同JavaScript VM的新格式。這樣就可以在不使用JavaScript的情況下利用現有的JavaScript基礎架構。

為什麼要有WebAssembly?

#如果只是想讓C,C ,Java等原生語言編寫的模組運行在瀏覽器上。我們只需要一個轉換器,將來源語言轉換為目標語言JavaScript。

而對WebAssembly來說,它可將C,C ,Java等原生語言直接編譯為機器碼,省略了轉換器。大大提高了效率。

瀏覽器透過增加一種語言格式的編譯支持,來實現執行效率的突破。

WebAssembly除了運作快之外,其特殊的二進位表示法也大大減小了程式碼包的大小。同時提升了瀏覽器的載入速度。

WebAssembly的優點:

#1、快速、有效率

WebAssembly是一種可移植的字節碼格式,字節碼以二進制格式傳輸,由於模組的結構,可以透過瀏覽器並行編譯,以便進一步加快速度,使其能夠以接近原生性能的速度運行。它是為諸如C、C 和Rust等低階原始語言提供一個高效的編譯目標而設計的。

2、可移植性

可以將Webassembly移植到其他平台。這意味著,如果用編譯為WebAssembly的語言編寫軟體,就能夠在.NET上運行它。它允許我們重複使用Web上現有的JavaScript基礎結構。

WebAssembly程式碼在不同平台上能夠以接近本地速度運行。

3、可讀、可偵錯

WebAssembly是一種低階的類別組合語言,但是它設計了一個非常規整的、人類可讀的文字格式,這允許透過手動來編寫程式碼,查看程式碼以及偵錯程式碼。

4、安全性

WebAssembly運行在一個沙箱化的執行環境中,甚至可以在現有的 JavaScript 虛擬機器中實現。在web環境中,WebAssembly將會嚴格遵守同源策略以及瀏覽器安全策略。

【相關文章推薦】

GraphQL是什麼? GraphQL的優點與缺點

以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !

以上是WebAssembly是什麼? WebAssembly的簡單了解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn