百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文
我为什么用hono作为web框架?(在web应用开发中为什么要使用框架)

我为什么用hono作为web框架?(在web应用开发中为什么要使用框架)

  • 网站名称:我为什么用hono作为web框架?(在web应用开发中为什么要使用框架)
  • 网站分类:技术文章
  • 收录时间:2025-08-04 22:27
  • 网站地址:

进入网站

“我为什么用hono作为web框架?(在web应用开发中为什么要使用框架)” 网站介绍

一、最大的好处就是兼容性

这里说的是兼容各种js runtime和serverless,hono本身不创建http服务,而是可以连接runtime自带的http服务,为什么要去连接runtime自带的http服务呢?一般来说runtime自带的http服务是它的最优解。hono可以配合nodejs,bun,deno,Cloudflare Workers,AWS Lambda,Google Cloud Run等。

// 比如 nodejs
import { serve } from '@hono/node-server'
import { Hono } from 'hono'

const app = new Hono()
app.get('/', (c) => c.text('Hello Node.js!'))

serve(app)
// bun,作为模块导出
import { Hono } from 'hono'

const app = new Hono()
app.get('/', (c) => c.text('Hello Bun!'))

export default app

这个也可以用于 deno,可以作为模块导出hono的app到runtime,这个特性也可以用于众多serverless。

也可以用普通方法写:

import { Hono } from 'hono'
const app = new Hono()
app.get('/', (c) => c.text('Hello Bun!'))
Bun.serve(app)
import { Hono } from 'hono'
const app = new Hono()
app.get('/', (c) => c.text('Hello Bun!'))
Deno.serve(app.fetch)

二、够用

Hono做为web框架,基本功能都有了,有人说它的中间件太少了,和express比起来生态确实没有那么丰富,但是对我的项目来说够用。我的项目大多是在nodejs、bun和Cloudflare Workers下运行的,所以使用Hono很方便。

三、顺便说说bun

为什么用bun?因为它比nodejs要快。很多人说bun兼容性问题。确实这是一个问题,但目前bun的兼容性问题越来越少,具体兼容表可以去bun官网查看。目前我的商场项目中使用到的alipay-sdk、dayjs、hono、mysql2、nodemailer、svg-captcha、sharp、aws-sdk/client-s3、Redis都没有问题。目前已经已经把aws-sdk/client-s3,Redis和部分io,换成了bun自带的API,尤其是bun自带的S3 API 速度比aws-sdk/client-s3快很多。最后说一句:别忘了编译(dabao) 平台选bun,编译的好处是摆脱了讨厌的node_modules节省不少空间,懂的都懂