Sitara Ramesh

A Beginner’s Journey into GraphQL - Part 1

The first step to learning how to use any technology or framework is to understand the community it’s built for. A community shapes how the technology is evolved over time — they set the “norms”, and future iterations are tuned to their preferences and requirements. Similarly, understanding the ecosystem in which a technology is made also gives some context as to why it has certain features but not others.

History

GraphQL was developed by Facebook in 2012 as a way to simplify the method by which their mobile applications fetched data for the News Feed. It enabled developers to access different data for each version of the app without constructing different APIs for each. It increased flexibility on the client-side, that is, it permitted clients to define the structure of responses from the server.

The GraphQL framework essentially packages what would’ve been multiple REST endpoints into one query. In 2015, they spun it out as an open-source project after revisiting it during the release of Relay, another Facebook framework.

The GraphQL framework essentially packages what would’ve been multiple REST endpoints into one query.

Adoption

The power that this framework provides to developers has drawn many different language communities to adopt it and build libraries, tools and extended frameworks around it like the reference implementation Graphql.js and the server libraries in Elixir, Go, Ruby, etc. We’ve also seen many corporations integrate the framework either into their public API or in the development of their own applications.

For example, GitHub’s most recent API is built using this framework and NBC News Digital developed three new digital verticals using GraphQL. Additionally, companies have created services for GraphQL such as the Apollo client by the Meteor Development Group (yes, that Meteor), and Graph.cool and Scaphold, which are GraphQL Backend-as-a-Service companies.

Community

The GraphQL developer community is rapidly growing as many companies advocate the framework’s use by also sponsoring talks at many React and JavaScript conferences (I’ve linked a couple of them down below). These talks have the potential to inspire new developers to enter the GraphQL ecosystem. The community is active on Facebook, Meetup, and Slack. The Facebook group, for instance, is a hub for users to share projects they’ve made and resources they’ve used. Many GraphQL providers and influencers also share new developments in the framework and other services on this group.

Embedded content: https://www.youtube.com/watch?v=S0s935RKKB4

Embedded content: https://www.youtube.com/watch?v=wPPFhcqGcvk

As its developer community grows and more companies advocate its use, we can only see GraphQL becoming an industry standard. Other than that, the power, adaptability, and ease-of-use that GraphQL promises are the main motivators for me to learn this framework. It may take some time before established corporations move from a RESTful API to a GraphQL one, but GraphQL is promising enough, in my opinion, that the switch will happen (unless some other, better, framework is introduced beforehand).

GraphQL Summit 2017, taking place this October in San Francisco, will showcase advancements in the framework, adoption, and community that will help predict its future growth.

In the meantime, follow along as I plan out and create a project using the GraphQL framework! If you have any ideas on what I should make, tweet me @sitara_ramesh or leave a comment down below. I will also post all the resources I used in a GitHub repo. If you have any more you’d like to add to the list, feel free to submit a pull request!

This post is a part of a series, you can find the next posts here.

A Beginner’s Journey into GraphQL — Part 2

A Beginner’s Journey into GraphQL — Part 3

StratusUpdate

Keep your head in the cloud with Stratus Update

With our new weekly newsletter we’ll keep you up to date with a curated selection of the the latest cloud services, projects and best practices.
Click here to read the latest issue.