Node.js / TypeScript / React / Next.jsの関係性についてまとめました。
1. 全体像
Node.js ← JavaScriptをサーバーサイドでも動かせるようにしたWeb開発の実行環境(土台)
↑
TypeScript ← JavaScriptスーパーセット
↑
React ← UI(ユーザーインターフェース)を作るためのJavaScriptライブラリ
↑
Next.js ← Reactベースのフレームワーク
2. 役割と関係性
Node.js
サーバーを立てたり、npm install
など全体の「下支え」となる。
- Webサーバーを動かすことも、開発ツール(npmなど)を動かすこともできる
- Next.jsやReactを動かすために必須
TypeScript
全体のコード品質・安全性を高めるために使う。
- バグを減らし、チームでの開発や保守をしやすくする
- ReactやNext.jsのコードをTypeScriptで書くのが主流
React
「見た目」や「操作感」を作る技術
- 「コンポーネント」を組み合わせてWeb画面を作る
- ページ遷移や状態の管理もできる
- Next.jsの中核として使われている
Next.js
フルスタック開発が可能なReact特化型フレームワーク
- ReactのUIに加え、ページ遷移、ルーティング、API、SSR、ビルドなどを提供
- 「Reactだけで作ると面倒」な部分をすべて解決してくれる
- Node.js の実行環境上で動作し、TypeScriptとも相性がよい
3. 開発フロー
- Node.jsで開発環境を構築する(npm install)
- TypeScriptで型安全なコードを書く
- ReactでUI(ボタン、一覧、フォーム)を作る
- Next.jsでページルーティング・APIエンドポイント・ビルドを管理する
TypeScript + React + Next.jsの構成例
page.tsx
export default function HomePage() {
const [count, setCount] = useState<number>(0);
return (
<div>
<h1>Hello</h1>
<p>カウント: {count}</p>
<button onClick={() => setCount(count + 1)}>+1</button>
</div>
);
}
- TypeScriptによる型指定(
useState<number>
) - ReactのUI
- Next.jsのページルーティング(
page.tsx
) - Node.jsが裏でこれらを動かす
今回はここまでです。