React が登場してしばらく経ちます。それ以来、コンポーネント駆動型ライブラリの周りには、充実していながらも圧倒的なライブラリのエコシステムが発展してきました。
他のプログラミング言語やライブラリ/フレームワークから来た開発者は、React で Web アプリケーションを作成するためのすべてのライブラリを把握するのに苦労することが多いですよね。
React の核心とは、機能コンポーネントを使ってコンポーネント駆動型のユーザーインターフェースを作成できることです。
例えば、ローカルステート、副作用、パフォーマンス最適化のための React Hooks などです。しかし、結局のところ、ここではUIを作成するための関数(コンポーネントとフック)を扱っているに過ぎないということは心に留めておきたいですよね。
以下は、2024年に使われるであろう技術の用例をまとめたものです。
1. React プロジェクトのセットアップ
Vite
Vite は高速かつ意見がまとまった React プロジェクトのセットアップです。効率的な開発のためにネイティブESモジュールを活用しています。
現代の JavaScript の機能に組み込まれたサポートと印象的な速度で迅速な開発を提供します。
Next.js
Next.js は多様なReactフレームワークで、サーバーサイドレンダリング(SSR)を可能にし、パフォーマンスと SEO を向上させます。
静的サイト生成(SSG)もサポートしており、強力なプラグインシステムで拡張性を提供しています。
Astro
Astro は静的サイトジェネレーターで、静的と動的なウェブサイトの利点を組み合わせています。React コンポーネントをビルド時に使用できるため、高速な読み込み時間を実現します。
静的ファイルのホスティングには Astro を使うのが最も良い選択肢となるでしょう。
2. React パッケージマネージャー
npm
npm は Node.js のデフォルトのパッケージマネージャーであり、React プロジェクトの依存関係を管理するために広く使用されています。
広範なパッケージのレジストリと直感的なコマンドラインインターフェースを提供しています。
pnpm
pnpm は依存関係をプロジェクト間で共有することパフォーマンスを向上させることを目指した代替のパッケージマネージャーです。
依存関係を効果的に共有することにより、ディスクスペースの節約と高速なインストールを提供します。したがって、通常のnpmやyarnと同じように使えますが、インストールやアップデートの際により高速な処理が期待できます。
3. React ステート管理
Zustand
Zustand は React の軽量なステート管理ライブラリです。
シンプルな API と直感的なステート管理のアプローチを提供します。
4. React データの取得
TanStack Query
TanStack Query は React アプリケーションでの API リクエストを簡素化するデータ取得ライブラリで、REST および GraphQL API の両方をサポートし、データの取得とキャッシュのための簡潔な構文を提供します。
5. ルーティング
React Router
React Router は React アプリケーションでの宣言的なルーティングのためのデファクトスタンダードです。使いやすさと頑強なナビゲーション機能で知られています。
TanStack Router
TanStack Router は特に TypeScript 愛好者の間で人気があります。
型の安全性とモダンなルーティングアプローチを提供するため、流行りの代替手段となっています。
6. ReactでのCSSスタイリング
ユーティリティファーストCSS(例:Tailwind CSS)
Tailwind CSS は事前に定義されたクラスを提供するユーティリティファーストの CSS フレームワークで、カスタマイズを犠牲にせずに開発の効率を向上させます。
CSS-in-CSS(例:CSS Modules)
CSS Modules は React コンポーネント内でスタイリングをカプセル化し、グローバルなスタイルの衝突を防ぐためのモジュラーで保守しやすいスタイリングプラクティスを提唱しています。
CSS-in-JS(非推奨)
CSS-in-JS はスタイリングに使用されることがありますが、潜在的なパフォーマンスのオーバーヘッドと複雑性が増加する可能性があるため、一般的には推奨されません。
CSS-in-TS
TypeScript を使用したスタイリングでは、型付きのスタイルを使用して、React コンポーネントのコードの明確さとツールのサポートを向上させます。
参考
