WebAssembly或稱wasm是一個實驗性的低階程式語言,應用於瀏覽器內的客戶端。WebAssembly是可攜式的抽象語法樹[1],被設計來提供比JavaScript更快速的編譯及執行[2]。WebAssembly將讓開發者能運用自己熟悉的程式語言(最初以C/C++作為實作目標)編譯,再藉虛擬機器引擎在瀏覽器內執行[3]。WebAssembly的開發團隊分別來自Mozilla、Google、Microsoft、Apple,代表著四大網路瀏覽器Firefox、Chrome、Microsoft Edge、Safari[4]。2017年11月,所有以上四個瀏覽器都開始實驗性的支援WebAssembly[5][6]。
最高指導目標[编辑]
在官方的一個github頁面[7]與說明文件[8]中,闡述了WebAssembly的設計與實作原則,包含:
- 定義一個可移植,具有大小與載入高效率的二進位格式,作為編譯標的。這個編譯標的必須可以被編譯至常見的平台,包含移動端與物聯網,並且可以善用硬體資源、有原生執行碼的執行速度。
- 規格與實作:
- 最初的MVP(Minimum Viable Product)與Asm.js有大略相等的功能,並以C/C++語言為優先;
- 其他額外的特性最初集中在執行緒,零消耗的异常,和SIMD。這些額外的特性先以回饋和實驗為主,包含C/C++以外其他語言的支持。
- 設計可以執行在現有的網路平台之內以及與之整合:
- 保持無版本問題、特色測試、向後相容的網路平台
- 在與Javascript相同的環境中執行
- 允許從Javascript中同步呼叫
- 強化同源(Same-origin)和安全性權限政策
- 允許瀏覽器存取相同功能的Javascript API
- 定義一個可人工讀取,能和二進位格式互換的純文字格式,以支援查看原始碼
- 設計也可以用於非瀏覽器的嵌入式系統
- 製作大平台
- 為WebAssembly建置新的LLVM後端與伴隨的Clang接口(為何是從LLVM開始?)
- 推動其他WebAssembly的編譯器與工具
- 啟用更多有用的工具
下一階段要實作的特色[编辑]
在2017年推出第一個版本後,同時也列出了下一階段將實作的特色[9][10]
其他逐漸被捨棄的網頁用戶端技術與RIA
其他位元組碼
參考資料[编辑]
外部連結[编辑]
網頁技術與標準
|
|
文档呈现语言 |
|
|
样式格式描述语言 |
|
|
动态网页技术 |
|
|
用戶端互動技术 |
|
|
用戶端手稿語言 |
|
|
标识定位语言 |
|
|
文档纲要语言 |
|
|
|
|