Hono

「炎」と書いて Hono。Cloudflare Workers / Bun / Deno / Node.js / AWS Lambda / Vercel 等 どこでも動く、超軽量・Web 標準ベース・型安全な Web フレームワーク。

これは何か

Hono は「Web Standards のラッパ」Request / Response / fetch という ブラウザでも使える標準 API の上に、Express 風の薄いルーティングレイヤを乗せただけ。

最小コード

import { Hono } from "hono"

const app = new Hono()

app.get("/", (c) => c.text("Hello Hono!"))
app.get("/json", (c) => c.json({ hello: "world" }))
app.get("/users/:id", (c) => {
  const id = c.req.param("id")
  return c.json({ id })
})

export default app

これだけで Cloudflare Workers / Bun / Deno / Node.js のどこでも動く(後述のアダプタを経由)。

こんな時に向く

こんな時は他の選択肢

30 秒のメンタルモデル

  1. Web 標準の Request を受けて Response を返す関数を作る
  2. その関数を Hono がルーティングして呼ぶ
  3. 関数には c(Context)が渡され、c.reqc.text/json/html 等が使える
  4. Express の app.use 風にミドルウェアを挟める
  5. 各ランタイム用のアダプタでデプロイ

2026 春時点のバージョン感

導入

Cloudflare Workers

npm create hono@latest my-app
# テンプレート: cloudflare-workers
cd my-app
npm install
npm run dev

Bun

bun create hono@latest my-app
# テンプレート: bun

Node.js

npm install hono @hono/node-server
import { serve } from "@hono/node-server"
import { Hono } from "hono"

const app = new Hono()
app.get("/", (c) => c.text("Hello"))

serve(app)

このノートの読み方

  1. 基本(ルーティング) でルートと handler の書き方
  2. Contextc の機能
  3. ミドルウェア で組み込み + 自作
  4. バリデーション で zod 連携
  5. RPC で型安全クライアント
  6. 認証 で JWT / Cookie / Bearer
  7. アダプタとデプロイ で各ランタイム
  8. 本番投入前に 注意点・パフォーマンス