今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
今日の優良食堂 · ギット飯が代わりに導入・分析

react/react-native

ReactとJavaScriptで書いたコードから、AndroidとiOSのネイティブUIアプリを作るためのライブラリです。

React の知識をそのまま持ち込んで、1つのコンポーネントコードから iOS と Android のビルドを同時に走らせる体験は、実際に試すと想像以上に手応えがあります。Hot Reload で保存した瞬間に画面が変わる様子を見ると、MVP を急ぐスタートアッププロジェクトでもこのまま進められると感じられるはずです。Gemfile や CocoaPods を含む依存関係管理やリリース自動化スクリプトまで揃っているため、単なるサンプルではなく、Meta が本番運用しているコードベースに直接触れる感覚が味わえます。

01 / 概要
何をするものか一文で言うと
ひとことでReactとJavaScriptで書いたコードから、AndroidとiOSのネイティブUIアプリを作るためのライブラリです。

このリポジトリはReact Nativeそのもので、JavaScriptのReactコードから Android・iOSのネイティブUIを描画するフレームワーク本体です。単一パッケージではなく、react-native本体・babel-preset・metro-config・asset-utilsなど多数のパッケージを含むmonorepo構成になっています。CIワークフローやリリーススクリプト、フォーマットツールも同梱されており、Meta社とコミュニティが開発・運用しています。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

コアの仕組みは、JavaScriptで書いたReactコンポーネントをネイティブのUIコンポーネントにマッピングして描画する点にあります。package.jsonのworkspacesにより「packages/*」以下の各サブパッケージ(asset-utils、assets-registryなど)が個別npmパッケージとして管理され、yarnで一括ビルド・テストされます。asset-utilsパッケージのAndroidPathUtils.jsを見ると、画像などのアセットをAndroidのdrawable-mdpi・drawable-xhdpiなどの解像度別リソースフォルダへ変換するロジックが実装されており、JS側のアセット参照をネイティブのリソースシステムに橋渡しする役割が確認できます。ビルドはgradlew(Android)とGemfile経由のCocoaPods(iOS)を併用し、.githubワークフロー群がAndroid/iOSのE2Eテスト・フォーマットチェック・npm公開・リリースノート生成までを自動化しています。JSテストはjestで、Flow型チェックとTypeScript型定義(.d.ts)の両方が並行して用意されている点も特徴です。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    READMEの案内に従い「npx create-expo-app@latest」を実行すると、Expoフレームワーク経由の新規React Nativeプロジェクトが作成されます。

  2. STEP 02

    本リポジトリ自体をcloneしてyarn installを行うと、workspacesに定義された多数のpackages配下パッケージが一括で解決されるのが分かります。

  3. STEP 03

    yarn testを実行すると、jest.config.jsに基づきJS側のユニットテスト(asset-utilsの__tests__など)が走ります。

  4. STEP 04

    yarn build-androidやyarn testios相当のスクリプトを実行すると、gradlewやCocoaPods経由でネイティブビルドが走り、Android/iOSそれぞれの環境準備が必要になることを体感します。

  5. STEP 05

    yarn format-checkを実行すると、JavaScript・C++・Kotlin・Java・Python・Swiftの6言語分のフォーマット検証が同時に走り、monorepoの多言語構成の規模を実感します。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

実際に手を動かすと、単一のJSコードベースからAndroidとiOSの両方にネイティブUIを描画できる開発体験そのものと、それを支える大規模monorepoのビルド・テスト・リリース基盤一式が手に入ります。asset-utilsのような小さなユーティリティパッケージ単体を取り出して使うことも可能です。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

本体のビルドにはAndroid StudioやXcode、Ruby(CocoaPods)、gradlewなど複数のネイティブ開発環境が必要で、README記載の手順だけでは完結しない部分があります。

02

READMEでも明言されている通り、Framework(Expoなど)なしで直接react-nativeを使う道は非推奨気味で、ドキュメントもExpo前提の記述が主です。

03

提供されたファイル群からはreact-native本体の中核実装(packages/react-native以下のネイティブブリッジ部分など)の詳細は確認できておらず、asset-utilsなど周辺パッケージのソースのみが根拠になっています。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

すでにReact/Reactの経験があり、AndroidiOS両対応のネイティブアプリをJSベースで作りたい開発者に向いています。READMEとasset-utilsの実装、CI構成から判断すると、ドキュメント整備・テスト網・リリース自動化が揺一していない大規模プロジェクトであることは明確に読み取れます。ただしネイティブビルド環境の重さは実際に手元で組んでみないと体感しづらく、その点は本レビューの範囲外です。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する