tRPC
Was ist tRPC?
tRPC ist eine TypeScript-Bibliothek, mit der sich vollständig typsichere APIs bauen lassen, ohne Schemas, Code-Generierung oder eine separate API-Beschreibungssprache zu benötigen. Client und Server teilen sich die TypeScript-Typen direkt, sodass Änderungen an der API sofort im Frontend sichtbar werden.
Vorteile von tRPC
- End-to-End-Typsicherheit: Typfehler zwischen Client und Server werden schon beim Kompilieren erkannt, nicht erst zur Laufzeit.
- Keine Code-Generierung: Anders als bei GraphQL oder OpenAPI entfällt ein separater Build-Schritt für Typen oder Clients.
- Schnelle Entwicklung: Autovervollständigung und Refactoring funktionieren nahtlos über die gesamte Codebasis hinweg.
- Geringer Overhead: tRPC nutzt einfache HTTP-Aufrufe (oder Websockets) und benötigt kein eigenes Schema-Format.
- Ideal im TypeScript-Fullstack: Passt besonders gut zu Next.js, React und anderen TypeScript-first Frameworks.
Nachteile von tRPC
- TypeScript-Pflicht: Der volle Nutzen entsteht nur, wenn Client und Server in TypeScript geschrieben sind.
- Enge Kopplung: Client und Server liegen meist im selben Repository (Monorepo), was bei komplett getrennten Teams/Systemen unpraktisch sein kann.
- Kein Sprach-Standard: Anders als REST oder GraphQL ist tRPC kein sprachunabhängiger Standard und eignet sich weniger für öffentliche, sprachübergreifende APIs.
Einsatzbereich von tRPC
tRPC eignet sich besonders für Fullstack-TypeScript-Anwendungen, bei denen Frontend und Backend im selben Projekt oder Monorepo entwickelt werden, zum Beispiel moderne Next.js-Anwendungen, interne Tools und Admin-Portale.
Alternativen zu tRPC
- REST (Representational State Transfer)
- GraphQL
- gRPC (Remote Procedure Call)
- OpenAPI/Swagger-generierte Clients