GraphQL and Salesforce Development

GraphQL is an open source data query and manipulation language meant to provide a more efficient, powerful and flexible alternative to REST and ad-hoc web service architectures.

In practice it acts as an abstraction layer between a client (web, mobile, etc) and a backend (REST or database). The intent is to unify and abstract all communication between these components.

Exposing Salesforce REST services in GraphQL and querying them from a Javascript client included in VisualForce would only introduce an unnecessary and under-performing layer because you can directly access code from the controller.

But there are other use cases where GraphQL may prove beneficial in conjunction with the Salesforce REST services: - a backend where web or mobile clients need to access both Salesforce REST APIs, a database or other unrelated REST APIs.

You can start using this schema https://github.com/jpmonette/salesforce-graphql and enrich it with your Salesforce objects.