WebAssembly得到了所有瀏覽器的支持

責(zé)任編輯:editor004

作者: Kevin Ball

2017-12-18 11:19:13

摘自:INFOQ

隨著9月19日Safari和10月31日Edge的發(fā)布,蘋果與微軟加入了谷歌和Mozilla,在生成環(huán)境瀏覽器中提供了對WebAssembly的支持。

隨著9月19日Safari和10月31日Edge的發(fā)布,蘋果與微軟加入了谷歌和Mozilla,在生成環(huán)境瀏覽器中提供了對WebAssembly的支持。這四家公司的瀏覽器都能運行編譯為wasm二進(jìn)制格式的代碼。

Safari支持WebAssembly的第一個版本是11,而Edge的版本是16。Firefox是第一個發(fā)布支持WebAssembly功能的主流瀏覽器,是于2017年3月7日發(fā)布的52號版本,Chrome緊隨其后,在2017年3月9日發(fā)布的57號版本中包含了對WebAssembly。通過使用其他的高級工具,開發(fā)人員能夠以wasm二進(jìn)制格式來交付代碼,并且可以預(yù)期它能夠支持大多數(shù)的終端用戶。

從2017年3月31日各個主要的瀏覽器廠商就v1版本的規(guī)范達(dá)成共識以來,WebAssembly已經(jīng)取得了巨大的進(jìn)步。不僅在所有的瀏覽器中都得到了實現(xiàn),而且其編譯工具鏈已經(jīng)開始成熟,現(xiàn)在已經(jīng)有人嘗試將WebAssembly集成到像webpack這樣更加標(biāo)準(zhǔn)的Web開發(fā)工具中。

webassembly.org推薦的編譯WebAssembly的工具鏈?zhǔn)荅mscripten。網(wǎng)站上有一個快速的開發(fā)人員指南,MDN上還有更多深入的文檔。這個工具鏈目前可以編譯C、C++或Rust,它首先將代碼編譯為LLVM字節(jié)碼,然后將其轉(zhuǎn)換為asm.js,最后使用asm2wasm編譯工具,此時該工具用到了 WebAssembly二進(jìn)制工具集。通過wasm后端直接實現(xiàn)對純LLVM編譯的支持目前正在進(jìn)行之中并且正在逐漸成熟,在11月20日的一次pull request合并中,Rust成為了第一個使用它的語言。

在傳統(tǒng)的Web開發(fā)工具方面,發(fā)展也是很迅速的。Webpack得到了Mozilla的一個授權(quán),將WebAssembly作為第一等的模塊類型。webpack團(tuán)隊相信讓W(xué)ebAssembly更容易地集成到真正的生產(chǎn)環(huán)境中會推動WebAssembly的實際采用。webpack核心團(tuán)隊的Sean Larkin這樣說:

如果開發(fā)人員、業(yè)務(wù)以及公司不能無縫地將其應(yīng)用于生產(chǎn)環(huán)境,WebAssembly不會進(jìn)步、發(fā)展和演進(jìn)。我們感覺webpack能夠讓人們更容易地使用該技術(shù),并促進(jìn)它的廣泛采用。

隨著工具鏈的改善和更多的支持,行業(yè)在迅速地將web assembly集成到各種領(lǐng)域之中。Mozilla最近的聲明宣布wasm得到了廣泛的支持,所涵蓋的范圍從計算機(jī)視覺到語言探測,以及方方面面。Mozilla的工程師Luke Wagner說:

現(xiàn)在,我們看到人們將WebAssembly用到了各種類型的新項目之中。所以,這意味著,最終會有一天我們將在Web上運行大多數(shù)的程序,其效果就像現(xiàn)在在本地PC上運行那樣。

查看英文原文:WebAssembly Now Supported across All Browsers

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號