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++)を生成します。