21 December 2016
On our last article, we discussed how Meteor is on the wave and what’s its big contribution for revolutionising the entire industry. Right now, the current plan for Meteor 1.5 seems to be to focus on GraphQL integration, among other important goals.
By now you’ve almost certainly heard of GraphQL, an open-source data query language and runtime.
Probably it is easier to start with what it isn’t. So GraphQL, despite the name and the connotations that might imply it has nothing to do with graph databases, it’s just a coincidence in the naming. Also, it has nothing to do with data storage. The definition from the dictionary is that GraphQL is a declarative language specification for data fetching so that means that you can query data for a client. It is an alternative to Rest, with which developers are familiar.
The story started in 2007 when Facebook had to become serious about mobile. It was a revolution in computing, and it was all about the mobile revolution. It was needed a query language that aligns with the way the developers and the designers think. Facebook needed a data-fetching API powerful enough to build mobile applications and more than that to support the development of all of them.
This is where GraphQL found its way and it seems to have been the perfect solution at that particular time.
Today Facebook is using the open-sourcing GraphQL by drafting a specification and forming a community around it at graphql.org. It had evolved a lot before it was open sourced.
That we are already using it, and it is also used by a growing number of developers outside Facebook as an intuitive tool to quickly and reliably query data. For example, Twitter, Intuit or Drupal, followed the Facebook way and now the Angular, iOS and Android developers trust it to solve the real tech problems.
As we can notice, each passing day there is a new technology that supersedes the previous one. For the last few years, RESTful APIs have been the hottest one until GraphQL launched. REST APIs and GraphQL are both technologies that allow this new breed of applications and servers to communicate with each other. For end users both accomplish the same thing and an application using GraphQL is inherently no better than one that implements REST. Still, if it were to compare the traditional approaches such as REST, GraphQL helps the application to fetch data more efficiently and even avoid duplication of server logic. Furthermore, GraphQL is helping developers to decouple product code and the server logic.
GraphQL can sit on top of your existing application and storage. Just like implementing any other technology, adopting GraphQL into the organisation is a big task. But in the end, GraphQL simply makes APIs better. The big benefit is not only the performance of it, but the user experience brought to the table.
ITSG can help you develop React / Appollo / GraphQL / Meteor stack. Please contact us here if you want to build a new product or even rewrite entire production infrastructure to use GraphQL.
Photo source: http://graphql.org/