《WebAssembly 标准入门 - Nodejs开发者值得关注》开始预售了,欢迎关注
《WebAssembly 标准入门 - Nodejs开发者值得关注》开始预售了,欢迎关注
WebAssembly 是一种新兴的网页虚拟机标准,它的设计目标包括高可移植性、高安全性、高效率(包括载入效率和运行效率)、尽可能小的程序体积。本书详尽介绍了 WebAssembly 程序在 JavaScript 环境下的使用方法、WebAssembly 汇编语言和二进制格式,给出了大量简单易懂的示例,同时以 C/C++和 Go 语言开发环境为例,介绍了如何使用其他高级语言开发 WebAssembly 模块。
详细信息可以参考 人民邮电出版社·异步社区的页面: https://www.epubit.com/book/detail/40619
京东自营的页面也可以购买: https://item.jd.com/12499372.html
另外,我们针对 C/C++用户提供了一个开源的教程《 C/C++面向 WebAssembly 编程》:
https://github.com/3dgen/cppwasm-book
欢迎关注
准备抽奖送 3 本<WebAssembly 标准入门>图书。
需要有 github 账号,然后到抽奖链接的 issue 回复,给出自己的幸运号即可。
截止时间暂定为 2018.12.31 号。
抽奖链接:
https://github.com/3dgen/cppwasm-book/issues/4
感谢大家的支持。
《WebAssembly 标准入门 - Node.js开发者值得关注》预售开启,这对于希望在Node.js环境中高效利用WebAssembly的开发者来说,无疑是个好消息。WebAssembly(简称Wasm)是一种二进制指令格式,为Web平台设计,旨在提供接近原生的执行速度,同时保持平台的安全性和可移植性。对于Node.js开发者来说,掌握Wasm能够显著提升应用的性能,特别是在处理密集型计算任务时。
以下是一个简单的示例,展示如何在Node.js中加载和运行WebAssembly模块:
const fs = require('fs');
const path = require('path');
const { WASI } = require('@wasmer/wasi');
const { VM } = require('@wasmer/vm');
// 读取Wasm文件
const wasmFilePath = path.join(__dirname, 'example.wasm');
const wasmBinary = fs.readFileSync(wasmFilePath);
// 创建WASI和VM实例
const wasi = new WASI({
args: process.argv,
env: process.env,
bindings: {
// 自定义绑定可以在这里添加
}
});
const vm = new VM();
vm.load(wasmBinary);
vm.start(wasi.imports);
// 调用Wasm模块的导出函数(假设模块导出了一个名为'main'的函数)
const exports = vm.exports;
exports.main();
注意,上述代码使用了@wasmer/wasi
和@wasmer/vm
库来加载和运行Wasm模块,这只是一个简单的示例。实际应用中,你可能需要根据Wasm模块的具体实现来调整代码。
总之,《WebAssembly 标准入门》这本书将为Node.js开发者提供一个全面而深入的Wasm学习指南,值得一读。