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 は、React Native のカスタムモジュールとコンポーネントの仕様 (スペック) を含む特定の JS ファイルを検索して、package.json
で指定したディレクトリから始めてプロジェクト内のフォルダーをクロールします。スペックファイルは、型付けされた方言で記述された JS ファイルです。React Native は現在、Flow と TypeScript をサポートしています。
Codegen がスペックファイルを見つけるたびに、それに関連付けられた雛形コードを生成します。 Codegen は C++ グルーコードを生成し、次にプラットフォーム固有のコードを生成します。Android には Java を使用し、iOS には Objective-C++ を使用します。