WebAssembly已支持所有主流浏览器
Firefox Quantum、Safari、Edge和Chrome一并支持WebAssembly,可以接近原生速度運(yùn)行Web應(yīng)用程序。點(diǎn)擊【閱讀原文】獲取原文地址。
作者:Judy DeMocker
譯者:王鴻蒙
審校:包研
雖然Mozilla已經(jīng)準(zhǔn)備推出旗下最快的瀏覽器Firefox Quantum,但WebAssembly還是有一些值得注意的改進(jìn)——它支持JavaScript與二進(jìn)制文件(“wasm”格式)協(xié)同工作,以接近原生速度運(yùn)行Web應(yīng)用程序。
在過(guò)去的幾周里,蘋果和微軟分別推出了Safari和Edge的新版本,都包括對(duì)WebAssembly的支持。鑒于Mozilla Firefox和Google Chrome此前均已支持WebAssembly,這使得四種主流瀏覽器都可以在web上運(yùn)行編譯為wasm格式的代碼。
“谷歌,蘋果和微軟都在他們的瀏覽器中支持WebAssembly。今天在市場(chǎng)上能獲得這樣的支持是一個(gè)非常令人興奮的進(jìn)展,“Mozilla工程師Luke Wagner說(shuō),他創(chuàng)建了WebAssembly的前身asm.js,并帶頭開(kāi)發(fā)WebAssembly規(guī)范。
對(duì)于開(kāi)發(fā)者來(lái)說(shuō),廣泛的客戶端支持意味著他們可以用WebAssembly開(kāi)展試驗(yàn),因?yàn)榇蠖鄶?shù)終端用戶都默認(rèn)能夠運(yùn)行超快速的wasm模塊。無(wú)處不在的客戶支持推動(dòng)了asm.js的早期成功。由于asm.js是JavaScript的純子集,它無(wú)需修改就可以在任何瀏覽器中運(yùn)行。你可以在Facebook上找到asm.js(http://asmjs.org/)的身影,Candy Crush Saga,Top Eleven和Cloud Raiders等流行的游戲都有它的支持。
不斷提高的標(biāo)準(zhǔn)
WebAssembly有什么大不了的?首先,它正在成為一個(gè)行業(yè)標(biāo)準(zhǔn)。它是一種經(jīng)過(guò)驗(yàn)證的,可以在網(wǎng)絡(luò)上運(yùn)行大型復(fù)雜應(yīng)用程序的方法。它為網(wǎng)絡(luò)開(kāi)發(fā)人員提供了許多前所未有的選擇。例如,你可以:
-
通過(guò)網(wǎng)絡(luò)可以快速傳輸緊湊的wasm格式文件,并將其作為JavaScript模塊進(jìn)行加載
-
在不使用插件的情況下獲得接近本機(jī)的性能
-
因?yàn)樗跒g覽器的安全沙箱中執(zhí)行,使編寫既高性能又安全的代碼有了可能
-
可以選擇使用JavaScript之外的其他語(yǔ)言,如將WebAssembly作為C和C ++的編譯器目標(biāo),還可提供額外的語(yǔ)言支持。
WebAssembly使用現(xiàn)狀
WebAssembly引起了廣大技術(shù)人員的興趣,因?yàn)樗鼮閃eb平臺(tái)提供了可預(yù)測(cè)的性能表現(xiàn) —— 這是只使用JavaScript難以達(dá)到的。游戲公司是WebAssembly和asm.js的早期使用者。Epic和Unity率先把他們產(chǎn)品級(jí)的游戲引擎發(fā)布在網(wǎng)絡(luò)上,而不用重寫JavaScript中的C ++代碼庫(kù)。
今天,WebAssembly和asm.js 的案例已經(jīng)不在局限于在線游戲。當(dāng)人們嘗試使用WebAssembly格式及其搭檔(Emscripten編譯器)時(shí),他們正在設(shè)法將越來(lái)越復(fù)雜的應(yīng)用程序移植到Web上去。例如:
-
計(jì)算機(jī)視覺(jué)
-
3D地圖 - Altus平臺(tái),Google地球
-
用戶界面設(shè)計(jì)
-
語(yǔ)言檢測(cè)
-
音頻混合
-
視頻編解碼器支持
-
數(shù)字信號(hào)處理
-
醫(yī)學(xué)影像
-
物理模擬
-
加密
-
壓縮 - zlib-asm,Brotli,lzma
-
計(jì)算機(jī)代數(shù)
“Asm.js和WebAssembly對(duì)于游戲行業(yè)來(lái)說(shuō)重要性顯而易見(jiàn),因?yàn)樗麄兺度肓舜罅康某杀緦慍 ++程序,肯定不想為了web而重寫”,Wagner說(shuō), “現(xiàn)在我們看到很多人使用WebAssembly做新項(xiàng)目。因?yàn)檫@基于這樣一個(gè)承諾,我們可以將大部分應(yīng)用程序在網(wǎng)絡(luò)上運(yùn)行,就像在本地運(yùn)行一樣。”
想要了解更多關(guān)于WebAssembly的信息?開(kāi)發(fā)人員可以在MDN Web Docs和WebAssembly.org項(xiàng)目站點(diǎn)上找到資源。
交互式工具
您還可以嘗試一下WebAssembly Explorer,這是一個(gè)在線工具,它允許您使用C / C ++編譯器來(lái)了解WebAssembly代碼是如何生成,交付并最終被瀏覽器使用的。另一個(gè)在線工具WebAssembly Fiddle允許您在瀏覽器中編寫、共享和運(yùn)行WebAssembly代碼片段。為了進(jìn)一步深入了解,您可以檢查WebAssembly二進(jìn)制文件,以了解WebAssembly代碼如何在二進(jìn)制級(jí)別進(jìn)行編碼。
廣告時(shí)間
12月2日,『后直播時(shí)代技術(shù)』沙龍將走進(jìn)成都,LiveVideoStack攜手騰訊、阿里云、聲網(wǎng)、即構(gòu)科技、又拍云等知名企業(yè)一同直擊游戲行業(yè),探索其在多媒體與音視頻技術(shù)的應(yīng)用實(shí)踐。
-
左小祥?騰訊音視頻實(shí)驗(yàn)室TMG游戲引擎技術(shù)負(fù)責(zé)人
????? 《TMG——實(shí)時(shí)音視頻助力游戲社交創(chuàng)新玩法》
-
楊劍?聲網(wǎng)Agora.io戰(zhàn)略合作總監(jiān),游戲行業(yè)負(fù)責(zé)人
??????《手游實(shí)時(shí)音視頻新體驗(yàn)》
-
曾令森?又拍云高級(jí)產(chǎn)品經(jīng)理
??????《短視頻為什么又火起來(lái)了》
-
吳彪?即構(gòu)科技高級(jí)研發(fā)工程師
????? 《化繁為簡(jiǎn),如何從0到1快速上線在線娃娃機(jī)》
-
蔡鼎 阿里云流媒體處理技術(shù)專家
??????《云導(dǎo)播的技術(shù)實(shí)現(xiàn)和玩法》
在公眾號(hào)回復(fù)【成都】獲取該站5折優(yōu)惠碼,限量5張,先到先得。
總結(jié)
以上是生活随笔為你收集整理的WebAssembly已支持所有主流浏览器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 『每周观察』:“在线抓娃娃”开启新娱乐窗
- 下一篇: 在线抓娃娃爆火之后,新玩家入局还有希望吗