What Is GraphQL and Why Use It?
Reaching production-ready and open source status in September 2016, GraphQL is a growing publicly explored query language for APIs and databases. Its appeal among query languages is the simplicity and clarity of a query itself. The query language enables users to receive only what they desire when asking for data from the backend infrastructure simply by specifying in the query the data type and field(s) nested in the type. The user is given the power to intuitively form structured queries that both mirror the hierarchy of the returned JSON and demand a vast quantity of data in a time efficient manner.
Compared to REST, of which GraphQL is an increasingly attractive alternative, GraphQL improves the speed of application development by this realignment of the user's frame of thought. Essentially, GraphQL bridges the gap between data retrieval and incorporation of that data into its application such that the user conceptualizes the query in the same format of the input to the application. Such ideological pairing offered by GraphQL makes the resource URI requests in REST appear unnecessarily burdensome and disparate from their intended use.