網頁應用飆速新時代來了!WebAssembly讓網頁程式像原生AP一樣快

Mozilla新興科技部門院士David Bryant表示,WebAssembly使網頁技術獲得非常大幅度進步,該技術讓開發者可以把複雜的軟體打包,並且在瀏覽器環境中安裝、執行(攝影/洪政偉)。
瀏覽器的重要性在當今行動優先的世界,其重要性不言而喻。在2015年時,JavaScript之父Brenden Eich來臺時,就示範即使是使用瀏覽器,也能執行效能標準要求高的射擊遊戲,當時的背後功臣就是Asm.js架構,這個瘦身版本的JavaScript,限制 JavaScript的功能,取消該語言會影響執行效能的部分,因此讓瀏覽器效能可以獲得大幅度成長。
不過暨Asm.js後,下個後進之秀WebAssembly,並沒有像Asm.js背負著JavaScript既有包袱,而是直接定義了一個新的網頁執行層,讓瀏覽器能直接執行二進位檔案格式的WebAssembly檔案,來達到像是執行Bytecode程式碼般的高效能。在今年初WebAssembly已經開始支援市面上幾大主流瀏覽器,像是3月時,Firefox 52版第一個宣布支援,而後繼的Chrome 57、Edge 16及Safari 11也都支援。
Mozilla新興科技部門院士David Bryant表示,WebAssembly使網頁技術獲得非常大幅度進步,該技術讓開發者可以把複雜的軟體打包,並且在瀏覽器環境中安裝、執行。
不只如此,WebAssembly也讓使用者不需要原生套件,就能延伸瀏覽器的使用體驗,「開發者可以利用網頁瀏覽引擎所做的事情就變得更多。」他說。
David Bryant表示,過去開發者總認為瀏覽器只能執行某些功能,為了讓應用程式可於網頁瀏覽器上執行,得相當依賴使用外部套件,例如遊戲開發者,就特別依靠外部套件,才能讓遊戲在瀏覽器環境執行。
而現今透過WebAssembly,讓瀏覽器效能獲得相當幅度提升,開發者就可以減少對外部套件的依賴。
David Bryant舉例,像在上一世代網路世界占有重要地位的Flash,以往開發者要建立網頁應用、互動式媒體都少不了它,「但現在透過WebAssembly就可以做到」,他也信心滿滿地認為,WebAssembly這門技術的威力,藉由強化瀏覽器效能,因而釋放各類網頁技術的威力,讓開發者可以著手設計各類的網頁應用、體驗。
初期發想是讓JavaScript變成中介語言