REST API vs GraphQL
REST, avec plus de 20 ans d'existence, affronte GraphQL, né chez Facebook. Quel paradigme de conception d'API choisir pour le backend de votre application mobile ?
APIs type-safe de bout en bout pour TypeScript
Standard de l'industrie agnostique au langage depuis 2000
| Catégorie | tRPC | REST |
|---|---|---|
| Performance | 9/10 | 9/10 |
| Facilité d'apprentissage | 8/10 | 10/10 |
| Écosystème | 8/10 | 10/10 |
| Communauté | 9/10 | 10/10 |
| Marché de l'emploi | 7/10 | 10/10 |
| Pérennité | 8/10 | 8/10 |
// server/router.ts
export const appRouter = t.router({
getUser: t.procedure
.input(z.object({ id: z.string() }))
.query(async ({ input }) => {
return await db.user.findUnique({ where: { id: input.id } });
}),
});
// client (type-safe, autocomplétion !)
const user = await trpc.getUser.query({ id: "123" });
// user.name, user.email — entièrement typé// OpenAPI-first
GET /api/users/:id
Response: { "id": "123", "name": "Ali", "email": "..." }
// Client (définition de type manuelle ou codegen)
const res = await fetch("/api/users/123");
const user: User = await res.json(); // Assertion de type manuelleMonorepo TypeScript full-stack → tRPC (référence en type safety). API publique + client polyglotte → REST. GraphQL est une voie intermédiaire — type-safe et agnostique au langage, mais avec une complexité plus élevée. Approche hybride : tRPC en interne, façade REST publique.
Obtenir une consultation gratuiteGraphQL est un paradigme de conception distinct — un langage de requête. tRPC vs REST oppose TypeScript à l'universel. GraphQL peut faire partie d'une stratégie hybride.