Alexis Yushin

The Great API Debate: REST, GraphQL, or gRPC?

Stop letting business logic creep into your frontend. This talk makes a strong case for REST's clean architecture over the hidden dangers of GraphQL.

The Great API Debate: REST, GraphQL, or gRPC?
#1about 4 minutes

Defining developer productivity as the ultimate software metric

Developer productivity, measured by customer satisfaction and future-proof code, is the key metric for building traditional software.

#2about 2 minutes

Using APIs to compartmentalize complexity and enable scalability

APIs act as firewalls between software modules, enabling interoperability and scalability by allowing independent system growth.

#3about 3 minutes

Tracing the evolution of APIs from RPC to GraphQL

The history of APIs shows a progression from low-level RPC and verbose SOAP to structured REST, interactive WebSockets, and modern gRPC and GraphQL.

#4about 3 minutes

Understanding API users and common application use cases

APIs serve various roles like developers and architects across use cases including mobile backends, third-party integrations, and microservices.

#5about 4 minutes

Leveraging APIs as a tool for clean architecture

A well-designed, domain-driven API enforces clean architecture by separating concerns and firewalling business logic from the presentation layer.

#6about 2 minutes

Architectural differences between REST, GraphQL, and gRPC

REST is resource-oriented, GraphQL offers flexible data queries similar to SQL, and gRPC provides a low-level, efficient data serialization format.

#7about 4 minutes

Evaluating the pros and cons of REST, GraphQL, and gRPC

REST offers self-documentation via OpenAPI but struggles with data fetching, while GraphQL is flexible but can break architectural separation, and gRPC is performant but complex to debug.

#8about 1 minute

Case study: Accelerating development with REST and OpenAPI

Using a REST API with OpenAPI allows for automatic client generation, which significantly speeds up front-end development for Django applications.

#9about 2 minutes

Choosing the right API for different project needs

Select REST for simple CRUD operations, consider GraphQL for complex front-end data needs, and use gRPC for high-performance microservices.

#10about 2 minutes

Q&A: GraphQL bombs and gRPC for microservices

The best defense against recursive GraphQL queries is a solid architecture, and gRPC is recommended for microservices due to its performance and control.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.