Categories
程式開發

瀏覽器中原生運行的第四種語言誕生:WebAssembly 1.0成為W3C的推薦標準


萬維網聯盟(World Wide Web Consortium,W​​3C)最近宣布,WebAssembly核心規範成為了正式的Web標準。因此,繼HTML、CSS和JavaScript之後,WebAssembly正式成為第四個在瀏覽器中可原生運行的語言。

WebAssembly核心規範將WebAssembly描述為安全的、可移植的、低層次的代碼格式,旨在高效執行和緊湊化的表述。 WebAssembly追求硬件獨立、語言獨立和平台獨立。因此,WebAssembly可以面向所有的現代架構,包括桌面或移動設備,以及嵌入式系統。 WebAssembly程序可以嵌入到瀏覽器中,可以作為獨立的VM運行,也可以集成到其他的環境中。

為了擁抱各種使用場景,WebAssembly規范進行了分割和分層,拆分成了多個文檔。核心規範涉及WebAssembly JS接口WebAssembly Web API,前者提供了顯式JavaScript API,用來和WebAssembly進行交互,而後者主要關注將WebAssembly與更廣泛的Web平台集成。

久其核心,WebAssembly是一個虛擬指令集架構(instruction set architecture,ISA)。因此,核心規範解決了WebAssembly的核心ISA層的問題,定義了指令集、二進制編碼、校驗和執行語義,以及文本表述。

W3C的項目負責人Philippe Le Hégaret這樣闡述WebAssembly的潛力:

之前的應用只能使用開放Web平台(Open Web Platform)技術,WebAssembly的到來擴展了它們所能達到的範圍。在當今的世界中,機器學習和人工智能變得越來越常見,在不損害用戶安全性的同時,在Web上實現高性能的應用是非常重要的。

我們可以看到,WebAssembly已經初步用到了一些工具軟件(比如Google Earth port)、遊戲(比如Doom3)、重量級的桌面應用程序(game editors)或設計工具(Figma)中。

Agora的高級架構師Chun Gao分享了他對這項技術的熱情:

WebAssembly使得在Web上提供強大的計算能力成為可能。它將極大地擴展Web應用程序的應用場景,並迅速增加開發計算密集型應用的機會,包括實施音頻/視頻處理、硬核遊戲以及基於Web技術的AI。作為RTC服務的提供商,Agora致力於交付實時性能更好的服務。我們發布了基於WebAssembly的產品,提升了視頻流處理的性能和兼容性。我們相信,對於實現高性能Web應用程序的Web開發人員來說,WebAssembly將是最重要的可選方案。

隨著1.0規範的發布,WebAssembly未來版本的工作也已經開始著手了,包括了線程固定寬度SIMD引用類型尾調用ECMAScript模塊集成特性

萬維網聯盟(Wide Web Consortium,W​​3C)的使命是通過創建技術標準和指南來充分發揮Web的潛力,以確保Web對全球所有人都保持開放性、可訪問性和可互操作性。 W3C由美國麻省理工學院計算機科學與人工智能實驗室(MIT CSAIL)、總部位於法國的歐洲信息與數學研究聯盟(ERCIM)、日本慶應大學和中國的北京航空航天大學聯合運營。

原文鏈接:

WebAssembly 1.0 Becomes a W3C Recommendation and the Fourth Language to Run Natively in Browsers