開源WebAssembly執行環境Wasmer更新第5版本,新增對V8、Wasmi和WAMR後端的實驗性支援,並且首次完整支援iOS。這次更新不僅提升了Wasmer跨平臺靈活性,也讓WebAssembly在行動和桌面裝置上的應用更為簡單便捷。

Wasmer開發團隊在新版Wasmer中所加入的新後端支援,包括Google V8引擎、以Rust編寫的Wasmi,以及針對行動端的WAMR,皆經由Wasm-C-API整合。每一個新後端都有其優勢,V8引擎源自於Chrome的JavaScript引擎,適用於iOS和Android,開發者將可透過V8除錯器和Chrome Devtools更好地進行除錯,而且整合V8也就相當於底層支援WebAssembly例外處理和垃圾回收功能。

Wasmi是專門替Rust最佳化的WebAssembly直譯器,特別適用於純Rust程式碼的nostd環境或是區塊鏈。WAMR設計針對行動端資源占用少,是作為iOS開發的理想選擇。這些多元後端擴展了Wasmer執行環境適用性,使其更加靈活。

而Wasmer 5.0也透過V8、Wasmi和WAMR的整合,實現WebAssembly在iOS裝置上的完整支援,並且克服iOS 14之後版本對JIT編譯的限制,允許WebAssembly模組直接在iOS裝置執行,而且不需要對應用程式碼進行更動。

Wasmer開發團隊由於要提升執行效能和開發效率,Wasmer 5.0將不使用的Emscripten綁定和重複相依項目移除,減少約2萬行程式碼。此精簡措施讓Wasmer更為輕量,同時反序列化效能提升50%。此外,升級Cranelift和LLVM 18編譯器進一步提高執行速度,讓Wasmer 5.0比前一版本快約8%。這些最佳化不僅減少維護成本,還提升開發效率。

整體而言,Wasmer 5.0在多後端支援和跨平臺應用上,展現出與其他WebAssembly解決方案不同的優勢。像是Bytecode Alliance開發的Wasmtime,注重於伺服器端的高效能應用,但是目前僅支援Cranelift後端,而WasmEdge則更專注於物聯網和嵌入式裝置,對大規模雲端和行動應用的支援相對有限。

Wasmer 5.0在更新之後成為了一個更靈活的解決方案,或將可進一步推動WebAssembly的普及並擴展應用的可能性。

熱門新聞

Advertisement