Codegenとは?
Codegenは、多くの反復的なコードを書くことを避けるためのツールです。Codegenを使用することは必須ではありません。生成されるコードをすべて手動で書くこともできます。ただし、Codegenは多くの時間を節約できる足場コードを生成します。
React Nativeは、iOSまたはAndroidアプリがビルドされるたびにCodegenを自動的に呼び出します。時折、どの型とファイルが実際に生成されるかを知るために、Codegenスクリプトを手動で実行したい場合があります。これは、Turbo Native ModulesとFabric Native Componentsを開発する際の一般的なシナリオです。
Codegenの仕組み
Codegenは、React Nativeアプリと密接に連携するプロセスです。Codegenスクリプトはreact-native NPMパッケージ内にあり、アプリはビルド時にそれらのスクリプトを呼び出します。
Codegenは、package.jsonで指定されたディレクトリから始まり、プロジェクト内のフォルダをクロールし、カスタムモジュールやコンポーネントの仕様(またはスペック)を含む特定のJSファイルを探します。スペックファイルは、型付きの方言で書かれたJSファイルです。React Nativeは現在、FlowとTypeScriptをサポートしています。
Codegenはスペックファイルを見つけるたびに、それに関連するボイラープレートコードを生成します。CodegenはC++の接着コードを生成し、その後、Android用にはJava、iOS用にはObjective-C++を使用してプラットフォーム固有のコードを生成します。