《深入淺出WebAssembly》內容提要
WebAssembly是一種新的二進制格式,它可以方便地將C/C++等靜態語言的代碼快速地“運行”在瀏覽器中,這一特性為前端密集計算場景提供了無限可能。不僅如此,通過WebAssembly技術,我們還可以將基於Unity等游戲引擎開發的大型游戲快速地移植到Web端。WebAssembly技術現在已經被計劃設計成W3C的標準,眾多瀏覽器廠商已經提供了對其MVP版本標準的支持。在Google I/O 2017大會上,Google首次針對WebAssembly技術進行了公開演講和推廣,其Post-MVP版本標準更是對諸如DOM操作、多線程和GC等特性提供了支持。WebAssembly所帶來的Web技術變革勢不可擋。
《深入淺出WebAssembly》力求從一些簡單的實踐入手,深入理論,到復雜的具有實際業務價值的綜合實踐,深入淺出地介紹Wasm技術發展至今,其背後所涉及的各種底層設計原理與實現、相關工具鏈以及未來發展方向等多方面內容。本書內容包括:WebAssembly技術的發展歷程,從PNaCl到ASM.js再到WebAssembly,以及這些技術的基本應用方法與性能對比;WebAssembly的標準上層API、底層堆棧機的設計原理,以及對MVP標準理論的深入解讀;與WebAssembly標準相關的進階內容,如單指令多數據流(SIMD)、動態鏈接(DL)等;LLVM工具鏈與WAT可讀文本格式的相關內容;基於Emscripten工具鏈開發WebAssembly應用的基本流程,以及工具鏈的一些基本常用功能和特性;基於Emscripten工具鏈實現C/C++語言動態關系綁定技術;Emscripten工具鏈所提供的一些如WebGL支持、虛擬文件系統、應用優化以及HTML 5事件系統等高級應用特性;構建一個具有實際業務價值的WebAssembly應用,現階段Wasm生態的發展情況,以及在Post-MVP標準中制訂的一些WebAssembly未來發展規劃。
《深入淺出WebAssembly》的目標讀者為Web前端開發人員、C/C++開發人員和對WebAssembly技術感興趣的人員。