WebAssembly 旨在完全提升應用程序的性能、安全性和開發人員的生產力。 它用託管容器和細顆粒度的安全模型替換本機代碼。前端
在學習WebAseembly 的過程當中,總會遇到一些問題。這裏選取了關於 WebAssembly 比較典型的幾個問題,一一解答。java
在過去的幾年中,CPU 的速度基本再也不飛速提高。 同時,人工智能、大數據和區塊鏈都對計算能力提出了巨大的要求。 到目前爲止,解決方案是在咱們的軟件中使用愈來愈多的本地代碼。 本機代碼效率高,接近硬件,可以訪問專門的硬件,如 GPU 和人工智能芯片。編程
然而,本機代碼也存在平臺依賴性和安全性等問題。 在過去的30年裏,軟件工程的大趨勢已經從原生代碼轉變爲運行在虛擬機器或容器中的託管代碼。後端
WebAssembly 是下一代虛擬機,它將幫助咱們將本機代碼模塊轉換爲 服務。瀏覽器
WebAssembly 是由 Google,Mozilla,Apple 和 Microsoft 合做發起的。 它一開始的設計目標是一個在瀏覽器內部的高性能代碼執行引擎。 在這個狀況下,它的典型應用是對性能有高要求的的瀏覽器應用,好比動畫遊戲,很像早先的 java applet。安全
然而,和以前的 Java 和 JavaScript 同樣,WebAssembly 在正在大舉向服務器端遷移,並也取得了成功。 Webassembly 的安全性、性能、平臺和語言兼容性,使其成爲理想的服務器端運行環境。服務器
不用。WebAssembly 兼容多語言。 能夠用各類不一樣的主機語言調用 WebAssembly 程序和函數,好比 Javascript、 Rust、 Go、 Python,甚至 PHP。app
您能夠用各類不一樣的編程語言編寫 WebAssembly 程序。 然而,Rust 是目前最普遍用於建立 WebAssembly 程序和模塊的語言。框架
Rust 連續4年被評爲最受你們喜好的編程語言。 它是目前最熱門的編程語言。 它有許多使人激動的特性。好比,它像 c 同樣強大而靈活,可是更加安全,並且沒有 Java 的性能損耗。 它既支持面向對象編程,也支持函數式編程。 它是世界上成長最快的編程語言之一,如今從前端到後端到基礎設施的整個軟件堆棧中都使用它。編程語言
你對 WebAssembly 有什麼疑問呢?歡迎在評論區留言。