SJ blog
frontend
A

信頼度ランク

S 公式ソース確認済み
A 成功実績多数・失敗例少数
B 賛否両論
C 動作未確認・セキュリティリスク高
Z 個人所感

Remix 3 BetaがReactを離れた——独立フルスタックフレームワークへの再発明とその設計思想

Remix 3 Beta(2026年4月30日公開)はReact/React Router依存を完全に廃し、Fetch API基盤の独立フルスタックフレームワークとして再設計された。新設計の核心と開発者への移行判断基準を解説。

一言結論

Remix 3 BetaはReactもReact Routerも依存しない独立フルスタックフレームワークとして再発明された。Fetch API基盤でNode/Deno/Bun上で同一コードが動き、新概念『frames』でサーバーレンダリングUIを部分更新できる。まだproduction-readyではないが、設計思想はフロントエンド開発の次フェーズを指し示している。

何が起きたか

2026年4月30日、Remixの共同創設者Michael JacksonがRemix 3 Beta Previewを公開した。

最大の変更点は一言で言える:Remix 3はもうReactフレームワークではない。

Remix 2まではReact RouterのメタフレームワークだったRemixが、React依存もReact Router依存も完全に廃し、独自のフルスタックフレームワークとして再出発する。JSXは引き続き使えるが、Reactは必須ではなくなった。


なぜReactから離れたのか

Remixチームは長い沈黙期間(いわゆる「Wake up, Remix!」の時期)を経て、方向転換の理由をこう説明している:

  • React Server Components(RSC)との思想的な衝突
  • バンドラーに依存したアーキテクチャの限界
  • 「Webの基礎に戻る」という根本的な設計思想
Remix 2(従来):
  React Router ← Remix(メタフレームワーク)

     React

Remix 3(新設計):
  Web Platform(Fetch API)← Remix(独立フレームワーク)

     JSX(Optional)

バンドラーが「真実の源泉」だった時代から、ランタイムが真実の源泉になる設計へのシフトだ。


新アーキテクチャの核心

Fetch API ファースト

Remix 3はFetch APIをコアに置く。リクエスト・レスポンス・ミドルウェアすべてがWeb標準のFetch APIオブジェクトで表現される。

// Remix 3のルートハンドラー(簡略例)
export async function loader({ request }) {
  // request は標準の Request オブジェクト
  const url = new URL(request.url);
  const id = url.searchParams.get("id");

  const data = await db.item.findUnique({ where: { id } });

  // Response も標準オブジェクト
  return Response.json(data);
}

Node、Deno、Bunのいずれでもほぼ同一コードで動作する。プラットフォームロックインからの脱却を設計レベルで実現している。

新概念「Frames」

Remix 3の目玉機能がFramesだ。サーバーレンダリングされたUIの一部を、ページ全体のリロードなしに独立して更新できる仕組みを提供する。

// Frame:独立して更新されるサーバーレンダリングUI
export function CartFrame() {
  return (
    <frame id="cart">
      {/* このフレームだけがサーバーから部分更新される */}
      <CartItems />
      <CartTotal />
    </frame>
  );
}

HTMXのサーバー駆動UIアプローチをフレームワークレベルで標準化したようなイメージに近い。React Server Componentsとは異なる、独自の「サーバー主権UI」の実装だ。

フルスタックを1パッケージで

Remix 3はルーティング・ミドルウェア・セッション・認証・フォーム・ファイルアップロード・データベース連携・UIコンポーネント・テストを1つのフレームワークで提供する。

従来の構成(典型例):
  Next.js + NextAuth + Prisma + Zod + React Hook Form + ...

Remix 3(目指す形):
  Remix 3(ルート + 認証 + フォーム + データ + UI)

Railsがバックエンドに対してやってきたことを、フルスタックJS開発でやろうとしている。


開発者が知るべき注意点

まだProduction-Readyではない

Michael Jackson本人が明示している:ベータであり、本番投入には適していない。 週次更新が続く予定で、APIはまだ変わりうる。

Remix 2からの移行は直接不可

Remix 2→Remix 3はインクリメンタルアップグレードではなく、書き直し相当の変更だ。React RouterベースのルーティングAPIは根本から変わっている。

// ❌ Remix 2スタイル(旧)
export const loader = async ({ params }) => {
  return json({ user: await getUser(params.id) });
};

// ✅ Remix 3スタイル(新)
export async function loader({ request }) {
  const url = new URL(request.url);
  return Response.json({ user: await getUser(url.pathname) });
}

Reactプロジェクトへの影響は限定的(今すぐは)

Remix 2から移行せず、React Router v7のまま継続するチームへの影響は現時点では少ない。ただし中長期的に「ReactとRemixが別の道を歩む」選択は確定した。


開発者としての判断基準

状況推奨アクション
新規プロジェクト(実験的)Remix 3 Betaを試す価値あり
既存Remix 2プロジェクト移行計画を立て始めるが、今すぐは待機
Next.jsプロジェクト当面影響なし、動向ウォッチで十分
React以外のUI検討中Remix 3は選択肢に浮上しうる

Remix 3の最大の意義は「フレームワークはWebプラットフォームを抽象化すべきでなく、Web標準の上に薄く乗るべき」という設計哲学の実践にある。この思想が正しいかどうかは、今後のエコシステムの反応次第だ。


まとめ

Remix 3 BetaはReact依存を断ち切り、Fetch API基盤の独立フルスタックフレームワークとして再発明された。「Frames」による部分的なサーバーUI更新、Railsライクなフルスタック統合、Node/Deno/Bun対応などが特徴だ。まだベータであり本番投入は推奨されないが、Webフレームワークの次の方向性を示す重要なリリースとして注目に値する。


参考リンク