作者:Lin Clark
編譯:鬍子大哈
翻譯原文:huziketang.com/blog/posts/…
英文原文:A cartoon intro to WebAssembly
轉載請註明出處,保留原文連結以及作者資訊
你可能已經聽說過,WebAssembly 執行的更快。但是 WebAssembly 為什麼執行的更快呢?
在這個系列文章中,我會為你解釋這一點。
等等,什麼是 WebAssembly?
WebAssembly 是除了 JavaScript 以外,另一種可以在瀏覽器中執行的程式語言。所以當人們說 WebAssembly 更快的時候,一般來講是與 JavaScript 相比而言的。
我不會暗示大家開發時對二者的選擇——或者選擇 WebAssembly,或者選擇 JavaScript。實際上,我們更希望在同一個工程中,兩個你同時使用。
對二者的比較倒是非常有必要的,這樣你就可以瞭解到 WebAssembly 所擁有的獨特特性。
一些關於效能的歷史
JavaScript 於 1995 年問世,它的設計初衷並不是為了執行起來快,在前 10 個年頭,它的執行速度也確實不快。
緊接著,瀏覽器市場競爭開始激烈起來。
被人們廣為傳播的“效能大戰”在 2008 年打響。許多瀏覽器引入了 Just-in-time 編譯器,也叫 JIT。基於 JIT 的模式,JavaScript 程式碼的執行漸漸變快。
正是由於這些 JIT 的引入,使得 JavaScript 的效能達到了一個轉折點,JS 程式碼執行速度快了 10 倍。
隨著效能的提升,JavaScript 可以應用到以前根本沒有想到過的領域,比如用於後端開發的 Node.js。效能的提升使得 JavaScript 的應用範圍得到很大的擴充套件。
現在通過 WebAssembly,我們很有可能正處於第二個拐點。
所以,接下來,我們深入瞭解一下為什麼 WebAssembly 更快、執行效率更高。
接下來一系列的文章希望讀者能夠細細品味,仔細閱讀,文章如下:
背景知識:
當前 WebAssembly 的狀況
WebAssembly 的未來
我最近正在寫一本《React.js 小書》,對 React.js 感興趣的童鞋,歡迎指點。