作品简介

这是一部讲解如何用高级编程语言开发WebAssembly应用的著作,由国内WebAssembly领域的先驱者和布道者撰写。

第一部分:基础篇(第1~3章)首先介绍了WebAssembly的基础和工具链Emscripten的用法,然后详细讲解了使用C/C++语言和Emscripten开发WebAssembly模块的方法。

第二部分:方法篇(第4~8章)对Emscripten运行时、WebAssembly友好的一般性方法、网络I/O、并发执行、GUI及交互等知识点展开了深入的讨论。

第三部分:前沿篇(第9~10章)详细讲解了WASI以及如何使用Rust语言开发WebAssembly模块和WASI应用。

丁尔男,柴树杉著。

作品目录

  • 前言
  • 第一篇 基础篇
  • 第1章 认识WebAssembly
  • 1.1 WebAssembly的诞生背景
  • 1.2 Web的第4种语言
  • 1.3 本章小结
  • 第2章 Emscripten快速入门
  • 2.1 安装Emscripten
  • 2.2 你好,世界!
  • 2.3 胶水代码初探
  • 2.4 编译目标及编译流程
  • 2.5 示例:放大镜特效
  • 2.6 本章小结
  • 第3章 C与JavaScript互操作
  • 3.1 JavaScript调用C函数
  • 3.2 JavaScript函数注入C环境
  • 3.3 单向透明的内存模型
  • 3.4 JavaScript与C/C++交换数据
  • 3.5 EM_ASM系列宏
  • 3.6 emscripten_run_script()系列函数
  • 3.7 ccall()/cwrap()
  • 3.8 本章小结
  • 第二篇 方法篇
  • 第4章 Emscripten运行时
  • 4.1 main()函数与生命周期
  • 4.2 消息循环
  • 4.3 文件系统
  • 4.4 内存管理
  • 4.5 Module定制
  • 4.6 示例:人脸检测
  • 4.7 本章小结
  • 第5章 WebAssembly友好的一般性方法
  • 5.1 消息循环分离
  • 5.2 内存对齐
  • 5.3 使用C接口导出C++对象
  • 5.4 C++对象生命周期管理
  • 5.5 使用C接口注入JavaScript对象
  • 5.6 小心64位整型数
  • 5.7 文件系统的缺陷
  • 5.8 本章小结
  • 第6章 网络I/O
  • 6.1 XMLHttpRequest
  • 6.2 WebSocket
  • 6.3 本章小结
  • 第7章 并发执行
  • 7.1 JavaScript中的并发模型
  • 7.2 在Worker中使用Emscripten
  • 7.3 pthread线程
  • 7.4 本章小结
  • 第8章 GUI及交互
  • 8.1 Canvas
  • 8.2 鼠标事件
  • 8.3 键盘事件
  • 8.4 Life游戏
  • 8.5 本章小结
  • 第三篇 前沿篇
  • 第9章 Rust和WebAssembly
  • 9.1 Rust入门
  • 9.2 你好,WebAssembly
  • 9.3 导入和导出函数
  • 9.4 打印命令行参数
  • 9.5 no_std
  • 9.6 嵌入C代码
  • 9.7 本章小结
  • 第10章 WASI系统接口
  • 10.1 WASI简介
  • 10.2 探秘WASI工作原理
  • 10.3 WebAssembly虚拟机
  • 10.4 wapm包管理器
  • 10.5 本章小结
  • 附录
  • 附录A WebAssembly接口
  • 附录B 机器指令
展开全部