byteNative
Backend

tRPC

Typsichere APIs ohne Schema-Duplikate, End-to-End in TypeScript.

Was ist tRPC?

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 Dokumentation

Wofür wir es nutzen

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

ts
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)),
});
prozedur mit eingabe-validierung, typen folgen automatisch

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.

00Backend

Weitere Werkzeuge, mit denen wir im selben Bereich arbeiten.

Welche Technologie passt zu dir?

Das musst du nicht entscheiden, das ist unser Job. Erzähl uns einfach von deinem Vorhaben.