52 ポイント 投稿者 xguru 2025-03-04 | 6件のコメント | WhatsAppで共有
  • Reactは長年使われてきたことで、巨大なライブラリエコシステムが形成されている
  • 他の言語やフレームワークから来た開発者は、Reactアプリケーションの構築に必要なライブラリ選びに苦労することがある
  • Reactの中核は、コンポーネントベースのUIを構築するための機能中心のライブラリ
    • 関数コンポーネントReact Hooksを活用して、ローカル状態管理、副作用の処理、パフォーマンス最適化が可能
    • 最終的にコンポーネントとフックはいずれも、関数を活用してUIを構成する方式として動作する
  • 2025年に向けた大規模アプリケーション開発に必要な必須Reactライブラリを紹介する

Reactプロジェクトを始める

  • Vite : Reactプロジェクトをセットアップする最も人気の高いツール。高速なビルド速度と手軽なTypeScriptサポートを提供
  • Next.js :
    • Reactベースのメタフレームワークで、サーバーサイドレンダリング(SSR)と静的サイト生成(SSG)をサポート
    • ファイルベースルーティング、APIルート、React Server Components(RSC)など多様な機能を提供
  • TanStack Start (Beta) : Reactベースの新しいフレームワークで、React Server Componentsのサポートを予定。Next.jsの代替として開発中
  • React Router : Reactのクライアントサイドルーティングを代表するライブラリ。現在はRemixの影響を受けて変化している
  • Astro : フレームワーク非依存の静的サイト生成ツール。Reactと併用でき、不要なJavaScriptを最小限にしてパフォーマンスを最適化できる
  • Nitro , Redwood , Waku
    • React向けの新しいフレームワークおよびツール群
    • WakuはZustandの開発者が作った、React Server Componentsをサポートするライブラリ
  • おすすめ:
    • クライアントサイドレンダリング(CSR): Vite
    • サーバーサイドレンダリング(SSR): Next.js
    • 静的サイト生成(SSG): Astro

Reactパッケージマネージャー

  • npm : Node.js標準のパッケージマネージャーで、最も広く使われている
  • Yarn : より優れた依存関係管理と速度向上を提供
  • pnpm : 高性能だが、比較的普及度は低い
  • Turborepo : Monorepo管理ツールで、複数のReactプロジェクトを効果的に管理できる
  • おすすめ:
    • 一般的なパッケージ管理: npm
    • パフォーマンス最適化が必要な場合: pnpm
    • モノレポが必要な場合: Turborepo

React状態管理

  • useState, useReducer : React標準の組み込みフックで、コンポーネント内の状態を管理
  • useContext : グローバル状態管理のためのReact標準組み込みフック
  • Zustand : シンプルなAPIでグローバル状態を管理できるライブラリ。Reduxより使いやすく、近年多くの開発者に好まれている
  • Redux : 長年使われてきた状態管理ライブラリ。近年はRedux Toolkitが標準として定着している
  • XState, Zag : ステートマシンベースの状態管理ライブラリ
  • Mobx , Jotai , Nano Stores : ZustandやReduxの代替として使える状態管理ライブラリ
  • おすすめ:
    • ローカル状態: useState / useReducer
    • 小規模なグローバル状態: useContext
    • 大規模なグローバル状態: Zustand

Reactデータフェッチ

  • TanStack Query : RESTおよびGraphQL APIリクエスト向けのデータフェッチライブラリ。キャッシュ、同期、オプティミスティックアップデートなどの機能を提供
  • Apollo Client : GraphQL APIに最適化されたデータ管理ライブラリ
  • urql : 軽量なGraphQLクライアント
  • Relay : Facebookが開発した高性能GraphQLクライアント
  • RTK Query : Redux環境でデータフェッチを簡単に行えるよう支援するツール
  • tRPC : TypeScriptベースでバックエンドとフロントエンド間の型安全なAPI通信を提供。TanStack Queryと併用可能
  • おすすめ:
    • サーバーサイドデータフェッチ: React Server Components / Functions(対応するメタフレームワークを使用する場合)
    • クライアントサイドデータフェッチ: TanStack Query(REST、GraphQL)
    • GraphQL専用: Apollo Client
    • 型安全なAPI通信: tRPC

Reactルーティング

  • React Router : クライアントサイドルーティングで最も広く使われているライブラリ
  • TanStack Router (Beta) : TypeScriptサポートに優れた新しいルーティングライブラリ
  • おすすめ:
    • サーバーサイドルーティング: Next.js
    • クライアントサイドルーティング: React Router(最も広く使われている)、TanStack Router(最新トレンド)
    広告

ReactのCSSスタイリング

  • Tailwind CSS
    • Utility-First CSS方式で、あらかじめ定義されたクラスを活用して素早くスタイリング可能
    • デザインシステムの一貫性を保ちやすい一方で、クラス命名が複雑になることがある
  • CSS Modules
    • コンポーネントごとにスタイルをモジュール化し、グローバルスタイルの衝突を防げる
    • CSS-in-CSSアプローチの中で最も広く使われている
  • styled-components
    • JavaScriptコード内でCSSを定義するCSS-in-JS方式
    • パフォーマンスやサーバーサイド環境での問題から、近年は人気が下がる傾向にある
  • Emotion : styled-componentsに似たCSS-in-JSライブラリで、パフォーマンス最適化やユーティリティクラスの活用が可能
  • clsx : 条件付き className 設定を簡単にするユーティリティライブラリ
  • StyleX : Facebookが開発した新しいCSS-in-JSソリューション。最適化されたコンパイル方式でユーティリティファーストのスタイリングを提供
  • その他のCSSライブラリ : PandaCSS , linaria , vanilla-extract , nanocss , UnoCSS , Styled JSX
  • おすすめ:
    • 最も人気のある方式: Tailwind CSS
    • スタイルのモジュール化が必要な場合: CSS Modules
    • 最新のCSS-in-JSソリューション: StyleX

React UIライブラリ

  • Material UI (MUI) : フリーランスのプロジェクトで今なお多く使われているUIライブラリ。GoogleのMaterial Designシステムがベース
  • Mantine UI : 2022年に最も人気があったUIライブラリ。多彩な機能とカスタムスタイルに対応
  • Chakra UI : 2021年に最も人気があったUIライブラリ。アクセシビリティとスタイリングのしやすさに優れる
  • Hero UI : 以前のNext UIから名称変更されたUIライブラリ
  • Park UI : Ark UIベースのUIライブラリ
  • PrimeReact : さまざまなプリビルト(Prebuilt)UIコンポーネントを提供
  • ヘッドレスUIライブラリ
  • 使用頻度が減ったUIライブラリ
  • おすすめ:
    • スタイル込みのUIライブラリ: MUI, Mantine, Chakra UI
    • スタイルなしのヘッドレスUIライブラリ: shadcn/ui, Radix

Reactアニメーションライブラリ

  • Motion : 最もおすすめのアニメーションライブラリ(旧Framer Motion)
  • react-spring : 物理ベースのアニメーションを実装可能

Reactのチャートとデータ可視化

  • D3.js : 低レベルのチャートライブラリで強力だが、学習曲線は急
  • Recharts : 使いやすいチャートライブラリ。基本的なカスタマイズが可能
  • visx : D3に近い方式で動作するが、Reactフレンドリー
  • その他のチャートライブラリ : Victory , nivo , react-chartjs
  • おすすめ:
    • 手軽なチャート: Recharts
    • D3スタイルのカスタマイズ: visx
広告

Reactフォームライブラリ

  • React Hook Form : 最も広く使われているReactフォームライブラリ。zod と併用することで強力なフォームバリデーションが可能
  • Conform : フルスタックアプリケーションとの統合がしやすい新興フォームライブラリ
  • Formik , React Final Form : 伝統的なReactフォームライブラリで、現在も一部のプロジェクトで使われている
  • おすすめ:
    • フォームライブラリを選ぶなら React Hook Form + zod を使用

Reactのコードスタイルとフォーマット

  • ESLint : コードスタイル維持のためのリンター。人気のあるスタイルガイドを適用できる
  • Prettier : 一貫したコードフォーマットを提供するツール。ESLintと併用可能
  • Biome : Rustベースの高速なオールインワンリンター兼コードフォーマッタ(旧Rome)。ESLintやPrettierの代替として注目されている
  • おすすめ:
    • ESLint + Prettier の組み合わせを使用
    • 新しい代替として Biome を検討

React認証

  • Lucia : OAuthおよび暗号化機能をサポートする認証ソリューション
  • Better Auth : 最新の認証サービスの1つ
  • Auth.js : Next.jsやさまざまなフレームワークで簡単に使える認証ライブラリ
  • 有料認証サービス : Clerk , Kinde
  • Firebase/Supabaseベースの認証 : Supabase Auth
  • その他の認証サービス : AuthKit , Auth0 , AWS Cognito
  • おすすめ:
    • 手軽な認証: Auth.js, Supabase Auth
    • OAuthとセキュリティ機能を強化: Lucia, Better Auth

Reactバックエンド

  • Next.js : サーバーサイドレンダリング(SSR)とAPIルートを提供
  • Astro : 静的Webサイトの生成に適したフレームワーク
  • tRPC : 型安全なAPI通信のためのソリューション
  • Hono : 超軽量サーバーフレームワークで、Reactと併用可能
  • 伝統的なNode.jsバックエンドフレームワーク
    • Express : 最も人気のあるNode.jsバックエンドフレームワーク
    • Fastify : 高性能なNode.jsフレームワーク
    • NestJS : 大規模アプリケーションに適している
    • Elysia : 最新のTypeScriptベースのバックエンド
  • その他のバックエンドフレームワーク
  • おすすめ:
    • フルスタックReact開発: Next.js, tRPC
    • 伝統的なバックエンドが必要な場合: Express, Fastify

ReactデータベースおよびORM

  • Prisma : 最も人気のあるTypeScriptベースのORM
  • Drizzle ORM : Prismaの代替として注目されているORM
  • その他のORMおよびクエリビルダー : Kysely , database-js : PlanetScale専用
  • サーバーレスデータベース
  • Firebase/Supabaseベースのデータベース
  • おすすめ:
    • ORMが必要な場合: Prisma, Drizzle ORM
    • サーバーレスデータベース: PlanetScale, Neon
    広告

Reactホスティング

  • 自己管理型サーバー : Digital Ocean , Hetzner
  • フルマネージドホスティング :
    • Vercel : Next.jsプロジェクトに最適化
    • Coolify : 中間的なソリューション
  • その他のホスティングプラットフォーム
  • おすすめ:
    • Next.jsプロジェクト: Vercel
    • 自前でサーバー管理が必要な場合: Digital Ocean, Hetzner

Reactテストライブラリ

  • Vitest : Jestより高速で、最新のReactプロジェクトに最適化されたテストフレームワーク。テスト実行、アサーション、モック機能を提供
  • Jest : 古いプロジェクトでも広く使われているテストフレームワーク
  • React Testing Library (RTL)
    • Reactコンポーネントテストの代表的なライブラリ
    • HTML要素のレンダリングやイベントシミュレーション機能を提供
  • Playwright
    • 最もおすすめのE2E(End-to-End)テストツール
    • さまざまなブラウザやデバイス環境で自動テストが可能
  • Cypress : フロントエンド向けE2Eテストツールで、Playwrightと競合している
  • おすすめ:
    • ユニット/統合テスト: Vitest + React Testing Library
    • E2Eテスト: Playwright (または Cypress)
    • スナップショットテストの選択肢: Vitest

Reactとイミュータブルデータ構造

  • Immer :
    • イミュータブルデータ構造を簡単に扱えるようにするライブラリ
    • 複雑な状態変更ロジックを簡潔に実装可能

React多言語(i18n)対応

  • FormatJS : 日付、数値、通貨などのフォーマットを含む強力なi18nライブラリ
  • react-i18next : Reactで最も広く使われている多言語対応ライブラリ
  • Lingui : 最小限の設定で強力な多言語対応を提供
  • next-intl : Next.jsプロジェクト向けの多言語ライブラリ
  • おすすめ:
    • 最も一般的な選択肢: react-i18next
    • Next.jsベースのプロジェクト: next-intl
広告

Reactリッチテキストエディタ

  • TipTap : 拡張性に優れた最新のリッチテキストエディタ
  • Plate : Slate.jsベースの強力なエディタソリューション
  • Lexical : Facebookが開発した軽量リッチテキストエディタ
  • Slate : カスタマイズ可能なリッチテキストエディタフレームワーク
  • おすすめ:
    • 柔軟な拡張性が必要な場合: TipTap
    • 軽量かつ最適化されたエディタ: Lexical

React決済システム

  • PayPal : 最も広く使われている決済システムの1つ
  • Stripe : 開発者フレンドリーな決済APIを提供
  • その他の決済ソリューション
  • おすすめ:
    • 手軽な決済ソリューション: Stripe
    • PayPal対応が必要な場合: PayPal または Braintree

Reactでの時間・日付処理

  • date-fns : 軽量でありながら多様な日付・時刻関数を提供
  • Day.js : Moment.jsの軽量な代替で、APIも似ている
  • おすすめ:
    • 最も軽量なライブラリ: Day.js
    • 機能が豊富なライブラリ: date-fns

Reactデスクトップアプリケーション

  • Electron :
    • クロスプラットフォームのデスクトップアプリケーション開発フレームワーク
    • Web技術(HTML、CSS、JS)で Windows、macOS、Linux アプリケーションを作成可能
  • Tauri
    • Electronより軽量な代替で、Rustベースのバックエンドを使用
    • セキュリティと性能が重要なプロジェクトに適している
  • おすすめ:
    • Web技術をそのまま活用: Electron
    • 軽量 & セキュリティ優先: Tauri

Reactファイルアップロード

  • react-dropzone : ファイルアップロードのためのReactフックベースのライブラリ。ドラッグ&ドロップ機能をサポート
広告

Reactメールレンダリング

  • react-email (おすすめ): Reactコンポーネントを活用したレスポンシブHTMLメールを作成可能
  • mjml : HTMLメールを簡単に生成するためのマークアップ言語
  • Mailing : 開発者が簡単にメールを作成・管理できるよう支援
  • jsx-email : JSX構文を活用したメールテンプレートの作成が可能
  • メールサービスプロバイダー:
  • おすすめ:
    • Reactスタイルでメールを作成: react-email
    • メールサービスが必要な場合: SendGrid、Mailgun

Reactドラッグ&ドロップ

  • @hello-pangea/dnd : react-beautiful-dnd の後継プロジェクトで、簡単な使い方を提供
  • dnd kit : 高い柔軟性とカスタマイズ性があるが、学習コストがある
  • おすすめ:
    • 簡単なドラッグ&ドロップ: @hello-pangea/dnd
    • カスタマイズが必要な場合: dnd kit

Reactモバイル開発

  • React Native : Reactベースのクロスプラットフォームモバイルアプリケーション開発フレームワーク
  • Expo : React Native開発をさらに簡単にするツールチェーン
  • Tamagui : Webとモバイルで同じUIコンポーネントを使えるよう支援
  • おすすめ:
    • モバイル開発: React Native + Expo
    • WebとモバイルUIの統合: Tamagui

React VR/AR開発

  • react-three-fiber : Three.jsベースの3Dレンダリングライブラリ。VR対応事例あり
  • react-360 (アーカイブ済み): Facebookが開発したVR/ARフレームワーク(現在はメンテナンス停止)
  • aframe-react (すでにメンテナンス終了): A-FrameをReactで使えるようにするライブラリ
  • おすすめ:
    • 最新のReact 3D/VRライブラリ: react-three-fiber

Reactデザインプロトタイピング

  • Figma : UI/UXデザインとプロトタイピングのための最も人気のあるツール
  • Excalidraw : 手描き風のワイヤーフレームやダイアグラムを作成可能
  • tldraw : Excalidrawに似たスケッチツール
  • おすすめ:
    • UI/UXデザイン: Figma
    • シンプルなワイヤーフレーム: Excalidraw

Reactコンポーネントのドキュメント化

  • Storybook : UIコンポーネントの開発とドキュメント化のための代表的なツール
  • Docusaurus : 技術ドキュメント向けの静的サイトジェネレーター
  • Styleguidist : Reactコンポーネント中心のスタイルガイド文書化ツール
  • React Cosmos : UIコンポーネントを独立して開発・テストできる環境を提供
  • おすすめ:
    • コンポーネントのドキュメント化: Storybook
    • 技術ドキュメントの作成: Docusaurus

6件のコメント

 
tmdeoans 2025-10-12

ssgoi.dev: Reactページ遷移ライブラリ

これも追加していただけるとありがたいです(笑)..

 
clastneo 2025-03-04

expoはRNのフレームワークと見なすべきではないかと思います。

 
codemasterkimc 2025-03-04

Googleトレンドで検索すると、reduxは90%でzustandは10%にも満たないと認識していますが、zustandが上にあるんですね(笑)

 
dooboo 2025-03-04

レガシーの力ですね。

ちなみに jQuery の市場シェアは 90% です...

 
xguru 2025-03-04

React技術スタック 2025 もあわせて参考にしてください

 
xguru 2025-03-04

2022年時点でReactでアプリ開発する際のおすすめライブラリ

毎年更新しているようですが、3年ぶりですね。比較して見るとよいです。