OpenAIReact Native2024/06/25 0:00

Use a framework to build React Native apps

要点だけを先に読めるように短く再構成したセクションです。

元記事

Quick Digest

要約

要点だけを先に読めるように短く再構成したセクションです。

openaijamodel: gpt-5-mini-2025-08-07

React Nativeアプリの構築に推奨されるフレームワーク(Expo推奨)

Key Points

  • Expoを推奨
  • 既存非フレームワークは継続サポート
  • CLIは外部パッケージへ移行

Summary

React Confでの方針更新により、React Nativeで新規アプリを作る際は「フレームワーク(例:Expo)」を使うことが推奨されます。フレームワークはネイティブアップグレード管理、依存互換性、ビルドツール連携などの共通問題をまとめて提供し、開発者はアプリの機能実装に集中できます。Expoは現時点で公式に推奨されるコミュニティフレームワークで、フレームワーク本体はOSS、EASは有償オプションです。

Key Points

  • フレームワーク(例:Expo)を使うことで、アップグレード、ビルド、デプロイ、共通APIが一式揃うため生産性が向上します。
  • Expoは現時点で推奨フレームワーク。移行ガイドやドキュメントが公式に用意されています。
  • フレームワークを使えない場合でも、非フレームワーク(react-native core)での開発は引き続きサポートされます。
  • react-native init はコアから分離され、npx @react-native-community/cli@latest init で利用します。
  • ライブラリ制作者向けのAPI推奨や、RFC0759で推奨フレームワークになるためのガイドラインが公開されています。

Practical actions

  • 新規プロジェクトはまずExpoを検討:公式ドキュメントと移行ガイドを確認する。
  • 既存プロジェクトをExpoへ移行する場合は公式の移行手順に従う。
  • ライブラリ開発者はRFC0759を読み、推奨APIに沿って互換性を保つ。
  • CLIが分離された点を踏まえ、スクリプトやCI設定で新しい初期化コマンドを利用する。

Full Translation

翻訳

原文の流れを保ったまま読める翻訳セクションです。

openaijamodel: gpt-5-mini-2025-08-07

フレームワークを使ってReact Nativeアプリを構築する

概要

React Confで、React Nativeアプリの開始に最適なツールに関する方針を更新しました:React Nativeフレームワーク — 本番環境に対応したアプリを構築するために必要なAPI群をまとめたツールボックスです。ExpoなどのReact Nativeフレームワークを使うことが、新しいアプリを作る推奨アプローチになりました。本記事ではフレームワークとは何か、その詳細と、新規プロジェクトを始めるReact Native開発者にとって何を意味するかを説明します。

React Nativeフレームワークとは?

もしすでに本番アプリを構築しているなら、遅かれ早かれ直面する共通の問題群があることはご存知でしょう。Webでもネイティブでも、アプリでは通常、画面遷移(routing/ navigation)、データ取得、ユーザーの状態の保存などが必要です。しかしネイティブアプリではさらに対応が必要なものが増えます:

  • React Nativeのバージョン間でネイティブコードをアップグレードするためのツール
  • 依存関係の互換バージョンの管理
  • ネイティブビルドツールの扱い

適切なツールがなければ、アイデアを本番に持っていくには多大な労力がかかります。私たちは、開発者がユーザー向けの美しいアプリや機能の作成に集中できるよう、これらの共通課題を繰り返し解決するのではなく、必要なツール群を提供するフレームワーク経由でReact Nativeを体験することが最良だと考えています。

実際、多くの人は“フレームワークを使っている”か“自分でフレームワークを作っている”かのどちらかです。ルーティングやナビゲーション、デプロイのための独自ソリューションを作るのは間違いではありません。MetaやMicrosoftのような大手企業は、自社の既存アプリ(brownfield apps)へ深く統合するために内部用のフレームワークを構築しています。しかし、ほとんどの人にとっては既存のフレームワークを使う方が良い結果を生むと考えています。

WebでのReactを使った経験があるなら、同様の“プロダクショングレードのReactフレームワーク”という概念に馴染みがあるでしょう。現時点でReact Native向けに推奨されるコミュニティフレームワークはExpoのみです。ExpoチームはReact Nativeの初期からエコシステムに投資してきており、現在においてもExpoが提供する開発者体験は最高レベルであると私たちは考えています。

注:Expo(フレームワーク自体)は今後も無料でオープンソースのままです。一方でExpo Application Services (EAS) はオプションの有償サービスです。

もし最近Expoを試していないなら、Kadi @ Expoによる2024年のExpoの紹介トークを見逃さないでください。私たちはまた、ウェブサイトのGetting Startedページもこの推奨に合わせて更新しました。

フレームワークはあなたにどう影響するか?

  • 既にExpoなどの推奨フレームワークを使っている場合:そのまま問題ありません。
  • 既存のアプリをExpoに移行したい場合:公式Expoサイトに移行手順があります。

Expoを使うメリットの例:

  • React Nativeのバージョンアップが容易になる
  • 開発者体験(DX)が向上する
  • そのほか多数の利点

ただし、どうしてもExpoに移行できない、あるいは移行したくない場合でも問題ありません。フレームワークを使わないReact Nativeの利用は引き続きサポートされます。これまで使ってきたツール(React Native Community CLI、Template、Upgrade Helperなど)は従来通り動作し続けます。

なお、react-native initコマンドはコアから外れ、現在は以下から利用できます:

npx @ react - native - community / cli @ latest init

およびGitHub上の react-native-community/cli にあります。

もしあなたがReact Nativeライブラリの開発者であれば、どのAPIを使うべきかの推奨事項をまとめています。詳細はRFCを参照してください。

さらに読む

この決定の背景にある考え方をより詳しく知りたい場合は、RFC0759: React Native Frameworks をお読みください。このRFCはReact Nativeエコシステムのさまざまなパートナーや関係者との数か月にわたる議論とブレインストーミングの成果です。

現時点でExpoが唯一の推奨フレームワークですが、RFCには推奨フレームワークになるためのガイドラインも含まれており、この分野でより多くの競争とイノベーションが生まれることを期待しています。

また、短い形式でこのRFCと必要な変更点を紹介したトーク useFrameworks() at App.js 2024 もぜひご覧ください。

私たちは、React Native Coreとフレームワークそれぞれの責任範囲を明確にすることで、より健全なエコシステムを促進し、React Nativeの成長とイノベーションを後押しできると信じています。