🚀
ReactエンジニアがRustを触ってみた件
こちらの記事は
なんもしらんけどRustでWasmやる Advent Calendar 2021 12日目の記事になります。
自己紹介
はじめましての方ははじめまして!
こんにちは、nullです!
このアドベントカレンダーに急遽乗り込んだ者なんですが、快くOKしていただきありがとうございます!
ちなみに 業務に追われるだけの世界で生きてると技術止まっちゃいますよね。 ってことで参加しました(深夜テンションが8割)
ざっくりスペック
- Web系しかわからない
- 社内ではReactの案件が来るとだいたい呼び出される
- 型付け経験はエディタ補完したい程度にTypeScript導入してる程度
- Unity(C#)ちょろっとやったことあるんだけど、そのノリでRustいけたらいいなって思ってる
- M1Pro Macユーザー
きっかけ
Reactで開発してた時に、ネイティブレベルにグリングリン動くUI作ろうとするとめちゃくちゃCPUやメモリーのスペックが必要になるなぁって悩んでました。
それでたまたま開いてたfigmaで検証ツール開いたらWasm使ってて、それで軽くなってるっぽい情報もあったから 「ええやん!」 ってなったのがはじまりです。
figmaはC++らしいんですけど、C言語に手を出すの怖いじゃないですか・・・
闇の組織[1]に目をつけられそうなので、Rustにしました。
なんか新しくて良さげに見えただけなんですけどね。
セットアップ
公式とかカレンダー1日目みてなんとなく理解。
terminal
cargo new test-rust-app
cargo run
初期プロジェクト構造
test-rust-app
|- src/
|- main.rs
|- target/
|- ...
|- Cargo.toml
|- Cargo.lock
はは〜ん。なるほど
当たり前なんですけど、ビルド後のファイルってバイナリになっててひらけないっすね。
Node系と比較
[ファイル]
src -> src
dist -> target (ビルドファイル)
package.json -> Cargo.toml
package-lock.json -> Cargo.lock
[名称]
パッケージ -> クレート
マスコット -> フェリス
[その他]
クレートインストールするには
-> cargo install クレート名
-> cargo build
(tomlファイルに直書きして指定する方法も載ってた)
(忘れてcargo runしてもよしなにしてくれた)
クレートの呼び出し方
-> use クレート名::some_method;
(javaでみた)
まぁここまでは大丈夫そう!
とりあえず構文がやばいみたいな感覚もなく、チュートリアルのページを見つけたことで
我々は更なるRustの魅力を求め、アマゾンの奥地へと調査に出かけた。
次回は15日に投稿予定
-
組み込み開発チーム ↩︎
Discussion