名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。アクセス解析のためGAを利用、Googleに情報を送信しています。商品紹介のためAmazonアフィリエイトを利用、Amazonに情報を送信しています。記事に関しては私が書いていない引用文を除いて自由にご利用ください。

Rust and WebAssemblyのsection 4までやったり読んだりした

Rust and WebAssembly をやってみたので簡単なメモ。

やったこと

https://rustwasm.github.io/docs/book/

の selction 4 まで

Tutorial - Rust and WebAssembly をやってみる

この記事でチュートリアルを発見できました。大変助かる…。

学び

理解は浅めです。

  • コピペベースで動かしてみたものの、物事のつながりがしっかり見えて面白かった
    • RustとJavaScriptを行ったり来たりすることができるのが純粋に面白い
  • 手順やや複雑になりがち
    • 仕方ない部分はあるのかも
    • なんかずっとwww配下がコミット対象にならないので何か設定を間違えている感じもする
    • あとはパッケージングして読み込んで~みたいなのもちょっとやってみたさはある
      • パッケージのホスティング、また別でやりたい気持ちになっていたので調べようかな
    • ホットリロードな感じは開発体験がよい
  • 向いてそうなことがなんとなくわかる
    • Webのフォームとか作る用途とかからは若干離れてそう
      • できないことはないと思うけど、コストに見合わないかも?
    • サンプルでもCanvasで動かしてみるということをしているけど、用途的にはそういうものに向いてそうな感じ
  • テストも実行できる
    • ブラウザごとに動かしてみるとかもできる
    • なお自分のWSL環境にはFirefoxが入ってなかったので、テスト実行失敗した
      • chromeは入ってるのでchromeで実行したら動いた
  • NodeのSSLエラーが出続ける問題
    • Node.js 17以上にした際のOpenSSL互換エラー対応
    • これと同じ問題が起きていて、NODE_OPTIONで対応できた
      • この後VSCode起動しようとしたら --openssl-legacy-provider が有効になってるので切りましょうと言われていろいろめんどくさかった
        • 正しい対処方法を学んでおかなければ
  • 他雑に知らなかったこと

まとめ

まだまだ実践投入するには特性も、言語的性質も、ロジックも自分の理解度が足りないかなと思いました。 一方でずっと前から気になっていて触って動かしたというのは大きい体験になるかなと思います(そういうのをもっと減らして行かないとねと思っている、手を動かさないと)。

グラフィカルにあれこれするようなアプリケーションを作るときには選択肢に入れてみようかなと思います。 (昔Javaで似たようなことをやっていたけど、ブラウザで見れるってところがすごく価値あるよなーとは思ってます)