我们现在一直在用 emscripten 。不过这个项目看起来是专注于移植现有完整应用,为大量 API 做了绑定,而且可以直接生成 HTML ,似乎没怎么考虑过写库这方面。
目前我现在就只能通过 C API 导出符号,然后在 Javascript 这边写一个文件把所有的函数都用ccall这样的指令包起来,涉及到异步就更麻烦。而且编译器生成的 wasm 文件要手动复制到前端项目里然后在 HTML 里单独写一个标签引入,很难和现有的前端生态融合起来。
Rust 这边的生态看起来比 C++要好,wasm-pack 能自动生成 TypeScript 类型,胶水函数和 ES6 模块,但这个项目似乎也不怎么维护了。
很好奇为什么社区对这个方向兴趣不大。不知道各位有没有什么相关方向的经验?