写点什么

GitHub 2.5 万星!日本开发者打造的 Hono 火了:定义后 React 时代微框架的轻量未来

  • 2025-08-20
    北京
  • 本文字数:2334 字

    阅读完需:约 8 分钟

GitHub 2.5万星!日本开发者打造的Hono火了:定义后React时代微框架的轻量未来

本文最初发布于 THENEWSTACK 博客。



图片来源:Unsplash


本周,一个名为 Hono 的 Web 框架在 X 上 官宣,它在 GitHub 已经得到了 25000 个星标。虽然已不算是默默无闻,但 Hono 并没有得到应有的关注。不像 React,Hono 是基于 Web 标准构建的,它似乎可以表明 后 React 时代 Web 框架的发展方向。


Hono 是由日本开发者 Yusuke Wada 在 2021 年 12 月创建的。根据其 GitHub 存储库的介绍,Hono 在日语中意为“火焰”,是“基于 Web 标准构建的一个小巧、简单、速度超快的 Web 框架”。它最初是为 Cloudflare Workers 构建的,但现在可以在“任何 JavaScript 运行时”上运行,包括 Node.js、Deno、Bun 和 Vercel(尽管 Node 支持需要适配器,并且 Node ≥ 18)。


2023 年,Wada 在 Cloudflare 任职,他把一些工作时间花在了 Hono 上。从他 2024 年 10 月发布在 Cloudflare 博客上的声明 来看,对于这个项目,他寄予了厚望:


与 Next.js 框架源于客户端且使用了 React 不同,Hono 试图成为一个源于服务器端的全栈框架。


应用场景


那么你可以用 Hono 做什么呢?在去年 10 月 YouTube Cloudflare 开发频道的 一次采访 中,Wada 表示,他对 Hono 应用场景的多样性感到惊讶。他说:


有些人用它构建经典的 Web API,有些人用它开发全栈应用,还有些人用它运行文档站点,我甚至看到它被用来在 Next.js 内部实现 API 层。用户不断想出我从未想象过的用例,这是最令人兴奋的部分。


根据 项目文档,在 Cloudflare 内部,Hono 用于三个不同的 API 服务器,其中两个(KV 和 D1)是内部的,一个是公共的(cdnjs)。



Hono 首页


直接比较的话,最好把 Hono 看成是 Express 的现代替代品,后者是 Node.js 的中间件 Web 框架。使用 Hono 的主要好处是它不仅能在 Node.js 上运行,而且在基准测试中,它在 Node.js 上的运行速度通常比 Express 还稍快一些。


Hono 与 Express 的区别在于它是基于 Fetch API 构建的,这是一个 WHATWG 标准,定义了“请求、响应以及将它们绑定在一起的过程:获取”。


因此,对于那些想要摆脱 Node.js 和 Express 的开发者来说,Hono 或许可以成为他们解决方案的一部分。


一位开发者在 Hacker News 上说,“在我所有的个人项目中,我一直在使用 Hono + Bun + SQLite,我真的很喜欢它。基本上,我已经用它替换了 Express 和 Node。”


与 Next.js 比较


当 Wada 说 Hono 正在构建一个全栈框架时,他主要是指 HonoX,这是一个在 Hono 之上的元框架,包括基于文件的路由。


他解释说,“当你使用 HonoX 时,你其实已经自动在底层使用 Hono,这让你能够创建完整的全栈应用”。HonoX 也是基于流行的前端构建工具 Vite 构建的。


写这篇文章的时候,HonoX GitHub 项目有 2300 个星标,被描述为“Alpha 阶段”。因此,作为一个全栈解决方案,Hono 还处于非常早期的阶段。


尽管 Wada 将 Hono 与 Next.js 进行了比较,但这就像将自行车与跑车进行比较一样。


Hono 非常轻量级,专注于服务器 / 运行时层(路由、中间件、响应)。它故意设计成 UI 无关的:你可以返回 JSON,流式传输 HTML,或者通过 HonoX 添加你自己的模板或 JSX/SSR。


相比之下,Next.js 是一个大型的、非常独特的端到端 React 技术栈。它包括基于文件的路由、服务器组件、数据获取、与 Turbopack 捆绑、图像优化等特性。它既有 UI 部分,也有后端部分。


也许,Hono 的最大优势是它对 边缘网络 的关注。它是为所有运行时而设计的,非常适合需要在边缘运行的 API 或微服务。


Cloudflare 的文档 将 Hono 描述为“一个速度超快的轻量级框架,可用于构建 Web 应用程序”。根据 Cloudflare 的建议,将 Hono 与 Cloudflare Workers 结合使用是一个有效的全栈解决方案。“有了 Workers Assets,你可以轻松地将在 Workers 上运行的 Hono API 与 [React] SPA 结合起来,创建一个全栈应用程序。”


事实上,如果你已经生活在 Cloudflare 生态系统中,那么 Hono 与 Cloudflare 的 KV、R2、D1、Durable Objects 以及 Queues 等产品非常匹配。


Hono 在后 React 世界中的位置


虽然将 Hono 与 Next.js 相提并论有点过于雄心勃勃(特别是考虑到 HonoX 仍在 Alpha 阶段),但 Hono 似乎确实是一个可以表明未来发展方向的指示器。与 Next.js 或 Remix 不同,Hono 并不内置 React。你可以返回 JSON,流式传输 HTML,或者只在需要时将 HonoX 置于 JSX islands 之上。这种“可选择 UI”反映了 Web 开发生态系统开始 从一体化的庞然大物中脱离出来。


像 Next.js 这样的“超级框架”时代开始逐渐消逝。相反,开发者越来越多地转向更适中的框架。在比较大的项目中,他们使用像 Astro 这样的 Web 标准,而现在,他们又有了专门用于边缘场景的 Hono。


Hono 更多地属于“微框架”阵营,所以它实际上并不能与 Next.js 或者 Astro 相提并论。但它同样值得关注,就像那些更大的框架一样。


原文链接:


https://thenewstack.io/hono-shows-the-way-for-microframeworks-in-a-post-react-world/


声明:本文为 InfoQ 翻译,未经许可禁止转载。


今日好文推荐


16 年 macOS 程序员用 Claude Code 搞副业:我只手敲了 1000 行,剩下 95% 代码靠自动生成


假简历狂骗硅谷10+家AI公司、拿多头薪水被锤!印度工程师喊冤:每周拼140小时,我也很绝望


React 被指“沦为 Vercel 打工仔”,力推框架只为圈钱?核心成员亲自下场回应却遭群嘲


Angular v20发布


会议推荐


首届 AICon 全球人工智能开发与应用大会(深圳站)将于 8 月 22-23 日正式举行!本次大会以 “探索 AI 应用边界” 为主题,聚焦 Agent、多模态、AI 产品设计等热门方向,围绕企业如何通过大模型降低成本、提升经营效率的实际应用案例,邀请来自头部企业、大厂以及明星创业公司的专家,带来一线的大模型实践经验和前沿洞察。一起探索 AI 应用的更多可能,发掘 AI 驱动业务增长的新路径!



2025-08-20 16:333

评论

发布
暂无评论

《从0到1学习Flink》—— Flink 项目如何运行?

zhisheng

大数据 flink 流计算

《从0到1学习Flink》—— Flink 写入数据到 Kafka

zhisheng

大数据 flink 流计算

《从0到1学习Flink》—— Flink 中几种 Time 详解

zhisheng

大数据 flink 流计算

写给产品经理的信(1):产品经理的经济基础逻辑思维能力

punkboy

产品经理 产品设计 职业规划 逻辑思维 工作

《从0到1学习Flink》—— Data Source 介绍

zhisheng

大数据 flink 流计算

《从0到1学习Flink》—— 如何自定义 Data Sink ?

zhisheng

大数据 flink 流计算

要弄清楚if/switch的本质区别,以及优化方式

张驰

Java

【迁移】CQRS很难吗?(译文:底部有原文地址)

罗琦

领域驱动设计 DDD

【迁移】Flink vs Spark

罗琦

大数据 flink spark

码农理财(二)

北漂码农有话说

《从0到1学习Flink》—— Flink 配置文件详解

zhisheng

大数据 flink 流计算

你没必要活的那么累

小天同学

深度思考 个人成长 生活 成长 感悟

ARTS 第 51 周

马克图布

ARTS 打卡计划

《从0到1学习Flink》—— Flink 写入数据到 ElasticSearch

zhisheng

大数据 flink 流计算

《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 RabbitMQ

zhisheng

大数据 flink 流计算

《从0到1学习Flink》—— Flink JobManager 高可用性配置

zhisheng

大数据 flink 流计算

极客时间的三种身份:碎片整合的大师、成长焦虑的救星、工作技能的提升站

大橘栗

《从0到1学习Flink》—— Data Sink 介绍

zhisheng

大数据 flink 流计算

《从0到1学习Flink》—— Flink 读取 Kafka 数据批量写入到 MySQL

zhisheng

大数据 flink 流计算

Review week1: Amazon的领导力法则

猫吃小怪兽

学习 高效工作 程序员 个人成长

【迁移】读完了GFS论文之后的感悟

罗琦

大数据 GFS 论文阅读

【迁移】撸论文系列之——Bigtable

罗琦

论文阅读 bigtable

【迁移】用Redlock构建Redis分布式锁【译】

罗琦

分布式锁

《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门

zhisheng

大数据 flink 流计算

勇攀监控高峰-EMonitor之根因分析

乒乓狂魔

监控 全链路监控 故障定位 根因分析 AIOPS

《从0到1学习Flink》—— 如何自定义 Data Source ?

zhisheng

大数据 flink 流计算

《从0到1学习Flink》—— Flink Data transformation(转换)

zhisheng

大数据 flink 流计算

图文并茂讲述如何正确的使用缓存

小趴菜~

缓存 后端 缓存穿透 缓存击穿 缓存雪崩

python 实现·十大排序算法之选择排序(Selection Sort)

南风以南

Python 排序算法

《从0到1学习Flink》—— Apache Flink 介绍

zhisheng

大数据 flink 流计算

《从0到1学习Flink》—— 介绍Flink中的Stream Windows

zhisheng

大数据 flink 流计算

GitHub 2.5万星!日本开发者打造的Hono火了:定义后React时代微框架的轻量未来_架构/框架_Richard MacManus_InfoQ精选文章