
Hono Framework là gì?
Hono (có nghĩa là “lửa” trong tiếng Nhật 🔥) là một web framework siêu nhẹ được xây dựng hoàn toàn trên Web Standards. Nó cho phép bạn viết mã một lần và chạy trên bất kỳ môi trường JavaScript nào: Cloudflare Workers, Deno, Bun, Vercel, AWS Lambda, Node.js và thậm chí cả Service Worker.
Tác giả Yusuke Wada (Cloudflare Developer Advocate) bắt đầu phát triển Hono vào cuối năm 2021 vì anh cần một framework hoạt động trên Cloudflare Workers. Hiện nay, đến tháng 8/2026, Hono đã đạt 32.011 sao GitHub, khoảng 240 triệu lượt tải npm mỗi tháng và được các dự án lớn như Cloudflare D1, cdnjs, Clerk và Unkey sử dụng trong production.

Tính năng nổi bật
Siêu nhanh và siêu nhẹ
Hono được thiết kế để tối ưu về kích thước và tốc độ. Phiên bản hono/tiny (preset tối thiểu) có dung lượng dưới 14KB sau khi minify (khoảng 4,34 KB sau gzip). Để có thể so sánh, Express.js chiếm khoảng 572KB – Hono nhỏ gấp 40 lần!
Về hiệu năng, Hono dẫn đầu trong các benchmark:
- Cloudflare Workers: Hono đạt ~402.820 ops/sec, nhanh gấp 2 lần itty-router (chính là router nhanh nhất trước đây).
- Deno: Hono xử lý ~136.112 requests/sec, nhanh hơn Fast 1,3x và Megalo 2,1x.
- Router registration: LinearRouter của Hono nhanh hơn FindMyWay (router của Fastify) đến 33 lần (1,82 µs vs 60,36 µs).
Nhờ sử dụng RegExpRouter – một biểu thức chính quy duy nhất được biên dịch trước khi chạy – Hono có thể định tuyến request mà không cần lặp qua từng pattern như Express.

Chạy trên 18+ môi trường (Write Once, Run Everywhere)
Hono hoạt động đồng nhất trên các nền tảng sau (cùng một mã nguồn):
- Cloudflare Workers (workerd) & Cloudflare Pages
- Deno
- Bun
- Fastly Compute
- Vercel & Netlify
- AWS Lambda & Lambda@Edge
- Azure Functions
- Google Cloud Run
- Supabase Functions
- Ali Function Compute
- WebAssembly (WASI)
- Service Worker
- Node.js (qua @hono/node-server hoặc nguyên bản trong Node v22+)
Điều này có nghĩa bạn có thể viết một API cho Cloudflare Workers, sau đó chạy cùng mã trên Bun để develop local, hoặc deploy lên AWS Lambda mà không cần thay đổi một dòng code.
Dựa trên Web Standards
Hono chỉ sử dụng các API web tiêu chuẩn: Request, Response, URL, URLSearchParam và Headers từ Fetch API. Nó không phụ thuộc vào bất kỳ API chuyên dụng của Node.js nào, vì vậy mã của bạn có thể chạy trên môi trường edge và trong trình duyệt (qua Service Worker). Hono tuân thủ chuẩn WinterCG – nhóm làm việc về khả năng tương lai web giữa các môi trường.
Middleware giàu tính năng
Mặc dù nhỏ, Hono đi kèm với hơn 24 middleware built-in bao gồm:
- Auth: Basic Auth, Bearer Auth, JWT, JWK
- Security: CORS, CSRF Protection, Secure Headers, IP Restriction
- Performance: ETag, Compress, Cache, Timeout, Body Limit
- Developer Experience: Logger, Request ID, Timing, Pretty JSON, Context Storage
- Tiện ích: JSX Renderer, HTML tag helper, WebSocket, Server-Sent Events
Cài đặt và bắt đầu
Hono là một gói npm thuần túy, không có dependency. Cài đặt bằng một trong các lệnh sau:
# npm
npm i hono
# yarn
yarn add hono
# pnpm
pnpm add hono
# bun
bun add hono
# deno (auto-install)
deno add npm:hono
Sau khi cài, bạn có thể tạo dự án mới bằng:
npm create hono@latest
# hoặc: yarn create hono, pnpm create hono@latest, bun create hono@latest
Lệnh trên sẽ sinh ra một dự án mẫu với cấu trúc cơ bản, bao gồm cả cách chạy trên các môi trường khác nhau (Cloudflare Workers, Bun, Deno, v.v.).
Ví dụ cơ bản
Hello World đơn giản nhất với Hono:
import { Hono } from 'hono'
const app = new Hono()
app.get('/', (c) => c.text('Hello Hono!'))
export default app
Bạn cũng có thể định nghĩa route với parameter và trả về JSON:
app.get('/user/:id', (c) => {
const id = c.req.param('id')
return c.json({ id: id })
})
Hono hỗ trợ literal types trong TypeScript cho path parameters, giúp IDE tự động gợi ý và kiểm tra kiểu.
Hono so với Express.js
Mặc dù có API tương tự Express, Hono có những khác biệt cơ bản:
| Tiêu chí | Hono | Express.js |
|---|---|---|
| Bundle Size | < 14KB (hono/tiny) | ~572KB |
| Dependencies | 0 | Nhiều (express, accepts, etc.) |
| TypeScript Support | First-class + literal types | @types/express (community) |
| Web Standards | ✅ (Fetch API) | ❌ (Node.js specific) |
| Multi-runtime | ✅ (18+ platforms) | ❌ (Node.js-centric) |
| Edge Runtime | ✅ Native | ❌ Cần polyfill |
| Router | RegExpRouter (single regex) | path-to-regexp (linear loops) |
| RPC Mode | Built-in (hc client) | ❌ |
Hono có thể nói là “Express nhưng chạy trên edge” – API quen thuộc nhưng được tối ưu cho môi trường mới.
RPC Mode – Type-safe client
Một tính năng độc đáo của Hono là hc client – một RPC client tự sinh từ kiểu TypeScript của server. Bạn chỉ cần định nghĩa API kiểu TypeScript một lần, hc sẽ tạo ra client hoàn toàn type-safe:
// Định nghĩa API type
type AppType = {
'/api/user': {
$get: (c: { query: { id: string } }) => Response
}
}
// Tạo client
const client = hc('http://localhost:8787')
// Gọi API với auto-completion và type checking
const res = await client['/api/user'].$get({ query: { id: '123' } })
Điều này loại bỏ lỗi typing khi gọi API từ frontend hoặc service khác.
Ai đang dùng Hono?
Hono đã được triển khai trong production tại nhiều dự án hàng đầu:
- Cloudflare: D1 (database), Workers KV, cdnjs – tất cả chạy trên Cloudflare Workers.
- Clerk: Quản lý người dùng API trên Cloudflare Workers.
- Unkey: API key management trên Cloudflare Workers.
- OpenStatus: Nền tảng giám sát API chạy trên Bun.
- Deno Benchmarks: Dùng để chạy các benchmark hiệu năng trên Deno.
- BaseAI: Máy chủ AI địa phương dùng Hono làm API backend.
Kết luận
Hono là lựa chọn hoàn hảo cho những ai muốn xây dựng API siêu nhanh, chạy trên bất kỳ đâu và vẫn duy trì trải nghiệmDeveloper tốt. Với kích thước nhỏ gọn, hỗ trợ đa môi trường và dựa trên Web Standards, Hono không chỉ là một framework nữa – nó đangtrở thành tiêu chuẩn mới cho web tương lai.
Nếu bạn đang tìm kiếm một framework để:
- Deploy trên Cloudflare Workers hoặc các nền tảng edge
- Cần hiệu năng cao và kích thước nhỏ
- Muốn viết mã một lần chạy trên nhiều môi trường
- Thích Web Standards và muốn tránh vendor lock-in
thì Hono xứng đáng là lựa chọn đầu tiên của bạn.
Để tìm hiểu thêm, truy cập trang chủ hono.dev, đọc tài liệu tại docs, hoặc khám phá mã nguồn tại GitHub. Cộng đồng Discord tại discord.gg/KMh2eNSdxV và GitHub Discussions cũng là nơi tốt để hỏi đáp và chia sẻ kinh nghiệm.
