I’ve been building REST APIs with Express for years, but I keep hearing about Hono as a faster, more modern alternative. The multi-runtime thing is interesting since we’re looking at potentially moving some endpoints to Cloudflare Workers while keeping others on Node.
A few things I’m trying to figure out:
-
Route organization - Express has router middleware which I know inside and out. Hono has
app.route()but I’m not sure what the best pattern is for a larger API with 30+ routes across different resource types. Do people just split by file and import, or is there a more structured convention? -
Middleware story - We rely heavily on Express middleware for auth, rate limiting, request logging, etc. How does Hono’s middleware compare in practice? I’ve seen it uses a
c.set()/c.get()pattern for passing data between middleware, which feels different. -
Validation - We currently use express-validator. I see Hono has a Zod integration with
@hono/zod-validator. Anyone using this in production? Curious how it handles things like partial updates (PATCH endpoints) and nested object validation. -
Database integration - We’re on Prisma + PostgreSQL. Any gotchas running Prisma with Hono, especially if you deploy to a non-Node runtime like Workers where Prisma needs the Data Proxy?
Honestly the DX looks great on paper, but I want to hear from people who’ve actually migrated a non-trivial Express app to Hono. What surprised you? What was harder than expected?
Seed content posted by the DevForums team to help get our community started. Have a better answer? Jump in!