WebAssembly权威指南
姜玉珍, 蓝浩 译
出版时间:2025年07月
页数:358
“想知道下一代的可视化与用户交互会是什么样子?答案尽在这本书。”
——Hannah Thoreson
系统工程师
本书是对当今软件行业中最具变革性的技术之一WebAssembly的一部全面且通俗易懂的权威指南。WebAssembly最初被设计为在浏览器中使用JavaScript之外的编程语言的一种方式,如今已发展为一种强大手段,具备良好的可移植性、卓越的性能、更高的安全性,并支持在多种部署环境中实现代码的高效复用。
作者通过构建多个具体、实用、前沿且以代码驱动的WebAssembly应用示例,循序渐进地介绍了该技术的核心要素。无论你身处企业级软件开发、嵌入式系统、娱乐产业、科学计算,还是创业公司环境中,都能从本书中了解到WebAssembly如何深刻影响软件开发方式。
本书将帮助你:
● 提升代码在不同平台之间的可移植性。
● 实现跨语言和跨环境的代码复用。
● 强化对主要安全威胁的防护能力。
● 在Web环境中部署遗留系统代码。
● 扩大用户和开发者群体,覆盖多种语言和技术栈。
● 与JavaScript无缝集成,提升整体系统的性能、安全性和开发效率。
● 理解WebAssembly对软件开发职业生涯带来的深远影响。
- 前言
- 第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工具
书名:WebAssembly权威指南
译者:姜玉珍, 蓝浩 译
国内出版社:中国电力出版社
出版时间:2025年07月
页数:358
书号:978-7-5239-0153-3
原版书书名:WebAssembly: The Definitive Guide
原版书出版商:O'Reilly Media
Brian Sletten
Brian Sletten是一位受过艺术教育的自由职业的软件工程师,专注于前沿技术。他的经验跨越了许多行业,包括零售、银行、网络游戏、国防、金融、酒店和医疗保健。Brian的职业生涯融合了应用
下一代解决方案和实际解决问题的能力。他了解WebAssembly的实际优势以及它彻底改变我们行业的潜力。他拥有威廉玛丽学院的计算机科学专业的理学学士学位。
本书封面上的动物是一只诺维茨梗犬。在19世纪70年代,这些无畏、活跃、可爱的小狗在剑桥大学的学生中很受欢迎,学生把它们当宠物养,也把它们当作宿舍的捕鼠者。在美国,诺维茨梗在猎杀害虫和狐狸都取得了成功,因为它们的体型十分小,这使得它们可以跟随猎物进入他们的巢穴,而猎狐犬则无法做到。
诺维茨梗犬于1936年首次被美国养犬俱乐部认定为一个品种。它们身体壮实,肩部只有10英寸高,重约12磅,使它们成为最小的梗类犬品种之一。他们被描述为“有点狡猾的表情”,有着黑色的小眼睛和尖尖的耳朵。诺维茨梗犬结实的皮毛可以是任何色度的红色、灰色(黑色或红毛与白色混合)、小麦色或黑色和棕褐色,并伴有柔软的底毛用于绝缘。诺维茨梗与诺福克梗有着密切的关系,诺福克梗曾被认为是诺维茨梗的垂耳型品种,直到1979年才被美国养犬俱乐部承认为一个独立的品种。
诺维茨梗犬的寿命通常为10~14年,与大多数梗犬一样,它们是能量充沛的狗,需要每天锻炼或完成任务才能让它们保持快乐。虽然它们比其他工作梗犬更善于社交,并且与其他狗相处得很好,但它们确实有很强的猎物驱动力,可能会追逐猫、其他小宠物或任何它们认为是“猎物”的东西。因此,当诺维茨梗在户外或没有围栏的区域时,应始终系上牵引绳。它们可以是忠诚的家庭宠物,但需要在幼儿周围进行早期社交和仔细监督。