Webバックエンド - フレームワーク

Hono ほの

WebフレームワークエッジコンピューティングTypeScriptCloudflare Workersミドルウェアルーティング
Honoについて教えて

簡単に言うとこんな感じ!

HonoはWeb APIを作るための「超軽量・超高速」なフレームワークだよ!「炎(Flame)」という意味の日本語が名前の由来で、Cloudflareなどのエッジ環境でもサクサク動くのが最大の強みなんだ。Express.jsの使い心地そのままに、どこでも動く万能さが魅力ってこと!


Honoとは

Hono(ほの)は、日本人開発者の𝕏ユーザー「yusukebe」こと三浦辰志氏が2022年に公開したオープンソースのWebフレームワークです。名前は日本語の「炎(ほのお)」に由来しており、軽量・高速・どこでも動くという特性を端的に表しています。TypeScriptファーストで設計されており、型安全にAPIを記述できる点が開発者から高く評価されています。

Honoが特に注目される理由は、エッジコンピューティング(ユーザーに近いサーバーで処理を行う仕組み)との親和性の高さです。Cloudflare Workers・Deno Deploy・AWS Lambda Edge・Fastlyなど、従来のNode.jsが動かない環境でも動作します。さらに、Node.jsやBunといった従来環境にも対応しており、1つのコードを書けば多くのプラットフォームで動かせる「マルチランタイム対応」が最大の特徴です。

ビジネスパーソンが知っておくべきポイントとしては、「APIサーバーを作りたいけど、Cloudflareで動かしたい」「サーバーレス環境でバックエンドを構築したい」というプロジェクトで採用候補に上がるフレームワークだということです。近年のスタートアップやサーバーレス志向のプロジェクトを中心に急速に普及しています。


Honoの主な特徴と構造

特徴内容
超軽量コアサイズは約13KB以下。起動が速くエッジ環境向き
マルチランタイムCloudflare Workers / Deno / Bun / Node.js など対応
TypeScriptファースト型推論が強力で、補完が効いた状態でAPIを記述できる
高速ルーター(Trie-based)RegExpMatchRouterやSmartRouterなど複数の実装を持つ
ミドルウェアが豊富認証CORS・ロガー・キャッシュなど標準ミドルウェアが揃う
RPC機能(hc)サーバーとクライアントで型を共有できるRPC的呼び出しが可能

コード例で雰囲気をつかもう

import { Hono } from 'hono'

const app = new Hono()

// GETリクエストに応答するルート定義
app.get('/', (c) => c.text('Hello, Hono!'))

app.get('/user/:id', (c) => {
  const id = c.req.param('id')
  return c.json({ userId: id })
})

export default app

Express.jsを使ったことがある人なら、ほぼそのままの書き方で移行できます。c(コンテキスト)オブジェクト経由でリクエスト・レスポンスを扱う設計が特徴です。

対応ランタイム一覧

Cloudflare Workers   ← エッジ環境の代表格
Deno Deploy          ← DenoのサーバーレスPaaS
Bun                  ← 高速JSランタイム
AWS Lambda           ← AWSのサーバーレス
Fastly Compute       ← CDNエッジ
Node.js              ← 従来環境にも対応
Vercel Functions     ← フロントエンド系PaaS

歴史と背景

  • 2021年末 — Cloudflare Workers向けの軽量フレームワークとして開発スタート
  • 2022年1月 — GitHubで公開。「Cloudflare Workers専用」からスタート
  • 2022年後半 — Deno・Bunへの対応を追加。マルチランタイム路線へ舵を切る
  • 2023年 — v3.0リリース。RPCクライアント(hc)・ストリーミング対応など大幅強化
  • 2023年〜2024年 — GitHub Starが急増(2万超)。日本発フレームワークとして国際的な注目を集める
  • 2024年 — v4.0リリース。HonoX(フルスタックフレームワーク)の実験的提供も開始
  • 現在 — Cloudflare公式ドキュメントでも推薦フレームワークの一つとして掲載

Honoが生まれた背景には、エッジコンピューティングの台頭があります。従来のNode.js専用フレームワーク(ExpressFastifyなど)はCloudflare Workersのようなエッジ環境では動作しませんでした。そこで「エッジでも動く、でも書き心地はExpressライク」というニーズに応えたのがHonoです。


主要フレームワークとの比較

Webフレームワーク比較マップ 軽量性 × 対応環境の広さで見る 軽量・高速 重厚・多機能 Node.js専用 マルチランタイム Hono 軽量×どこでも動く Express 軽量×Node.js専用 NestJS 重厚×Node.js専用 Fastify 高速×一部対応 ★ エッジ環境対応が強み

代表フレームワーク比較表

フレームワーク軽量性エッジ対応TypeScript学習コスト
Hono低〜中
Express×
Fastify
NestJS×
Elysia (Bun)

「エッジ対応」ってなぜ重要?

エッジコンピューティングとは、世界中に分散したサーバー(エッジノード)でコードを動かす仕組みです。ユーザーに近い場所で処理するので、通信の遅延が減り、レスポンスが速くなります。Cloudflare Workersはその代表格で、「普通のNode.jsコードは動かない」という制約があります。Honoはこの制約を最初から意識して設計されているため、エッジ環境に最も適したフレームワークの一つです。


関連する規格・RFC

規格・RFC番号内容
RFC 9110HTTP Semantics(HTTPの基本仕様。Honoが扱うリクエスト・レスポンスの基盤)
RFC 9112HTTP/1.1(メッセージ構文とルーティングの基礎)
RFC 7235HTTP Authentication(Honoの認証ミドルウェアが準拠する認証仕様)
RFC 6455WebSocket(HonoはWebSocket対応も持つ)

関連用語