theme | highlighter | lineNumbers | info | drawings | download | exportFilename | css | |
---|---|---|---|---|---|---|---|---|
takahashi |
shiki |
false |
## tRPC
Durchgängige typsichere APIs leicht gemacht
|
|
true |
webworker-hannover-meetup-trpc-talk-sophia-brandt |
unocss |
trpc
Sophia Brandt
- TypeScript
- Kommandozeile: (Neo)Vim, Tmux, Fish Shell
- Esperanto 💚
- Pen & paper role-playing games
Slides:
trpc
was & wozu? ✅
Fernzugriff auf den BackendCode
full-stack TypeScript
automatische Typsicherheit
Framework-unabhängig
Developer Experience
leichtgewichtig
🚫 Schema
🚫 Sprache (Query Language)
Keine Codegenerierung
"reduziertes REST"
"nur Funktionen"
Offboarding-Pfad
pnpm dlx create-t3-app@latest
tRPC ❌
nur: TS Monorepos
andere Programmiersprachen als TS
TS Development Performance
(viele Endpunkte)
Support für alles außer React
(React Query)
🥊 trpc vs GraphQL
GraphQL
Schema Definition
geteilte Sprache zwischen Backend & Frontend
löst
Kommunikations-/
Organisationsprobleme
sequenceDiagram
Datenbank->>+Backend: SQL/NoSQL
Backend-->>-Datenbank: SQL, ORMS, etc.
Note over Backend,Frontend: GraphQL Schema
Backend->>+Frontend: Go, Rust, Java, etc.
Frontend-->>-Backend: TypeScript, Elm, etc.
sequenceDiagram
Datenbank->>+Backend: SQL/NoSQL
Backend-->>-Datenbank: SQL, ORMS, etc.
Backend->>+Frontend: tRPC (TypeScript)
Frontend-->>-Backend: tRPC (TypeScript)
gRPC?
remote procedure calls
Hat nichts mit tRPC zu tun
Kommunikation zwischen Servern
(verteilte Systeme)
trpc?
Kommunikation zwischen BE & FE
Learnings 💡
TypeScript Monorepo all the way!
wie GraphQL (mit HTTP) - ohne GraphQL
Slides: