Migrating a large Express API to Hono - worth it for multi-runtime support?

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:

  1. 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?

  2. 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.

  3. 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.

  4. 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!