import { Notes } from 'mdx-deck' export { components } from "mdx-deck-code-surfer" import GraphQLBurger from "./components/GraphQLBurger" import FullWidth from "./components/FullWidth"; import BookLogo from "./components/BookLogo"; import Playground from "./components/Playground";
<img style={{ position: "relative", width: "50vw", height: "50vh" }} src='./components/graphql-logo.svg' />
Hola 👋
- 📖 Documentación automática
- 🎮 Control sobre payload
- 🔢 Versionado
- 🛠 Herramientas desarrollo
- 🌪 Consumir APIs es difícil
- ⚡ Errores, tiempo, pérdida de clientes
- ☀️ GraphQL ofrece excelente experiencia de desarrollo
- 👩💻 Empresas con clientes desarrolladores
- ⚡ Empresas buscando eficiencia de desarrollo
- 📱 Aplicaciones mobile
query -> JSON
- 📖 Documentación automática
- 🎮 Control sobre payload
- 🔢 Versionado
- 🛠 Herramientas desarrollo
- 🌪 APIs REST son dificiles de documentar
- ⚡ Dificil comunicación entre equipo cliente y servidor
- ☀️ APIs GraphQL proveen documentación automática
- 💡 Descripción de datos completa y entendible mejora productividad
- 🌪 APIs REST determinan la forma de los datos en cada endpoint
- ⚡ Esto puede ocasionar pedidos con información innecesaria
- ☀️ APIs GraphQL permiten a los clientes pedir exactamente lo que necesitan
- 💡 Aplicaciones mas eficientes. Payloads menores y menos requests
- 🌪 APIs REST usan versionado para ofrecer nuevos features
- ⚡ Mantener las diferentes versiones de una API y comunicar los cambios es una tarea dificil
- ☀️ GraphQL facilita evolucionar APIs a través del tiempo
- 💡 Evitás breaking changes porque clientes piden exactamente lo que quieren
type Pelicula {
titulo: String
episodio: Int
fechaEstreno: String
}
type Pelicula {
titulo: String
episodio: Int
fechaEstreno: String
introduccion: String
}
----
5
type Pelicula {
titulo: String
episodio: Int
fechaEstreno: String
introduccion: String
director: String
}
----
6
---
```graphql
type Pelicula {
titulo: String
episodio: Int
fechaEstreno: String
introduccion: String
director: String
dirigidaPor: Persona
}
type Persona {
nombre: String
dirigio: [Pelicula]
actuoEn: [Pelicula]
}
----
6:14
type Pelicula {
titulo: String
episodio: Int
fechaEstreno: String
introduccion: String
director: String @deprecated
dirigidaPor: Persona
}
type Persona {
nombre: String
dirigio: [Pelicula]
actuoEn: [Pelicula]
}
----
6
- 🌪 APIs REST generalmente no siguen un estandard de modelado de datos
- ⚡ Difícil generar herramientas que faciliten desarrollo
- ☀️ APIs GraphQL exponen estructura interna
- ⚙ Clientes inteligentes
- 🤖 Generación de código
- 📊 Visualización
<img src="./public/images/chapter-1.png" style={{ height: "60vh" }} />
<img src="./public/images/chapter-2.png" style={{ height: "60vh" }} />
<img src="./public/images/chapter-3.png" style={{ height: "60vh" }} />
<img src="./public/images/chapter-4.png" style={{ height: "60vh" }} />
<img src="./public/images/chapter-5.png" style={{ height: "60vh" }} />
🙀
- 🔎 Lenguaje de consulta para tu API
- ✨ Experiencia de desarrollo ✨