Tasuke HubLearn · Solve · Grow
#Hono

Expressより10倍速い!エッジランタイムのための超軽量フレームワーク「Hono」

Cloudflare Workers、Bun、Denoで動く14KB未満の軽量フレームワーク「Hono」。Expressと比較しながら、エッジコンピューティング時代のAPI開発を解説します。

時計のアイコン26 November, 2025
TH

Tasuke Hub管理人

東証プライム市場上場企業エンジニア

情報系修士卒業後、大手IT企業にてフルスタックエンジニアとして活躍。 Webアプリケーション開発からクラウドインフラ構築まで幅広い技術に精通し、 複数のプロジェクトでリードエンジニアを担当。 技術ブログやオープンソースへの貢献を通じて、日本のIT技術コミュニティに積極的に関わっている。

🎓情報系修士🏢東証プライム上場企業💻フルスタックエンジニア📝技術ブログ執筆者

エッジ時代の到来

CDNでHTMLを配信するだけの時代は終わりました。 Cloudflare WorkersやVercel Edge Functionsなどのエッジランタイムで、APIロジックそのものを世界中のエッジサーバーで実行する時代です。

しかし、従来のExpressやFastifyは、エッジ環境での動作を想定していません。 そこで登場したのが、Hono(ほのお) です。

ベストマッチ

最短で課題解決する一冊

この記事の内容と高い親和性が確認できたベストマッチです。早めにチェックしておきましょう。

Honoが圧倒的に速い理由

1. 超軽量(14KB未満)

Expressは依存関係を含めると数百KBになりますが、Honoは依存ゼロで14KB未満です。 エッジ環境ではバンドルサイズがレイテンシに直結するため、この差は致命的です。

2. Web Standard API準拠

HonoはWeb標準のRequest/Responseを使用します。 これにより、Cloudflare Workers、Bun、Deno、Node.jsなど、あらゆるランタイムで同じコードが動きます

// Honoの"Hello World"
import { Hono } from 'hono'

const app = new Hono()

app.get('/', (c) => c.text('Hello Hono!'))

// Cloudflare Workersでもそのまま動く
export default app

3. 高速なルーティング

ルーターのベンチマークでは、HonoはExpressの約10倍高速です。 エッジ環境では、コールドスタート時間が重要なので、この差は無視できません。

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

実践:Cloudflare Workers + Honoでフルスタック開発

Cloudflare WorkersとHonoを組み合わせると、驚くほどシンプルにAPIを構築できます。

プロジェクト作成

npm create hono@latest my-api
cd my-api
npm install

テンプレート選択時に「cloudflare-workers」を選びます。

DB(D1)との連携

Cloudflare D1(SQL Database)を使ったCRUD APIを作ってみましょう。

import { Hono } from 'hono'
import { cors } from 'hono/cors'

type Bindings = {
  DB: D1Database
}

const app = new Hono<{ Bindings: Bindings }>()

app.use('/*', cors())

// GET: ユーザー一覧取得
app.get('/users', async (c) => {
  const { results } = await c.env.DB.prepare(
    'SELECT * FROM users'
  ).all()
  return c.json(results)
})

// POST: ユーザー作成
app.post('/users', async (c) => {
  const { name, email } = await c.req.json()
  
  await c.env.DB.prepare(
    'INSERT INTO users (name, email) VALUES (?, ?)'
  ).bind(name, email).run()
  
  return c.json({ success: true }, 201)
})

export default app

デプロイ

npx wrangler deploy

これだけで、世界中のエッジロケーションにAPIがデプロイされます。 日本からでも、アメリカからでも、レイテンシは50ms以下です。

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

ミドルウェアエコシステム

Honoは軽量ながら、豊富なミドルウェアを提供しています。

import { Hono } from 'hono'
import { logger } from 'hono/logger'
import { jwt } from 'hono/jwt'
import { etag } from 'hono/etag'

const app = new Hono()

// ロギング
app.use('*', logger())

// JWT認証
app.use('/api/*', jwt({ secret: 'my-secret' }))

// ETag(キャッシュ制御)
app.use('*', etag())

app.get('/api/protected', (c) => {
  const payload = c.get('jwtPayload')
  return c.json({ user: payload.sub })
})

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

Expressからの移行

Expressに慣れている開発者なら、Honoの学習コストはほぼゼロです。

// Express風の記法
app.get('/user/:id', (c) => {
  const id = c.req.param('id')
  return c.json({ id })
})

// ミドルウェアも同じノリ
app.use(async (c, next) => {
  console.log(`[${c.req.method}] ${c.req.url}`)
  await next()
})

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

まとめ

Honoは、エッジコンピューティング時代に最適化された、次世代のWebフレームワークです。

「Expressで十分」と思っている方も、一度Honoを試してみてください。 その軽快さと速度、そしてマルチランタイム対応の柔軟性に、きっと驚くはずです。

エッジの炎(Hono)で、あなたのAPIも燃え上がらせましょう🔥

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

この記事をシェア

続けて読みたい記事

編集部がピックアップした関連記事で学びを広げましょう。

#Rust

Tokio使いのための次世代Webフレームワーク「Axum」完全実装ガイド

2025/11/26
#E2E Test

E2Eテスト自動化フレームワーク比較【2025年版】:覇者はPlaywrightか?Cypress, Seleniumの現在地

2025/9/3
#Qwik

ハイドレーションはもう古い!Qwikフレームワークで実現する「Resumability」革命【2025年版】

2025/11/26
#Python

pipの100倍速い!Rust製Pythonパッケージマネージャー「uv」で開発効率を最大化

2025/11/26
#AI

AIエージェント開発戦国時代!主要フレームワーク徹底比較【2025年版】

2025/9/3
#AIエージェント

【2025年完全版】AIエージェントフレームワーク徹底比較:最適な選択ガイド

2025/11/28