事前の環境構築
WebAssemblyがchromeで簡単に動かせるようになったということで、とりあえず手元で試してみるかとrustからwasmをビルドするため環境を準備。
そして本題
タイトルにある通り、どうにかRustからDOMを操作するexampleを作ってみたかったのですが…
まずはjsを呼びましょう。
この辺りを見るとどうもC++からjsを文字列で呼び出すための諸々が、emscripten/val.hにあるらしい、ということがわかります。
"Implemented in JavaScript. Don't call these directly."
やめておけと。
ここまで調べたところで、先駆者様を発見しました。
val.hのラッパを書かれているどころか、もうjsのメソッドが実行でき可変長引数対応も行われていますね、すごい。
簡単にDOM操作がしたければ、さらにここからさらにもう一枚ラッパーを書く必要がありそう、という辺りでemval-rsのexampleを追加してみて本日は終了。
補記
https://github.com/tcr/rust-webplatform も参考になりそうなので、いずれソースを眺めたいと思います。