tRPC в продакшне
tRPC даёт типобезопасный API без OpenAPI и кодогенерации. В монорепо TS — отличная штука. В микросервисах — нет.
tRPC — это способ писать API без описаний (OpenAPI/Swagger), без кодогенерации. Тип на сервере автоматически становится типом на клиенте через TypeScript.
Когда tRPC сильно помогает:
- Монорепо с одной командой, где фронт и бэк пишут одни и те же люди.
- Next.js full-stack приложения.
- Внутренние инструменты без внешних потребителей.
Когда tRPC не подходит:
- API будет потреблять кто-то ещё кроме твоего фронта (мобилка на нативе, партнёры, sdk).
- Команда фронта и бэкенда — разные люди, с разными циклами релизов.
- Бэкенд не на TypeScript.
- Микросервисы с разными командами.
Что часто упускают:
- tRPC — это RPC. Не REST. Если у вас уже REST-конвенции в команде — миграция всей семантики.
- Версионирование — не из коробки. В отличие от OpenAPI, где есть стандартные пути.
- Документация — генерируется хуже, чем у REST/GraphQL.
Если у вас Next.js + один продукт + одна команда — tRPC отлично. Иначе обычно проще делать REST с OpenAPI.