AndroidRustの紹介

Androidプラットフォームは、C / C ++と同等のパフォーマンスでメモリの安全性を保証する最新のシステムプログラミング言語であるRustでネイティブOSコンポーネントを開発するためのサポートを提供します。 Rustは、オブジェクトの存続期間と所有権を強制するコンパイル時チェックと、有効なメモリアクセスを保証するランタイムチェックの組み合わせを使用して、ガベージコレクターの必要性を排除します。

Rustは、開発者がコードの生産性と自信を高めることができるようにする、さまざまな最新の言語機能を提供します。

  • 安全な並行プログラミング-これにより、ユーザーが効率的でスレッドセーフなコードを簡単に記述できるようになり、RustのFearlessConcurrencyスローガンが生まれました。
  • 表現型システム-Rustは、表現力の高い型(Newtypeラッパー、コンテンツを含む列挙型バリアントなど)を許可することにより、論理プログラミングのバグを防ぐのに役立ちます。
  • コンパイル時のチェックの強化-コンパイル時に検出されるバグが増えると、コードが正常にコンパイルされたときに意図したとおりに機能するという開発者の信頼が高まります。
  • 組み込みのテストフレームワーク-Rustは、単体テストをテストする実装と一緒に配置できる組み込みのテストフレームワークを提供し、単体テストを簡単に含めることができます。
  • エラー処理の実施-回復可能な障害のある関数は、成功バリアントまたはエラーバリアントのいずれかである結果タイプを返す可能性があります。コンパイラーは、呼び出し元が関数呼び出しから返されたResult列挙型のエラーバリアントをチェックして処理することを要求します。これにより、未処理の障害に起因するバグの可能性が減少します。
  • 初期化-Rustでは、使用する前にすべての変数をそのタイプの正当なメンバーに初期化する必要があり、安全でない値への意図しない初期化を防ぎます。
  • より安全な整数処理-すべての整数型変換は明示的なキャストです。開発者は、変数に割り当てるとき、または他の型で算術演算を行おうとするときに、関数呼び出し中に誤ってキャストすることはできません。 Android for Rustではオーバーフローチェックがデフォルトでオンになっているため、オーバーフロー操作を明示的に行う必要があります。

詳細については、AndroidRustサポートに関する一連のブログ投稿を参照してください。