GraphQL, REST or RPC? Making the choice! - Rob Allen

Explore the pros and cons of GraphQL, REST, and RPC in building APIs, and discover which approach is best suited for your application.

Key takeaways
  • GraphQL was designed to avoid a specific problem, but introduced new ones.
  • Rest and RPC are server-performance-first mental models.
  • GraphQL is a query-first language, designed by the client.
  • GraphQL has strong type definitions and a schema that is machine-readable.
  • GraphQL handles errors in a way that makes sense for the application.
  • GraphQL and RESTful APIs can both be used for building APIs, but GraphQL is more flexible.
  • GraphQL is defined by the client, and can be customized.
  • GraphQL has a query language that allows for requesting specific data.
  • GraphQL has a system for handling pagination.
  • GraphQL is not perfect, but is a good choice for some applications.
  • RESTful APIs are more commonly used, but GraphQL is gaining popularity.
  • RPC is also a valid choice, but may not be as widely supported.
  • GraphQL is good for handling complex queries and data retrieval.
  • GraphQL is good for handling data types and schema validation.
  • GraphQL is good for handling errors and exceptions.
  • GraphQL is good for handling pagination and limiting the scope of data retrieval.
  • GraphQL is good for handling customization and flexibility.
  • GraphQL is good for handling API evolution and backwards compatibility.
  • GraphQL is good for handling schema validation and data typing.
  • GraphQL is good for handling data retrieval and querying.
  • GraphQL is good for handling API documentation and tooling.
  • GraphQL is good for handling API performance and optimization.
  • GraphQL is good for handling API security and authentication.