作品简介
WebAssembly是栈式虚拟机和字节码技术的最新应用,在Web开发、后端开发、区块链等领域大显身手,越来越受欢迎。本书是WebAssembly入门和进阶的必读书,它不仅对WebAssembly的工作原理、核心技术和规范进行了全面的剖析和解读,而且给出了实现WebAssembly解释器和AOT编译器的思路和代码。
本书共14章,分为四个部分:第一部分:WebAssembly概述(第1章)主要介绍了WebAssembly的概念、发展历史以及阅读本书需要做的准备工作。第二部分:二进制和文本格式(第2~4章)详细讲解了WebAssembly的二进制格式、文本格式以及指令集。
第三部分:虚拟机和解释器(第5~11章)详细讲解了WebAssembly的解释器和虚拟机的工作原理以及实现思路,包括操作数栈、内存、函数调用、控制指令、链接和实例化、错误处理和验证等。第四部分:WebAssembly进阶(第12~14章)深入地讲解了AOT编译器的实现思路和WebAssembly的提案等内容。
通过阅读本书,读者不仅可以理解WebAssembly核心原理,还可以学习如何实现WebAssembly解释器和AOT编译器。即收获了“鱼”,又学会了“渔”。
张秀宏,资深服务器开发工程师,在游戏服务器、区块链等领域有多年的开发和架构经验。曾在EA、乐元素、比特大陆等公司担任高级服务器工程师,对Java、Go、Lua等语言以及高级语言虚拟机有非常深入的研究。曾独立撰写畅销书《自己动手写Java虚拟机》和《自己动手实现Lua:虚拟机、编译器、标准库》,广受读者好评。《WebAssembly原理与核心技术》是作者在高级语言虚拟机领域的又一力作。