React アプリの作成
あなたのアプリが既存のフレームワークではうまく対応できない制約を有している場合や、自分自身でフレームワークを構築したい場合、または React アプリの基本を学びたい場合は、ことも可能です。
フルスタックフレームワーク
これらの推奨フレームワークは、アプリを本番環境でデプロイしスケールするために必要な、すべての機能をサポートしています。最新の React 機能を統合し、React のアーキテクチャを活用しています。
Next.js (App Router)
は、React のアーキテクチャを最大限に活用してフルスタック React アプリを実現する React フレームワークです。
Next.js は によってメンテナンスされています。Next.js アプリは Node.js や Docker コンテナをサポートする任意のホスティングプロバイダ、もしくは自前のサーバ上に。さらに Next.js は、サーバ不要のもサポートしています。
React Router (v7)
は、React 用の最も人気のあるルーティングライブラリであり、Vite と組み合わせてフルスタック React フレームワークを作成できます。標準の Web API を重視しており、さまざまな JavaScript ランタイムやプラットフォーム向けにをいくつか提供しています。
新しい React Router フレームワークプロジェクトを作成するには、以下のコマンドを実行します。
React Router は によってメンテナンスされています。
Expo (ネイティブアプリ用)
は、真にネイティブな UI を持つユニバーサルな Android、iOS、および Web アプリを作成できる React フレームワークです。 用の SDK を提供することでネイティブ部分を使いやすくしています。新しい Expo プロジェクトを作成するには、以下のコマンドを実行します。
Expo を初めて使用する場合は、をチェックしてください。
Expo は によってメンテナンスされています。Expo を使ったアプリ構築は無料であり、Google や Apple のアプリストアにも制限なく申請できます。また Expo ではオプトインの有料クラウドサービスも提供しています。
その他のフレームワーク
私たちのフルスタック React ビジョンに向けて取り組んでいる他の新進のフレームワークも存在します。
- : TanStack Start は、TanStack Router を活用したフルスタック React フレームワークです。Nitro や Vite などのツールを使用して、フルドキュメント SSR、ストリーミング、サーバ関数、バンドル機能などを提供します。
- : Redwood は、多くのプリインストールされたパッケージと設定を備えたフルスタック React フレームワークで、フルスタックウェブアプリケーションを簡単に構築できます。
さらに深く知る
React チームのフルスタックアーキテクチャビジョンに含まれる機能
React チームのフルスタックアーキテクチャビジョンに含まれる機能
Next.js の App Router バンドラは、公式の を完全に実装しています。これにより単一の React ツリー内で、バンドル時専用コンポーネント、サーバ専用コンポーネント、インタラクティブなコンポーネントを混在させることができます。
例えば、データベースやファイルから読み込みを行う React コンポーネントを非同期 (async
) 関数として記述できます。そしてそのデータをインタラクティブなコンポーネントに渡すこともできます。
Next.js の App Router は、を統合しています。これにより、React ツリー内で直接、UI の様々な場所に表示されるロード中状態(スケルトンプレースホルダなど)を指定できるようになります。
サーバコンポーネントとサスペンスは、Next.js の機能ではなく React の機能です。しかしフレームワークレベルでこれらを採用するには、合意形成とかなりの実装の手間が必要です。現時点では、Next.js の App Router が最も完全な実装です。React チームはバンドラの開発者と協力して、次世代のフレームワークでこれらの機能を実装しやすくすることを目指しています。
ゼロから構築を始める
あなたのアプリが既存のフレームワークではうまく対応できない制約を有している場合や、自分自身でフレームワークを構築したい場合、または React アプリの基本を学びたい場合には、ゼロから React プロジェクトを始めるための他の選択肢があります。
ゼロから始めることでより柔軟性が得られますが、ルーティング、データフェッチ、その他の一般的な使用パターンにどのツールを使用するかを選択する必要があります。これは、既存のフレームワークを使用する代わりに自分自身でフレームワークを構築するようなものです。には、これらの問題に対する組み込みの解決策があります。
独自のソリューションを構築したい場合は、ガイドを参照し、、、または のようなビルドツールを使って新しい React プロジェクトをセットアップする方法を確認してください。
このページに掲載されることに興味のあるフレームワークの作者の方は、。