> Markdown version of [/videos/1195-the-great-api-debate-rest-graphql-or-grpc?t=1434](https://www.wearedevelopers.com/videos/1195-the-great-api-debate-rest-graphql-or-grpc?t=1434). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # The Great API Debate: REST, GraphQL, or gRPC? Is GraphQL secretly leaking your business logic? Stop treating APIs as mere transport decisions and master the core architectural trade-offs between REST, GraphQL, and gRPC. - **Speakers:** [Alexis Yushin](https://www.wearedevelopers.com/@alexis-yushin) - **Event:** World Congress 2024 - **Published:** August 29, 2024 - **Duration:** 28:16 - **URL:** https://www.wearedevelopers.com/videos/1195-the-great-api-debate-rest-graphql-or-grpc ## Summary The speaker explores the role of API design in driving developer productivity—which they define as the ultimate metric for building scalable, maintainable software. Rather than just connecting systems, APIs act as critical firewalls that "compartmentalize complexity," allowing distinct modules and teams to operate independently without accumulating technical debt. Tracing the evolution of remote communications from early RPC and SOAP to the modern trio of REST, GraphQL, and gRPC, the talk reframes API selection as a foundational architectural choice rather than a mere transport decision. REST is highlighted as a champion of clean architecture, naturally enforcing a rigid separation between business logic and the presentation layer. Its resource-oriented structure maps cleanly to domain-driven design, and adopting OpenAPI standards provides invaluable out-of-the-box self-documentation. While REST can suffer from over-fetching or under-fetching as front-end complexity scales, it provides a stable, predictable foundation. The speaker notes that standardizing on REST allows agile teams to define models once and auto-generate front-end clients, occasionally turning months of development work into mere weeks. While GraphQL effectively solves complex data-fetching dilemmas by granting the presentation layer granular control, it comes with architectural risks. The speaker warns that this flexibility often allows business logic to "slowly creep out of your business logic layer," potentially causing structural chaos and exposing the system to threats like recursive GraphQL queries. Conversely, gRPC is positioned as the definitive choice for high-performance microservices. Though harder to debug organically, gRPC offers developers full control over low-latency, serialized data exchange, delivering unparalleled efficiency when application performance is the overarching priority. **Keywords:** api design patterns, software developer productivity, clean architecture enforcement, REST api over-fetching, GraphQL data fetching, gRPC microservices performance, OpenAPI self-documentation, architectural separation of concerns, rapid software development workflows, mobile application backend integration, WebSocket real-time updates, domain-driven api design, recursive GraphQL query mitigation, frontend client auto-generation ## Chapters 1. **Defining developer productivity in traditional software development** (00:01) — Measuring success through rapid problem solving and minimizing future technical debt. 1. **Core benefits of using application programming interfaces** (06:21) — Using APIs to compartmentalize software complexity and improve system scalability. 1. **Historical evolution from remote procedure calls to modern protocols** (08:09) — Understanding the transition from early remote procedures to modern protocols provides context for architectural decisions. 1. **Identifying users and common architectural use cases for APIs** (11:05) — Mapping API adoption across different engineering roles highlights specialized structural needs. 1. **Enforcing clean architecture principles through domain driven design** (14:04) — Separating business logic from presentation layers helps maintain structured and reliable software components. 1. **Architectural mapping of resources across different API protocols** (17:54) — Analyzing how REST, GraphQL, and gRPC enforce logical system contracts guides architectural design. 1. **Evaluating benefits and drawbacks of common API formats** (20:18) — Balancing the self-documenting nature of REST against specific data retrieval tradeoffs reveals optimal usage. 1. **Accelerating development timelines using strictly typed REST APIs** (23:54) — Generating front end clients automatically from defined backend data models accelerates project delivery. 1. **Selecting an appropriate API type based on specific project constraints** (25:03) — Matching structural platform requirements with capabilities dictates technical direction. 1. **Analyzing recursive queries, performance metrics, and service communication** (26:36) — Addressing query bombs and structural bottlenecks ensures reliable microservice performance. ## Related Moments - [Choosing the right API protocol today](https://www.wearedevelopers.com/videos/1683-rest-in-peace-what-does-the-api-protocol-of-the-future-look-like-or-do-we-have-it-already) (from "REST in Peace? What does the API protocol of the future look like? Or do we have it already?") - [Evolution of API interfaces toward declarative data fetching](https://www.wearedevelopers.com/videos/1054-graphql-does-it-replace-sql-rest-or-something-else) (from "GraphQL: Does it replace SQL, REST or Something Else?") - [Motivation for using gRPC APIs over RESTful JSON](https://www.wearedevelopers.com/videos/689-designing-grpc-apis-the-things-they-don-t-tell-you) (from "Designing gRPC APIs - The things they don't tell you") - [Evaluating architectural trade-offs between REST and gRPC](https://www.wearedevelopers.com/videos/1935-boosting-opensearch-performance-grpc-search-in-action) (from "Boosting OpenSearch Performance: gRPC Search in Action") - [Comparing GraphQL capabilities against the JSON API standard](https://www.wearedevelopers.com/videos/33-api-design-getting-started) (from "API Design - Getting Started") - [Understanding the core concepts of API design](https://www.wearedevelopers.com/videos/33-api-design-getting-started) (from "API Design - Getting Started") ## Related Articles - [Web Development Best Practices: What The Data Tells us](https://www.wearedevelopers.com/magazine/84-web-development-best-practices-what-the-data-tells-us) - [Dev Digest 120 - Apple and peers](https://www.wearedevelopers.com/magazine/455-dev-digest-120-apple-and-peers) - [Dev Digest 139 - Soft and hard queries](https://www.wearedevelopers.com/magazine/487-dev-digest-139-soft-and-hard-queries) - [Why Event-Driven Architecture Isn’t About Speed (and When You Actually Need It)](https://www.wearedevelopers.com/magazine/745-why-event-driven-architecture-isn-t-about-speed-and-when-you-actually-need-it) ## Related Jobs - [Senior Software Engineer, Client Apps Platform](https://www.wearedevelopers.com/jobs/ext/1773893-senior-software-engineer-client-apps-platform) at **GitHub** - [Staff Software Engineer](https://www.wearedevelopers.com/jobs/ext/1425755-staff-software-engineer) at **GitHub** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/267591-principal-software-engineer) at **Twilio** - [Principal Product Manager, Agent Platform](https://www.wearedevelopers.com/jobs/ext/277541-principal-product-manager-agent-platform) at **GitHub** - [Mid/Senior Full-Stack Engineer (Web-first)](https://www.wearedevelopers.com/jobs/ext/1210833-mid-senior-full-stack-engineer-web-first) at **SMG Swiss Marketplace Group** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/115163-principal-software-engineer) at **Twilio**