🚀

わかりみが深い!State of React Native 2024 から読み解くアプリ開発

2025/03/01に公開

はじめに

State of React Native 2024 が公開されました🎉

2024年12月9日〜2025年1月8日の約1か月間にわたり、3,501人の開発者の声が集まりました。このレポートを読み最新のトレンド、技術的な進化、そして今後の展望を独断と偏見も含めてまとめてみました。

アプリ開発の選択肢として 「React Native、アリかも?」 と思ってもらえたら嬉しいです🙇‍♂️

個人的熱々ポイント🔥

Expoの世界観

最も大きな変化の一つが Expo の台頭です。Expoは、React Native開発を簡単にするためのツールセットで、現在では約8割の開発者がExpo CLIを利用しています。

さらに、React Native公式も 「Expoなどのフレームワーク利用が新規プロジェクトの推奨手法」 と明言するまでになりました。

Expoが提供する EAS(Expo Application Services) によるビルド自動化サービスも約70%の開発者が活用しており、手動でのビルド作業から解放されつつあります。
これにより、特にiOSアプリ開発でMacが必須だった状況から脱却し、クラウド上でビルドできるようになりました。

Expoの台頭は、アプリ開発の敷居を大幅に下げたと思ってます。以前はネイティブ開発の知識がないと躓くポイントが多かったのですが、Expoのおかげで「JavaScriptができれば、モバイルアプリが作れる」 という約束が現実になりつつあると思っています🙌

特に個人開発者やスタートアップにとって、Expoは開発コストを劇的に削減できるので、今から新規プロジェクトを立ち上げるならExpoを使わない人は少ないでしょう!

React Nativeのビルドと公開の状況
統計: ビルドから公開までの時間がどう変化しているか

https://results.2024.stateofreactnative.com/en-US/build-and-publish/

New Architecture のデフォルト化

React Nativeチームが長年取り組んできた New Architecture が、2024年についに標準となりました。v0.76以降ではデフォルトで有効化され、現在約半数のプロジェクトがNew Architecture上で動作しています。

New Architectureは、従来のJavaScript Bridgeを使った通信方式から、より効率的なFabricやTurbo Modulesを中心とする構成に変わりました。

詳しくは以下の記事でもまとめているので参考にしてもらえればと思います🙇‍♂️

https://zenn.dev/kazuyakk/articles/b0a4870f026727#new-architecture

New Architectureの移行は、React Nativeの長年の課題だった 「ネイティブっぽさが無い」 という批判に対するソリューションです。これを実際に使ってみると、特に複雑なアニメーションやスクロールが滑らかになったことを実感できます。

ただ、移行には既存ライブラリの互換性問題という壁があり、全てのプロジェクトがすぐに恩恵を受けられるわけではありません。2025年は多くのライブラリが対応を完了し、エコシステム全体がNew Architectureに移行する転換点になると思います。

https://results.2024.stateofreactnative.com/en-US/react-native-architecture/

RSC(React Native Server Components)

2024年の大きな技術的進化として、React Native Server Componentsの導入が挙げられます。これはReact 18 でリリースされたReact Server Componentsをモバイルアプリにも適用する技術です。

従来のモバイルアプリでは難しかった サーバー側でのレンダリングやデータの先取り が可能になります。これにより

  • アプリの初期ロード時間の短縮
  • データ通信量の削減
  • より効率的なアプリ構築

Server Componentsは、モバイルアプリとウェブの境界をさらに曖昧にする革新的な技術だと思います。特に大量のデータを扱うアプリや、コンテンツが頻繁に更新されるアプリにとって、ゲームチェンジャーになる可能性があります。ただし、まだ発展途上の技術であり、実際のプロダクションでの活用例はこれからかなと思っています。
2025年以降、この技術がどう進化し、どんなユースケースが生まれるかに注目しています。

React Server Componentsの普及により、モバイルアプリとウェブアプリの境界がさらに曖昧になることで、「一度書けば、どこでも動く」という理想的な世界観が近いと思っています👏👏👏

https://results.2024.stateofreactnative.com/en-US/conclusion/

エコシステムの安定化と課題

React Nativeの開発体験は年々改善されていて、個人的にも開発体験は日々上がっていることを実感しています。

  • 「React Nativeは正しい方向に進化している」 と感じる開発者は過去最高の88%
  • 「React Native開発は複雑すぎる」 と感じる人は22%まで減少(昨年の半分)

React Native のエコシステムの変化スピード
統計: React Native のエコシステムの変化のスピードについて

開発でツラいところ

まだ残る課題としてアンケートもとられ、実際に開発・運用している開発者は思い当たることが多いと思います。

1位は「メンテナされていないパッケージの多さ」(ライブラリの更新停止)​があげられました。
これは、オープンソースの宿命とも言える問題ですが、コミュニティの成熟とともに、より信頼性の高いライブラリのエコシステムが形成されつつあるかと思います。

2位には 「デバッグの困難さ」 で、これは2024年に新たに公開された公式 React Native Debugger が求められていた理由でもあります​。ただ 「デバッグの困難さ」 は自身も日々感じる課題です。エラーメッセージが分かりにくく、問題の原因特定に時間がかかることがあります。さらにクロスプラットフォームならではの端末やOSに依存した挙動によるバグなど原因の追及が難しい課題もあります。

それ以下には「キーボード周りの扱いづらさ」(キーボードによるレイアウト崩れ対応など)​、「分かりにくいエラーメッセージ」​、そして「ネイティブコードとの連携の大変さ」​が挙がりました。

React Native の課題
統計: React Native の課題について

驚いたのは、昨年4位だった「アップグレード作業の難しさ」は10位まで後退しました。
昔から React Native を触っている開発者はバージョンアップには苦しんだ人も多いのではないかと思います。ただ現状はExpoの普及やツール整備によってバージョン移行が容易になってきたのが要因なのかと思います。

https://results.2024.stateofreactnative.com/en-US/opinions/

React Native を採用することについて

回答者の圧倒的多数(約85%以上)がReact Nativeを仕事で使用していると答えており、個人の趣味や学習用途だけではなく、実務で活用されるフレームワークとして定着していることが分かります。

React Native 利用目的
統計: React Native 利用目的

さらに開発者のバックグラウンドを見ると、iOSやAndroidのネイティブアプリ経験者よりも Reactの経験者やFrontend経験者が多いようです。Webエンジニアが多い企業でもネイティブアプリを開発しやすくなったのは業界としても良い傾向ですよね。

開発者のバックグラウンド
統計: React Native 開発者のバックグラウンド

https://results.2024.stateofreactnative.com/en-US/developer-background/

実際、React Native製アプリを複数リリースしている開発者や大規模ユーザ数のプロダクトに関わる開発者も多く、プロダクションレベルでの採用が一般化しています。

さらに様々な業界で活用されており、

  • 金融(608件)
  • ヘルスケア&フィットネス(539件)
  • 教育(524件)
  • エンターテインメント(467件)
  • その他:通信(チャット)、生産性ツール、EC、飲食、ライフスタイルなど

金融やヘルスケアといった「ミッションクリティカル」な分野で採用が進んでいるのは、React Nativeの信頼性が高まっている証拠だと思います。かつては 「本格的なアプリには向かないのでは」という偏見もあったけれど、今やエンタープライズレベルでも十分な実績があります。

特定の業種に偏らず、幅広い分野で採用されていることは クロスプラットフォーム開発という価値提案が、業種を問わず普遍的に受け入れられていることになっている ことを表しています。

弊社でも React Native を採用していまして、Ubieにとって React Nativeがフィットした理由や検討した点がまとまっているので是非みてもらえたらと思います🙏

https://zenn.dev/ubie_dev/articles/46cf443d5dd25b

ライブラリ・ツールの動向

状態管理については、依然として React標準のステート管理(useStateやContext API)が約91% と最も多くの開発者に使われています。

  • React標準のステート管理(useStateやContext API)が最も多く使われている(約91%)
  • 軽量ライブラリ Zustand(チュースタンド) の人気が急上昇(約47%の採用率)
  • Redux系も根強く、従来型Reduxを使う人は71%、Redux Toolkitは61%

またサーバー状態管理(APIデータ管理)では、TanStack Query(旧React Query) が約59%と圧倒的支持を得ています。「外部APIと通信するReact Nativeアプリにはほぼ必須」と評されるほど定番となっているみたいです。

開発者がデータ取得に使用するライブラリの人気度の変化
統計: React Native 開発者がデータ取得に使用するライブラリの人気度の変化

スタイリングでは、基本的なStyleSheet APIが依然として主流ですが、Web由来のアプローチも急速に普及しています:

  • NativeWindの利用率は36.9%(昨年比+15ポイント)
  • Tailwindライクなユーティリティスタイルへの移行が進行中

状態管理ツールの多様化は、「一つのサイズがすべてに合う」わけではないという認識が広まった証拠だと思います。小規模アプリではuseStateとContextで十分、中規模ならZustand、大規模で複雑な状態管理が必要ならRedux Toolkitというように、プロジェクトの規模や要件に応じた選択ができるようになってきました。

スタイリングについては、NativeWindのような「Webと同じ感覚で書ける」ツールの台頭が印象的です。これはReact Nativeの強みである Webの知識を活かせる という点をさらに強化するものであり、今後も成長が期待できる分野だと思います。

React Native スタイリング手法の利用率
統計: React Native スタイリング手法の利用率

https://results.2024.stateofreactnative.com/en-US/state-management/

コミュニティの盛り上がり

全体として、2024年の調査結果からはReact Nativeコミュニティの活力と前向きな姿勢が感じられます。

88%もの開発者が現在のReact Nativeの方向性を支持しており​、コミュニティのコンセンサスとして 「React Nativeは今なお進化を続け、価値が高まっている」 という認識が共有されています。

日本でもコミュニティがあり、定期的にイベントを開催中。先日はMetaチームも参加されていましたよ!

https://react-native-meetup.connpass.com/

個人的にもReact Nativeは、 「成熟期」 に入ったと感じています。初期の不安定さや実験的な要素が徐々に解消され、企業が安心して採用できるレベルに達しました。 特にのNew Architecture標準化とExpoの公式推奨は、今後数年間のReact Native開発の方向性を明確に示すものになったと思っています。

2025年は特に 開発体験(DX) が良くなるかと思います。React Native Debugger やエラーメッセージの改善、効率的なビルドツールなど、日々の開発を快適にする環境がさらに整備されそうです。

「これはついに version 1.0 か!?」 と期待しています。(ぼそっ)

余談: React Native Meetupで「メジャーバージョンアップはいつか?」という質問があり、
「Breaking change がなくなったら」 という回答もあった。

React Native の方向性に対する評価
統計: React Native の方向性に対する評価

まとめ

開発体験は着実に向上し、企業での採用も拡大しています。課題はまだありますが、コミュニティとMeta社の継続的な取り組みにより、それらも徐々に解決されつつあります。

これからアプリ開発をしようと思っている方は、今がReact Nativeを始めるベストなタイミングかもしれません!

Expoの充実したドキュメントと簡単なセットアップ、エコシステムにより、以前よりもはるかに学習しやすい環境が整っていますのでぜひ一度アプリ開発でReactNativeを触ってみてください🙌

参考記事

Ubie テックブログ

Discussion