Rustについて
Rust
-
RustはMozillaが支援するオープンソースのシステムプログラミング言語であり2010年に開発されました。
-
Rust言語は速度、並行性、安全性を言語仕様として保証するC言語、C++に代わるシス テムプログラミングに適したプログラミング言語を目指している。
Cargo
-
Cargoは、Rustのビルドシステム兼、パッケージマネージャです。
-
ほとんどのRustaceanはこのツールを使用して、 Rustプロジェクトの管理をしています。
所有権
-
所有権とは「ある値はあるひとつの変数に所有され、この変数からしか読み込みも書き込みも行われない」というルールのことです。
-
このルールが有ることによって「変数が宣言されたブロックでの処理が終了」すると「変数に所有された値は開放することができる」ということになります。
-
これにより値のためのメモリ確保と開放のタイミングがコンパイル時に決定されるため、ガベージコレクションのように実行時にメモリ解放の判定を行う場合に比べて高速になります。
-
また、所有権のルールによって「値が複数変数から同時に更新されて壊れる」という不具合であったり「値を開放し忘れてメモリがリークする」という不具合を防ぐことができて安全性が高まります。
Rustフレームワーク
actix-web
-
Rustのフレームワークでも世界的に活用されているものです。
-
日本のみならず海外でも積極的に採用されていて、多くの情報が手に入ります。フレームワークの活用には情報収集が重要となるため、情報収集しやすいものは利用のハードルが下がるのです。
TAURI
-
Rustで開発されているフレームワークの中でも軽量なものです。
-
フレームワークが軽量であるかどうかはアプリケーションの動作速度に影響するため、Tauriのように軽量なフレームワークであればアプリケーションも軽量であることが期待できます。
Axum
-
フレームワークとしてシンプルな設計を採用しているため、Rustの知識があるエンジニアならばスムーズに理解できるはずです。
-
Axum独自の考え方はありますが、基本的にはRustの理解があれば差し支えないレベルです。
Rocket
-
Rustのフレームワークでもマイクロフレームワークに分類されるものです。
-
最小限の機能だけが実装されているフレームワークであり、必要な部分は自分で開発しなければなりません。
warp
-
warpはプログラムの再利用を意識することで、高い生産性を実現したフレームワークです。
-
プログラム開発では再利用の意識が重要であり、フレームワークによって考え方が異なっています。
Tide
-
Tideはマイクロフレームワークとはいえないものの、機能数が最小限に抑えられたフレームワークです。
-
ミニマムなフレームワークといえるものであり、シンプルに利用したりエンジニアが必要に応じて開発したりできます。
✖