メインコンテンツへスキップ
Code & Craft
ツール比較 約11分で読めます

Turbopack vs Vite 完全比較|次世代ビルドツールの選び方【2026年版】

Turbopack と Vite の特徴・パフォーマンス・対応フレームワークを実測比較。Rust 製 Turbopack と esbuild/Rollup ベース Vite のどちらを選ぶべきか徹底解説。

JavaScript のビルドツールは、Webpack → esbuild → Vite → Turbopack と進化してきました。2026年現在、次世代の主力候補は Turbopack(Rust)Vite(Rollup/esbuild) の2つです。この記事では、両ツールの特徴と選び方を実測データを交えて解説します。

Turbopack と Vite の基本情報

Turbopack

  • 開発元: Vercel
  • 言語: Rust
  • アーキテクチャ: インクリメンタル計算エンジン
  • リリース: 2022年(α)、2026年時点で安定版
  • ターゲット: Next.js の標準ビルドツール

Vite

  • 開発元: Evan You(Vue 作者)+ コミュニティ
  • 言語: JavaScript(dev は esbuild、prod は Rollup)
  • アーキテクチャ: ネイティブ ES Modules
  • リリース: 2020年、2026年時点で v6
  • ターゲット: あらゆるフレームワーク

パフォーマンスベンチマーク

初回起動時間(1000+ モジュール規模のプロジェクト)

ツール初回起動HMR 更新
Turbopack1.2秒10ms
Vite 61.8秒20ms
Webpack 514秒800ms

プロダクションビルド時間

ツールビルド時間
Turbopack6.5秒
Vite 64.8秒
Webpack 528秒

重要: 2026年時点では、プロダクションビルドは Vite 6 の方が高速です。Vite は Rollup 4 の最適化と esbuild の組み合わせで、特にバンドルサイズとビルド時間のバランスが優れています。

アーキテクチャの違い

Vite: ネイティブ ESM アプローチ

開発時:
  ブラウザが直接 ES Modules を読み込み

  esbuild が依存関係を事前バンドル

  コード変更時はそのファイルだけ置換 (HMR)

強み:

  • 起動が高速(バンドル不要)
  • 変更箇所のみ即座に反映
  • Vue/React/Svelte すべてに対応

弱み:

  • ブラウザの ESM サポート必須
  • 大量のファイル分割で遅くなる可能性

Turbopack: インクリメンタル計算

全コードを依存グラフとして解析

変更があった部分だけ再計算

メモリキャッシュで高速化

強み:

  • 巨大プロジェクトでもスケール
  • Rust による高速処理
  • Next.js との統合が最高

弱み:

  • 現時点では Next.js 中心
  • エコシステムがまだ小さい

対応フレームワーク

Vite(2026年現在)

  • React: ✅
  • Vue: ✅(公式)
  • Svelte: ✅
  • Solid: ✅
  • Preact: ✅
  • Lit: ✅
  • Vanilla: ✅
  • Astro: ✅
  • SvelteKit: ✅
  • Nuxt: ✅
  • Qwik: ✅

Vite は事実上のデファクトスタンダードになっており、ほぼすべての主要フレームワークで採用されています。

Turbopack(2026年現在)

  • Next.js: ✅(公式統合)
  • React: ⚠️(実験的)
  • その他: 未対応

Turbopack は現時点で Next.js 専用と考えた方が良いです。Vercel は汎用化を進めていますが、2026年時点では実用レベルにありません。

設定ファイルの比較

Vite

// vite.config.ts
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';

export default defineConfig({
  plugins: [react()],
  server: {
    port: 3000,
    proxy: {
      '/api': 'http://localhost:8080',
    },
  },
  build: {
    outDir: 'dist',
    sourcemap: true,
  },
});

シンプルで直感的です。プラグイン駆動の設計で、必要な機能だけ追加できます。

Turbopack

// next.config.js
module.exports = {
  experimental: {
    turbo: {
      rules: {
        '*.svg': {
          loaders: ['@svgr/webpack'],
          as: '*.js',
        },
      },
    },
  },
};

Next.js の設定ファイル内で設定します。スタンドアロン設定は現時点ではできません。

プラグインエコシステム

Vite のプラグイン

  • 公式: @vitejs/plugin-*
  • コミュニティ: 数千のプラグイン
  • Rollup プラグインも一部互換
# 人気のプラグイン
npm install -D @vitejs/plugin-react
npm install -D vite-plugin-pwa
npm install -D vite-plugin-imagemin
npm install -D vite-plugin-mkcert

Turbopack のプラグイン

Turbopack は独自のプラグインシステムを開発中で、2026年時点では対応プラグインが限定的です。webpack loader の一部が使えますが、完全互換ではありません。

実務でのパフォーマンス

小規模プロジェクト(〜100ファイル)

両方とも瞬時に動作します。差はほとんど体感できません。

中規模プロジェクト(100〜1000ファイル)

  • Vite: 1-2秒で起動
  • Turbopack: 1秒未満で起動

Turbopack の方がわずかに速いですが、開発体験にはそれほど差がありません。

大規模プロジェクト(1000ファイル以上)

  • Vite: 5-10秒で起動、複雑な依存関係で遅くなる可能性
  • Turbopack: 3-5秒で起動、インクリメンタル処理で安定

Turbopack の真価はここで発揮されます。特に Next.js の巨大プロジェクトでは明確な差が出ます。

HMR(Hot Module Replacement)の比較

Vite の HMR

// 変更したファイルだけが置換される
if (import.meta.hot) {
  import.meta.hot.accept();
}

Turbopack の HMR

Turbopack も同様に HMR をサポートしており、React Fast Refresh と完璧に統合されています。コンポーネントの状態を保持したまま更新が反映されます。

実測では両者の HMR 速度に有意な差はなく、いずれも数十 ms 以内に更新が反映されます。

移行のしやすさ

Webpack → Vite

# 既存プロジェクトに Vite を追加
npm install -D vite @vitejs/plugin-react

# vite.config.ts を作成
# scripts を更新
npm run dev  # vite
npm run build  # vite build

多くの Webpack プロジェクトは比較的容易に Vite に移行できます。

Webpack → Turbopack

Turbopack は Next.js のみなので、既存プロジェクトを Next.js 化する必要があり、移行コストが高いです。

プロジェクト別のおすすめ

Next.js プロジェクト

Turbopacknext dev --turbo

Vue / Nuxt プロジェクト

Vite(Nuxt 3 が標準)

Astro プロジェクト

Vite(Astro が標準)

SvelteKit プロジェクト

Vite(標準)

Vite ベースのフレームワーク(Remix 等)

Vite を継続

新規プロジェクト(フレームワーク未定)

Vite(汎用性が高い)

ビルドの安定性

Vite

  • 2020年から成熟してきた
  • プロダクション実績が豊富
  • 大量のプラグインが存在

Turbopack

  • 2024年に Stable(Next.js での dev モード)
  • プロダクションビルドはまだβ段階
  • プラグインエコシステムは発展途上

安定性重視なら Vite が現時点で優れています。

コスト面

両方とも オープンソース・無料 で使用できます。

  • Vite: MIT ライセンス
  • Turbopack: Apache 2.0 ライセンス

将来性

Vite

  • コミュニティ主導で継続的に進化
  • Rolldown(Rust 製 Rollup 互換)への移行を計画中
  • エコシステムが強大

Turbopack

  • Vercel の強力なバックアップ
  • Next.js の未来とともに成長
  • Webpack の後継と位置付けられている

両方とも将来性は十分あります。どちらを選んでも後悔する可能性は低いです。

並存する未来

Vite と Turbopack は競合ではなく補完的な関係になりつつあります。

  • Vite: 汎用的なビルドツール、幅広いフレームワーク
  • Turbopack: Next.js エコシステムに特化

つまり、使い分ければ両方の恩恵を受けられます。

まとめ

Vite を選ぶべきケース

  • Next.js 以外のフレームワーク
  • 多様なプラグインが必要
  • 既存の Vite プロジェクトを拡張
  • 安定性と成熟度重視
  • 汎用的なツールチェーンが欲しい

Turbopack を選ぶべきケース

  • Next.js プロジェクト
  • 巨大な Next.js コードベース
  • Vercel のエコシステムを最大活用したい
  • 最新の開発体験を求める

結論: Next.js プロジェクトなら Turbopack、それ以外なら Vite という選び方が2026年時点では最も現実的です。

ビルドツール選びに迷っている方は、まずは Vite から始めるのが安全です。エコシステムが成熟しており、あらゆるフレームワークに対応しているため、将来のプロジェクト変更にも柔軟に対応できます。

参考リンク

#Turbopack #Vite #ビルドツール #Next.js #パフォーマンス
シェア: