天天看點

浏覽器廠商開始預設支援WebAssembly格式

各浏覽器廠商在webassembly相關的工作上已經達成了一種“共識”,這使得各浏覽器開始預設支援webassembly格式。

早在2016年11月,webassembly就已經進入“浏覽器預覽”(browser preview)階段。在此階段,主流浏覽器都提供了一個具有webassembly開關辨別的測試版本浏覽器。随後的數月時間,各浏覽器廠商需要在javascript api和二進制格式上做改進,并就此取得一緻意見。近期釋出的公告對webassembly做了界定:

如果沒有實作經驗和明确用途,那麼無法對webassembly api和二進制格式的設計做進一步的改進。從這個意義上講,最初的設計工作已經完成。(各浏覽器廠商)就此已達成了共識。

這一共識标志着“浏覽器預覽”階段的結束,意味着各個浏覽器可以預設打開對webassembly格式的支援。由此往後,将來的特性設計會確定向後相容。

雖然這一最初實作是一個重要的裡程碑,但是并不會立刻被開發人員大範圍地采用。盡管未來潛力無限,webassembly目前的語言支援僅限于c和c++,以及對rust的初期支援。webassembly也沒有提供垃圾回收機制,是以c#和java這樣的語言并不能正常運作,除非将它們自身的運作時作為二進制的組成部分。但是以後添加垃圾回收已在讨論中。

此外,webassembly目前缺少與dom互動等重要特性。mozilla工程師lin clark 寫道,雖然“期待了很多的特性”,但是這些特性需要“有一個制定規範的過程”。webassembly社群組已經提供了一個供w3c工作組讨論的未來特性清單,但是這些特性何時可用尚未有時間表。

clark在一系列的文章說明了webassembly會改進性能的原因所在,并指出引入webassembly将會是一個“轉折點”,可導緻無法預料的性能改進,并提供迎接新挑戰的能力。

今後幾年,各浏覽器廠商會在改進jit編譯器性能的同時,繼續改進javascrip和webassembly間的互動。

本文轉自d1net(轉載)

繼續閱讀