2024年UnJS公開のLightweight HTTP Framework。Web Standard Request/Response+Edge Runtime+Cloudflare/Deno/Bun対応+Universal Web Server+Nitro基盤搭載。
UnJS H3 v1は2024年にUnJS(Pooya Parsa氏率いるNuxt生態圏のJavaScriptライブラリ集合体)が安定版公開した軽量HTTP Frameworkで、Express/Fastifyの代替として、Web Standard Request/Response API準拠・Edge Runtime対応・Universal Server Framework設計を採用。Nuxt 3のServer Engine「Nitro」のデフォルトHTTP Frameworkとして使われている関係で、Nuxt採用プロジェクトでは間接的に大量に利用されている。Honoと類似のWeb Standard preferring設計だが、UnJSスタック(unstorage/unwasm/ofetch等)と一体化したエコシステム統合性が特徴。Cloudflare Workers・Deno Deploy・Bun・Node.js・Vercel Edge Functions等の主要Edge Runtimeで動作可能で、サーバーレス時代のJavaScript HTTP開発の選択肢として注目度が上昇中。
| 項目 | UnJS H3 v1 | Hono 4.x | Express.js 5 | Fastify 5 |
|---|
| Web Standard Request/Response | ○ | ○ | × (Adapter経由) | × (Adapter経由) |
| Edge Runtime | ○ | ○ | × | × |
| Bundle Size | <30KB | <20KB | ~80KB | ~150KB |
| Type Safety | ○ | ○ | △ (Plugin) | ○ |
| Middleware | Composable | Middleware | Middleware Chain | Hooks |
| Router | unjs/router | hono/router | express-router | fastify-router |
| Validation | Standard Schema | Zod/Valibot | Plugin | JSON Schema |
| Performance(req/s) | 60K+ Bun | 80K+ Bun | 30K Node | 50K Node |
| 採用Framework | Nitro/Nuxt 3 | Cloudflare系 | 多数 | Mercurius/Sentry等 |
Bun.serve + H3で60K+ req/s高性能サーバーUnJS H3はNuxt 3を採用するプロジェクトで自然に利用される位置づけだが、独立HTTP Frameworkとしても有力な選択肢。Express.js(汎用標準)・Hono(Cloudflare強)・Fastify(高性能)・Elysia(Bun特化)と比較する場合、UnJS H3の差別化要素はUnJSエコシステム(unstorage/ofetch/h3-zod等)との統合性とNuxt生態圏との親和性。jisaku.com APIで採用しているHono 4.xとは設計思想が近く、Web Standard Request/Response対応+Edge Runtime対応の点で類似。両者の選択は、Nuxt系プロジェクト→H3、Cloudflare Workers中心→Hono、汎用Bun→Elysia の使い分けが一般的。Bundle Size <30KBの軽量性はEdge Runtimeでのコールドスタート最適化に貢献し、低レイテンシAPIサーバー構築に有利。学習コストはExpress経験者で1日、Hono経験者なら数時間レベル。日本国内のNuxt 3採用プロジェクトでは間接的に大量に動作中で、Pooya Parsa氏の活発な開発で信頼性は高い。
Honoとの違い: HonoはCloudflare Workers特化、H3はNuxt/UnJS生態圏特化。両者ともWeb Standard準拠+Edge Runtime対応で機能類似だが、エコシステム統合先が異なる。Honoは独立Stand-alone、H3はUnJS依存。 Nitroとの違い: NitroはServer Engine全体(Build/Deploy/Routing含む)、H3はその中のHTTP Frameworkレイヤー。Nuxt 3採用プロジェクトでは Nitro+H3 がセットで動作、H3単体利用も可能。
Q1: jisaku.com APIで使うHonoから H3 へ移行する価値は? A: 通常は推奨しない。両者ともCore機能はほぼ同等で、移行コストはかかる。Nuxt 3 SSRと統合する場合は H3 が自然、Cloudflare Workers中心+Edge最適化なら Hono 維持。具体的な技術要件で判断。
Q2: Express.js 5 から H3への移行手順は?
A: 1) defineEventHandler で各Routeをラップ、2) Middleware を defineRequestMiddleware に変換、3) Body Parser・Cookies・Headers アクセスをWeb Standard APIに書き換え。中規模APIで2-4週間の移行工数。
Q3: H3 v2の予定は? A: 2025年Q2頃にv2 Alpha予定。主要変更はTypeScript推論精度向上・Streamings First-class化・WebSocket Plugin標準化など。v1からv2はBreaking Change軽微で、移行容易性を重視した設計。