🚀 REST vs RPC vs GraphQL — Explicación para principiantes
Las APIs permiten que distintos sistemas de software se comuniquen entre sí.
Pero cómo se comunican depende del estilo de API que utilicen.
Vamos a descifrar los tres modelos más usados 👇
🔹 1️⃣ REST (Representational State Transfer)
REST trabaja con recursos, como:
👤 Usuarios
🛒 Pedidos
📦 Productos
📂 Categorías
Pides un recurso usando una URL.
✅ Ejemplo real (sitio de e-commerce):
1️⃣ Ver todos los productos → GET /products
2️⃣ Ver detalles de un producto → GET /products/42
3️⃣ Agregar un artículo al carrito → POST /cart
💡 Apps como Amazon, Flipkart o Mercado Libre usan principalmente REST.
✅ Ventajas:
✔ Fácil de aprender
✔ URLs limpias
✔ Ideal para sistemas CRUD
❌ Desventajas:
✘ A veces devuelve datos de más
✘ Puede requerir múltiples solicitudes
👉 Es como pedir un plato fijo: te sirven todo, aunque no quieras algunas cosas.
2️⃣ RPC (Remote Procedure Call)
RPC se basa en acciones, no en recursos.
En lugar de pedir datos, le dices al servidor: “haz esto por mí”.
✅ Ejemplo real (banca o pagos):
1️⃣ Transferir dinero → POST /transferFunds
2️⃣ Verificar OTP → POST /validateOtp
💡 Muy usado en comunicación entre microservicios.
Frecuente en Fintech, trading, banca o IoT.
✅ Ventajas:
✔ Muy rápido
✔ Perfecto para acciones transaccionales
❌ Desventajas:
✘ Difícil mantener convenciones de nombres
✘ Puede volverse desordenado en sistemas grandes
👉 Es como decirle directamente al mesero: “Empáqueme este pedido”.
🔹 3️⃣ GraphQL
GraphQL te permite pedir exactamente lo que necesitas — ni más ni menos.
Un solo endpoint → múltiples recursos.
✅ Ejemplo real (red social):
Para mostrar un perfil, la interfaz necesita:
- nombre
- seguidores
- publicaciones
- comentarios
Con REST, harías 3 o 4 llamadas.
Con GraphQL, solo una:
{
user(id: 10) {
name
followersCount
posts {
title
likes
}
}
}💡 Usado por Instagram, Netflix, GitHub y Twitter.
✅ Ventajas:
✔ Elimina sobrecarga de datos
✔ Perfecto para dashboards o apps con relaciones complejas
✔ Un solo endpoint
❌ Desventajas:
✘ Más complejo de implementar
✘ Caching más difícil de manejar
👉 Es como un buffet: tomas exactamente lo que quieres.
🎯 ¿CUÁNDO USAR CADA UNA?
✅ Usa REST cuando:
- Tu app necesita operaciones CRUD simples
- Estás construyendo una API pública
- Buscas facilidad y estandarización
✅ Usa RPC cuando:
- Necesitas ejecutar acciones específicas
- Tus microservicios se comunican entre sí
- La velocidad es clave
✅ Usa GraphQL cuando:
- El frontend necesita muchos tipos de datos
- Las relaciones de datos son complejas
- Quieres reducir múltiples llamadas a una sola
🔥 Pro Tip: Si tu equipo de React, Angular o Flutter se queja:
“Estamos haciendo demasiadas llamadas para una sola pantalla” ----> GraphQL puede salvar el día. ✅
❓ Pregunta para ti: ¿Qué estilo de API usa tu empresa — REST, RPC o GraphQL — y por qué?