Hono - Web Standardsを軸にしたマルチランタイム設計

2026.07.11

公式ドキュメント

Honoとは

HonoはWeb StandardsのRequestResponse、Fetch APIを軸にしたWebフレームワークです。Cloudflare Workers、Deno、Bun、Node.js、AWS Lambdaなど複数のJavaScript実行環境に対応しています。

同じAPIを共有しやすい一方で、データベース接続やファイル操作など、各ランタイム固有の機能まで完全に共通化されるわけではありません。

RouteとMiddlewareをHonoのRequest・Response中心にまとめ、Cloudflare Workers、Deno、Bun、Node.js、AWS Lambdaへ接続しつつRuntime固有APIは別に確認する図

最小のルート

import { Hono } from 'hono';

const app = new Hono();

app.get('/', (c) => c.text('Hello Hono'));
app.get('/users/:id', (c) => {
  return c.json({ id: c.req.param('id') });
});

export default app;

Contextを通じてリクエスト、レスポンス、環境変数などを扱います。入力検証はValidatorやZod連携などを使い、型定義だけで実行時検証を済ませないことが重要です。

主な機能

  • ルーティングとルートグループ
  • 認証、CORS、ロギングなどのミドルウェア
  • JSXレンダリング
  • Hono RPCによるクライアントとサーバーの型共有
  • 各ランタイム向けアダプター

採用時の注意

  • 利用するランタイムのNode.js API互換性を確認する
  • CPU時間、接続時間、リクエストサイズなどホスティング側の制限を確認する
  • 秘密情報は環境変数やSecret機能で管理する
  • 性能やバンドルサイズは利用するミドルウェア込みで計測する

初心者が試す順番

Honoは軽量ですが、HTTPの仕組みを省略する道具ではありません。最初にHTTP methodの役割を確認し、URL、JSON、status codeが何を表すか説明できる状態にします。

手を動かす順番は、次のように一段ずつ増やします。

  1. GET routeから固定のJSONを返す
  2. POST requestのbodyを読む
  3. 入力値を検証し、失敗時のstatusを返す
  4. 正常系と異常系をtestする

返答を調べるときは、API responseの読み方に沿ってstatus、headers、Content-Type、bodyを順に見ます。Node.js上でGET・POST・入力検証・testまで作る場合は、Hono入門の実践記事へ進んでください。

参照

← 一覧に戻る
PR
PR
PR
PR