Rust and WebAssembly をやってみたので簡単なメモ。
やったこと
https://rustwasm.github.io/docs/book/
の selction 4 まで
Tutorial - Rust and WebAssembly をやってみる
この記事でチュートリアルを発見できました。大変助かる…。
学び
理解は浅めです。
- コピペベースで動かしてみたものの、物事のつながりがしっかり見えて面白かった
- RustとJavaScriptを行ったり来たりすることができるのが純粋に面白い
- 手順やや複雑になりがち
- 仕方ない部分はあるのかも
- なんかずっとwww配下がコミット対象にならないので何か設定を間違えている感じもする
- あとはパッケージングして読み込んで~みたいなのもちょっとやってみたさはある
- パッケージのホスティング、また別でやりたい気持ちになっていたので調べようかな
- ホットリロードな感じは開発体験がよい
- 向いてそうなことがなんとなくわかる
- Webのフォームとか作る用途とかからは若干離れてそう
- できないことはないと思うけど、コストに見合わないかも?
- サンプルでもCanvasで動かしてみるということをしているけど、用途的にはそういうものに向いてそうな感じ
- Webのフォームとか作る用途とかからは若干離れてそう
- テストも実行できる
- NodeのSSLエラーが出続ける問題
- Node.js 17以上にした際のOpenSSL互換エラー対応
- これと同じ問題が起きていて、NODE_OPTIONで対応できた
- この後VSCode起動しようとしたら
--openssl-legacy-provider
が有効になってるので切りましょうと言われていろいろめんどくさかった- 正しい対処方法を学んでおかなければ
- この後VSCode起動しようとしたら
- 他雑に知らなかったこと
- - HTML: HyperText Markup Language | MDN
input type=range
をあまり使ったことがなかったので…
- html - HTML5 input type range show range value - Stack Overflow
- 実は簡単に range の値を表示することができる
- - HTML: HyperText Markup Language | MDN
まとめ
まだまだ実践投入するには特性も、言語的性質も、ロジックも自分の理解度が足りないかなと思いました。 一方でずっと前から気になっていて触って動かしたというのは大きい体験になるかなと思います(そういうのをもっと減らして行かないとねと思っている、手を動かさないと)。
グラフィカルにあれこれするようなアプリケーションを作るときには選択肢に入れてみようかなと思います。 (昔Javaで似たようなことをやっていたけど、ブラウザで見れるってところがすごく価値あるよなーとは思ってます)