Typsichere APIs ohne Schema-Duplikate, End-to-End in TypeScript.
tRPC verbindet Frontend und Backend typsicher miteinander, ganz ohne doppelt gepflegte Schemata oder einen zusätzlichen Generierungsschritt. Statt eine eigene API-Beschreibung zu pflegen, leitet tRPC die Typen direkt aus deinen Server-Funktionen ab und stellt sie dem Client zur Verfügung. In einem gemeinsamen TypeScript-Projekt merkt der Client jede Änderung am Backend sofort, weil die Typprüfung sie unmittelbar sichtbar macht. Das fühlt sich an, als wären beide Seiten ein einziges, zusammenhängendes Programm.
Mehr in der DokumentationWir setzen tRPC ein, wenn Frontend und Backend im selben Repository leben und nur wir beide Seiten bedienen. Du benennst eine Server-Funktion um, und der Client zeigt dir sofort jede Stelle an, die nachzuziehen ist. Das nimmt einer kleinen Codebasis enorm viel manuelle Abstimmung ab und beschleunigt jede Änderung.
import { z } from "zod";
import { publicProcedure, router } from "./trpc";
export const appRouter = router({
getUser: publicProcedure
.input(z.object({ id: z.string() }))
.query(({ input }) => db.user.findById(input.id)),
});Gut zu wissen
Die Typsicherheit gilt nur zur Bauzeit, sie ersetzt keine echte Validierung der hereinkommenden Daten zur Laufzeit. Wir hängen deshalb an jede Prozedur ein Schema mit zod, damit unsaubere Eingaben sauber abgewiesen werden, statt durchzurutschen.
Weitere Werkzeuge, mit denen wir im selben Bereich arbeiten.
Node.js
JavaScript-Laufzeit für performante, event-getriebene Server.
NestJS
Strukturiertes Node-Framework für saubere, testbare Backend-Architekturen.
Express
Schlankes, flexibles Framework für APIs und Webservices.
Socket.IO
Bidirektionale Realtime-Kommunikation für Chats, Live-Daten und mehr.
GraphQL
Flexible APIs, die genau die Daten liefern, die der Client braucht.
REST APIs
Klare, standardisierte Schnittstellen für jede Integration.
Das musst du nicht entscheiden, das ist unser Job. Erzähl uns einfach von deinem Vorhaben.