GraphQL for Dummies (in 3min)
Dehemi Fabio

Dehemi Fabio @dehemi_fabio

About: Software Engineer | Agentic AI Software Developer | Passionate about AI and Boxing. | AI Researcher | Fanfiction Writer linktree: https://linktr.ee/DehemiFabio

Location:
Negombo, Sri Lanka
Joined:
May 18, 2024

GraphQL for Dummies (in 3min)

Publish Date: Jun 1
5 0

What Is GraphQL?

Facebook built GraphQL in 2012 to solve a simple problem: their mobile apps were slow because they needed multiple API calls to load a single screen.

GraphQL is just a smarter way to build APIs. Instead of multiple endpoints with fixed responses (REST), you get one endpoint with custom responses.

REST: Multiple trips to get data

await fetch('/users/123')      // Get user
await fetch('/users/123/posts') // Get posts  
await fetch('/users/123/followers') // Get followers
// 3 requests = slow
Enter fullscreen mode Exit fullscreen mode

GraphQL: One trip, exactly what you need

query {
  user(id: 123) {
    name
    posts { title }
    followers { count }
  }
}
// 1 request = fast
Enter fullscreen mode Exit fullscreen mode

The 3 Core Concepts

1. Schema (Your API Menu)

type User {
  id: ID!           # ! means required
  name: String!
  posts: [Post!]!   # [] means list
}

type Post {
  id: ID!
  title: "String!"
  author: User!
}
Enter fullscreen mode Exit fullscreen mode

2. Queries (Getting Data)

query {
  user(id: "123") {
    name
    posts {
      title
      likes
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

3. Mutations (Changing Data)

mutation {
  createPost(title: "\"Hello World\") {"
    id
    title
  }
}
Enter fullscreen mode Exit fullscreen mode

That's it. You now understand GraphQL.


Why Use GraphQL?

The Good:

  • No over-fetching - Get exactly what you need
  • No under-fetching - Get everything in one request
  • Self-documenting - Schema tells you what's available
  • Multiple clients - Mobile and web can use the same API differently

The Bad:

  • Caching is harder - Need tools like Apollo Client
  • N+1 queries - One query can trigger 100 database calls
  • Learning curve - Your team needs to learn new concepts

When to Use GraphQL vs REST

Use GraphQL When:

  • Multiple clients need different data
  • You're making 5+ API calls per page
  • You have deeply nested data relationships
  • You want real-time features

Stick with REST When:

  • Your API is simple CRUD
  • You need bulletproof HTTP caching
  • You're building a public API
  • Your team is productive with REST

The Truth

GraphQL isn't better than REST. It solves different problems.

Facebook didn't build it because REST sucks - they built it because they had Facebook-scale problems.

Most apps? REST works fine.

But if you're making 10 API calls per page and your mobile app is slow? Time to look at GraphQL.

Comments 0 total

    Add comment