前言
第1章 概述
1.1 WebAssembly能给你带来什么
1.2 Web历史
1.3 JavaScript起源
1.4 Web平台的演变
1.5 Native Client
1.6 asm.js
1.7 WebAssembly的兴起
第2章 “Hello, World”(有点像)
2.1 WebAssembly文本格式(Wat)
2.2 将Wat转换为Wasm
2.3 在Repl中运行Wasm
2.4 在浏览器中运行Wasm
第3章 WebAssembly模块
3.1 模块的结构
3.2 了解模块的组成
3.3 使用模块工作
3.4 将来对于ES6模块的支持
第4章 WebAssembly内存
4.1 TypedArray
4.2 WebAssembly内存实例
4.3 使用WebAssembly内存的API
4.4 最后,关于字符串
第5章 使用C/C++和WebAssembly
5.1 使用C函数
5.2 事情变得复杂了
5.3 C/C++和WebAssembly
5.4 最后,在WebAssembly中的“Hello, World!”
第6章 WebAssembly的应用:浏览器中的遗留代码
6.1 恰当的“Hello, World!”
6.2 移植第三方代码
6.3 libsodium
第7章 WebAssembly Table
7.1 静态链接与动态链接
7.2 在模块中创建Table对象
7.3 WebAssembly中的动态链接
第8章 WebAssembly在服务端的应用
8.1 Node.js的原生扩展
8.2 WebAssembly和Node.js
8.3 供应链攻击
8.4 WebAssembly和Deno
8.5 展望未来
第9章 WebAssembly实战:TensorFlow.js
9.1 计算机硬件
9.2 Playground
9.3 TensorFlow.js
9.4 WebAssembly后端
第10章 Rust
10.1 Rust简介
10.2 Rust遇上WebAssembly
10.3 wasm-bindgen
10.4 浏览器内外的代码设计
第11章 WebAssembly的系统接口(WASI)
11.1 WebAssembly的系统接口概述
11.2 基于能力的安全性
11.3 更大的前景
第12章 扩展WebAssembly平台
12.1 WASI运行时
12.2 多返回值
12.3 引用类型
12.4 模块链接
12.5 功能检查
12.6 其他提案
第13章 WebAssembly和.NET
13.1 .NET和Wasmtime
13.2 Blazor
13.3 Uno平台
第14章 使用AssemblyScript和WebAssembly
14.1 绝对不是一个TypeScript到WebAssembly的编译器
14.2 一个简单的例子
14.3 垃圾收集与AssemblyScript运行时
14.4 AssemblyScript标准库
14.5 AssemblyScript加载器
第15章 WebAssembly的应用:在云端和边缘计算中
15.1 个人的小插曲
15.2 我们的行业在发展
15.3 Fastly Compute@Edge
15.4 Krustlet
15.5 Suborbital
15.6 WasmEdge
15.7 wasmCloud
第16章 WebAssembly的应用:去中心化应用
16.1 中心化和去中心化
16.2 从比特币到以太坊
16.3 如何解决类似“停顿问题”的难题
16.4 ewasm
16.5 Polkadot
16.6 星际文件系统(IPFS)
第17章 WebAssembly和其他语言
17.1 TinyGo
17.2 Artichoke
17.3 Swift
17.4 Java
17.5 Kotlin
17.6 Zig
17.7 Grain
17.8 接下来
附录 安装WebAssembly工具
展开