React Confにて、React Nativeアプリの構築を始めるための最適なツールに関するガイダンスを更新しました。それは、本番環境対応のアプリを構築するために必要なすべてのAPIを備えたツールボックスである、React Nativeフレームワークです。ExpoなどのReact Nativeフレームワークの使用が、新しいアプリを作成する際の推奨アプローチとなりました。このブログ投稿では、フレームワークとは何か、そして新しいプロジェクトを開始するReact Native開発者にとってそれが何を意味するのかを詳しく説明します。
React Nativeフレームワークとは?
本番環境向けアプリを構築している場合、遅かれ早かれ解決する必要がある一連の共通問題があることをご存知でしょう。Webやネイティブでアプリケーションを構築する際、ユーザーが異なる画面間を移動し、データを取得し、ユーザーの状態を保存できるようにしたいと思うでしょう。しかし、ネイティブアプリの場合、さらに対処すべきことがあります。React Nativeバージョン間でネイティブコードをアップグレードするツール、すべての依存関係の互換性のあるバージョンの管理、ネイティブビルドツールへの対応が必要です。
適切なツールなしにアプリをアイデアから本番環境まで持っていくには、多くの労力が必要です。私たちは、これらの共通問題を何度も解決するのではなく、ユーザーのための美しいアプリケーションと機能の作成に集中してほしいと考えています。そのため、React Nativeを体験する最良の方法は、本番環境対応のアプリケーションを構築するために必要なすべてのツールを備えたツールボックスを提供するフレームワークを通じてだと信じています。
私たちは、あなたがフレームワークを使用しているか、独自のフレームワークを構築しているかのどちらかであることを発見しました。ルーティング、ナビゲーション、デプロイなどの独自のソリューションを作成して、独自のフレームワークを構築することに問題はありません。MetaやMicrosoftなどの大企業は、ブラウンフィールドアプリに深く統合するために、内部で独自のフレームワークを構築しています。しかし、ほとんどの人は既存のフレームワークを使用する方が良いと信じています。
WebでReactを使用している場合、本番グレードのReactフレームワークという類似の概念に馴染みがあるでしょう。
現在、React Nativeで唯一推奨されているコミュニティフレームワークはExpoです。Expoの人々は、React Nativeの初期からReact Nativeエコシステムに投資しており、現在、Expoが提供する開発者体験は最高クラスだと信じています。
注記
フレームワークとしてのExpoは無料でオープンソースであり、今後もそうあり続けます。一方、Expo Application Services(EAS)はオプションの有料サービスです。
最近Expoを使用していない場合は、Kadi @ Expoによる、2024年にExpoでできることを紹介するこの講演をぜひご覧ください。
また、この推奨事項を反映するために、ウェブサイトのGetting Startedページも更新しました。
フレームワークはあなたにどのような影響を与えるか?
Expoなどの推奨フレームワークをすでに使用している場合は、すでに準備完了です!
既存のアプリをExpoに移行したい場合は、公式Expoウェブサイトで手順を確認できます。Expoは、React Nativeバージョンのアップグレードをより簡単にする方法、より良い開発者体験など、多くの利点を提供します。
ただし、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には推奨フレームワークになるためのガイドラインも含まれており、この分野でより多くの競争と革新を見ることを期待しています。
さらに、App.js 2024での講演「useFrameworks()」もチェックしてください。そこで私たちはこのRFCと必要な変更を短い形式で発表しました。
React Native CoreとFrameworksのそれぞれの責任を明確にすることで、より健全なエコシステムを育成し、React Nativeの成長と革新を推進できると信じています。