メインコンテンツへスキップ

Codegenとは?

Codegenは、多くの反復的なコードの記述を避けるためのツールです。Codegenの使用は必須ではありません。生成されるコードはすべて手動で記述することも可能です。しかし、Codegenは雛形となるコードを生成することで、多くの時間を節約できます。

React Nativeは、iOSまたはAndroidアプリがビルドされるたびに自動的にCodegenを呼び出します。どの型やファイルが実際に生成されるかを知るために、手動でCodegenスクリプトを実行したい場合もあるでしょう。これは、Turbo Native ModuleやFabric Native Componentを開発する際によくあるシナリオです。

Codegenの仕組み

Codegenは、React Nativeアプリと密接に結びついたプロセスです。Codegenスクリプトはreact-native NPMパッケージ内にあり、アプリはビルド時にこれらのスクリプトを呼び出します。

Codegenは、package.jsonで指定したディレクトリから開始し、プロジェクト内のフォルダーをクロールして、カスタムモジュールやコンポーネントの仕様(specs)を含む特定のJSファイルを探します。仕様ファイルは型付けされた方言で書かれたJSファイルです。React Nativeは現在、FlowとTypeScriptをサポートしています。

Codegenは仕様ファイルを見つけるたびに、それに関連する定型コードを生成します。CodegenはC++のグルーコード(接着剤の役割を果たすコード)を生成し、その後、プラットフォーム固有のコード(Android用にはJava、iOS用にはObjective-C++)を生成します。