webassembly 初探


webassembly是啥?

WebAssembly(縮寫為Wasm,以下稱Wasm)是基於堆棧的虛擬機的二進制指令格式。Wasm被設計為可編程C / C ++ / Rust等高級語言的可移植目標,可在Web上部署客戶端和服務器應用程序。這個是官方介紹,看了有點蒙圈。簡單理解就是,Wasm是一種格式,一個標准。其他編程語言,像是c/c++/rust/go可以編譯成Wasm格式的中間碼。這種中間碼可以高效的運行,你可以通過這種方式,編寫客戶端和服務器程序。

Wasm有什么特點呢?

  1. 高效快捷:使用中間碼的設計,跨平台,以本機速度運行。
  2. 安全:使用沙盒環境,與瀏覽器同源和權限的安全策略。
  3. 打開調試:可以在瀏覽器上調試。
  4. 開放平台的一部分:可以通過javascript調用web API。同時,支持非web嵌入。

那就產生一個問題,Wasm會代替JavaScript么?

毫無疑問JavaScript是web時代最成功的語言。那這個風口上的Wasm能代替它么?答案是否定的,Wasm是強化了客戶端的計算能力,使得客戶端能做更多事情,而這些事情是c端很多軟件都已經做得很好的。而Wasm掉用web API還是通過JavaScript的。可以看出,Wasm是在增強客戶端的功能。而且能夠與JavaScript相互調用,這是在增強JavaScript的功能。當然,JavaScript的地位還是不能代替的。就好像網友評論到,node.js是前端攻占后端,而Wasm就是后端可以攻占前端了。

Wasm能用來干什么?

我們先來看看Wasm的用途介紹 這個是官網上的介紹
Wasm用途
可以看到,一些游戲、視頻、圖像處理。更多的計算放在了Wasm身上,以前JavaScript很難做到的速度,使用Wasm可以輕松做到。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM