0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Next.js アプリの速度を向上させるためのベストプラクティス【記事解説】

Posted at

この記事では、Next.js アプリのパフォーマンスを向上させるために有効なベストプラクティスがまとめられています。Next.js は強力で使いやすいフレームワークですが、アプリを高速化するためにはいくつかの重要なポイントを押さえる必要があります。

以下に、記事内容を分かりやすく解説します。

1. Server-Side Rendering(SSR)を活用する

SSR は、ページの初期 HTML をブラウザではなく サーバー側でレンダリングする手法です。
これにより、ユーザーの初回表示が速くなり、特にモバイル環境で大きな改善が期待できます。
Next.js では getServerSideProps を使うことで簡単に SSR を実装できます。

export async function getServerSideProps() {
  const data = await fetch('YOUR_API');

  return { props: { data } };
}

2. Dynamic Import(動的インポート)でコード分割

アプリ起動時に 全コンポーネントを読み込む必要はありません。

Next.js の dynamic() を使えば、必要な時にだけ読み込むことができ、初期ロードを高速化できます。

const DynamicComponent = dynamic(() => import('../components/LoginButton'));

3. キャッシュを活用する

キャッシュはレスポンス高速化の基本です。
Next.js では API ルートや SSR に対してヘッダを設定するだけで簡単にキャッシュできます。

res.setHeader('Cache-Control', 'public, s-maxage=10, stale-while-revalidate=59');

静的ファイルは Next.js が自動で最適化してくれます。

4. 不要な依存関係を削除する(depcheck の活用)

依存パッケージは多ければ多いほどアプリが重くなります。

使っていない npm パッケージは削除する

大規模プロジェクトでは depcheck を使用して洗い出す

npx depcheck

5. 画像を最適化する

画像はアプリを重くする最大の要因です。
Next.js の next/image コンポーネントを使うと以下の最適化が自動で行われます。

遅延ロード(lazy loading)

適切なフォーマット

プレースホルダー表示

自動リサイズ

<Image src={image_url} alt="text" width={500} height={500} />

6. スクリプトを最適化(next/script)

Google Analytics などの外部スクリプトはパフォーマンスに悪影響を与えます。
Next.js の next/script を使うと、読み込みタイミング(strategy)を制御できます。

<Script src="..." strategy="lazyOnload" />

使用できる strategy:

afterInteractive:ページがインタラクティブになった後に読み込み

beforeInteractive:JS 実行前に読み込み

lazyOnload:全てのリソース読み込み後に実行

まとめ:Next.js アプリ高速化の鍵

Next.js はサーバー側で多くの処理を肩代わりしてくれる強力なフレームワークですが、
アプリを高速化するには以下を意識する必要があります。

SSR の活用で初回表示を高速化

Dynamic import で不要なコードを初期ロードから除外

適切なキャッシュ設定

依存パッケージの整理

next/image で画像最適化

next/script でサードパーティーの最適化

これらを実践することで、Next.js アプリのパフォーマンスが大幅に向上します。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?