Express был дефолтом 10 лет, Fastify заменил его на скорости. В 2024-м появился новый класс микрофреймворков - Hono, Elysia, Nitro - построенных вокруг Web Standards и работающих везде, где есть fetch. Делимся, что мы из этого взяли в работу.
Что общего у нового поколения
- Web Standards в основе: Request/Response, не Node-specific объекты.
- Работают на Node.js, Bun, Deno, Cloudflare Workers, Vercel Edge без обёрток.
- Минимальный размер бандла - 10–30 КБ против сотен у Express.
- Сильная типизация роутов и контекста из коробки.
- Быстрее Fastify на простых сценариях.
Почему мы выбрали Hono
Из тройки лидеров (Hono, Elysia, Nitro) для нас Hono победил по сумме: работает буквально везде, у него самая стабильная типизация роутов через RPC-mode, экосистема middleware уже зрелая (jwt, cors, validators, OpenAPI). Elysia красивее и местами быстрее, но привязан к Bun. Nitro отличный, но это больше «meta-фреймворк», а нам часто нужен просто роутер.
Где мы перешли на Hono
- Все новые BFF-слои для веб-приложений.
- Edge-функции на Cloudflare Workers (Hono здесь основной выбор).
- Внутренние API для мобильных приложений на средние нагрузки.
- Webhook-эндпоинты с быстрой обработкой и низким cold start.
Где остаёмся на Express/Fastify
Большие монолиты с накопленной экосистемой Express-middleware - миграция дороже выгоды. Сложные сервисы с долгой бизнес-логикой и тяжёлыми интеграциями (платежи, биллинг) - Fastify там зрелее по плагинам. Команды, которые не готовы переучиваться на новый паттерн.
Цифры с одного из проектов
Перевод BFF-слоя с Express на Hono на одном из SaaS-проектов: bundle 280 КБ → 45 КБ, p99 latency на простых эндпоинтах 38 мс → 22 мс, cold start на serverless 850 мс → 180 мс. Время миграции - 1.5 спринта, без сложностей.