教程 hono tutorial

框架对比

Hono、Express、Koa、Fastify 都能写 Web API,但它们解决问题的重点不同。

对比表

维度 Hono Express Koa Fastify
核心定位 多运行时、Web Standards、轻量 API Node.js 经典 Web 框架 轻量中间件模型 高性能 Node.js 框架
运行时 Workers、Node.js、Bun、Deno 等 主要是 Node.js 主要是 Node.js 主要是 Node.js
中间件模型 (c, next),接近 Fetch 响应 (req, res, next) 洋葱模型,ctx Hooks、插件和路由生命周期
类型体验 TypeScript 友好,支持 RPC 类型推导 依赖类型包和生态约定 类型体验一般 类型与 schema 支持较强
生态成熟度 新,但增长快 极成熟 稳定但热度较低 成熟,插件体系强
适合场景 边缘 API、轻量服务、多运行时项目 传统 Node.js 服务、教学、老项目 自定义中间件较多的 Node 服务 高吞吐 API、插件化服务

什么时候选 Hono

  • 你要部署到 Cloudflare Workers、Bun、Deno 或多个运行时。
  • 你希望路由和中间件尽量贴近 Fetch API。
  • 你想在 TypeScript 全栈项目中共享 API 类型。
  • 你的服务偏轻量,不需要框架内置大量架构约束。

什么时候选 Express

  • 项目依赖大量 Express 中间件或旧代码。
  • 团队熟悉 Express,稳定性和生态优先。
  • 你在教学或快速验证传统 Node.js API。

Express 的优势是生态和经验。它不是最新的设计,但很多问题已经有成熟答案。

什么时候选 Koa

  • 你喜欢洋葱模型,想保持框架非常轻。
  • 团队愿意自己组合路由、验证、错误处理等周边能力。
  • 项目不需要强插件体系。

Koa 的思想简洁,但需要自己做更多工程化选择。

什么时候选 Fastify

  • 目标是 Node.js 高性能 API。
  • 需要成熟插件、schema 验证、序列化优化和生命周期钩子。
  • 团队希望框架比 Express 更有约束,但不想用 NestJS 这样的大框架。

Fastify 更像完整的 Node.js API 框架;Hono 更像跨运行时轻量内核。

选择建议

如果你的部署目标是边缘平台或多运行时,Hono 很值得优先考虑。如果项目完全运行在 Node.js,且依赖大量传统 Node 生态,Fastify 或 Express 仍然是稳妥选择。