byteNative
Backend

GraphQL

Flexible APIs that deliver exactly the data your client needs.

What is GraphQL?

GraphQL is a query language for interfaces that lets a client request exactly the data it needs at that moment, no more and no less. At its heart sits a typed schema that describes the entire available data and at the same time acts as the contract between both sides. This avoids both superfluous and missing fields and resolves nested relationships in a single request. It really shows its strengths when different interfaces draw on the same underlying data.

More in the documentation

How we use it

We use GraphQL when several clients like web and app need quite different slices of the same data. Each interface assembles its own cut, without us building a separate endpoint variant per view. The schema acts as shared, always current documentation for everyone involved.

graphql
query GetProject {
  project(id: "42") {
    name
    members {
      name
      role
    }
  }
}
one query fetches exactly the fields the client needs

Good to know

Nested queries quickly invite the N+1 problem, where each list item fires its own database query. We batch those accesses with a DataLoader, which collects the requests of one level and resolves them in a single pass.

00Backend

More tools we work with in the same area.

Which technology fits you?

You don't have to decide that, it's our job. Tell us about your plans.