作者回复: 你不是第一个。( ̄Д ̄)ノ
作者回复: 首先要明确当前 WebAssembly 这门技术能够应用的场景,哪些可以用,哪些不能用。然后再确定对应问题使用 Wasm 的具体解决方案。如果场景没有问题,实践就比较容易了。是从源代码直接编译成 Wasm、以共享库还是静态库的形式编译、是否需要使用 Emscripten、Standalone 还是借助 Helper、是否需要降级方案等这些就是实现细节问题了。建议可以先自己写点小的 Demo 熟悉下整个流程然后再从实际项目中找痛点。
作者回复: 书籍的话可以参考我之前写的《深入浅出 WebAssembly》或者以下几本英文的:
《WebAssembly in Action》这本现在还是 MEAP 版本,之前看里面还有一些知识点错误,所以看的时候最好结合官方文档;
《Programming WebAssembly with Rust》这本书是今年出版的,但主要以 Rust 为示例语言;
社区的话我们是有微信群,有需要的话我可以拉你。
作者回复: 现在来看主要还是 Web 上的补足,因为 Wasm 本身就是基于 PNaCL,ASM.js 等很多之前已有的 Web 技术经过沉淀发展出来的。而 WASI 则是 Wasm 在非 Web 领域的实践和发展,目前提到的应用领域有 Portable CLI,对已有代码库的直接复用等。基于它可以做 Docker 类似的事情,但这只是一种可以实践的应用领域。但作为技术本身,这个并不是主要发展方向。
作者回复: 不建议把密钥放进去哦,Wasm本身就是有spec的,你可以理解为反编译的成本变高了,但本身还是有迹可循的。而密钥这种一次都不允许出差错的东西,不建议编译到Wasm模块中。