With its strongly typed schema, clear visibility into API supported operations, and ease of use, the open-sourced query language, GraphQL, has gained serious traction since its public release a few years back. The only problem — adopting to GraphQL has so far been, well… kind of a pain.
At the recent GraphQL Europe 2018 conference in Berlin, however, we learned that thanks to hard work, passion, and best practices on behalf of the GraphQL community, that is beginning to change.
Source: graphql-europe.org
Although GraphQL continues to gain in popularity, it hasn’t reached the point quite yet of what one could describe as a “mature” technology. First off, as languages go, it’s fairly new to the scene, having just been released in 2015 as part of a project by Facebook to develop a more efficient and robust alternative to REST.
Then there’s GraphQL’s point of entry, which for those who have worked with it know, can take quite a bit of trial and error to effectively implement.
We feel one thing is for certain, GraphQL is powerful and for developers interested in streamlining their app building process, can be worth overcoming the learning curve.
There’s a real enthusiasm brewing around the young query language, which was evident in the fact that the single day conference saw an increase in attendance by more than double of the previous year. Although the event featured 20 presentations on a variety of GraphQL related topics from companies such as Medium, Twitter, Apollo, and GitHub, as well as some smaller startups and agencies, we noticed an unmistakable theme of the day, “we learned to adopt to GraphQL... and you can too.”
Kája and Adam, STRV backend developers at Europe GraphQL
As GraphQL users, the biggest revelation of the day, for us, was Apollo engineer, Peggy Rayzis’s, The Future of GraphQL Servers. As Peggy pointed out, the benefits of GraphQL are hard to deny, especially from a frontend developer’s point of view. However, what’s prevented most organizations from considering adopting the query language thus far has primarily been the issues presented by backend developers, such as caching, control of services, and performance.
To help bridge this gap between frontend and backend developers and in turn accelerate the adoption process, Peggy announced the launch of Apollo Server 2.0. Designed with satisfying backend developers in mind, Apollo Server 2.0 offers some awesome production-ready features, including automatic persisted queries, response caching via cache control directives, and reporting to Apollo Engine.
In addition, the updated Apollo library features schema management tools including monitoring to better optimize collaboration between front and backend engineers. For GraphQL users familiar with Apollo Stack, this is simply put; great news.
Software engineer Leanne Shapton at Shopify, whose mobile app is backed by GraphQL and allows 3rd party developers to use their GraphQL API’s to build their own apps, delivered what we found to be one of the most inspirational case studies of the day, entitled Scaling GraphQL at Shopify.
Since first using GraphQL in production in 2016 and then launching their first public GraphQL API in 2017, Shopify has had incredible success rapidly scaling it both internally and externally, adjusting engineering processes and teams.
In addition to valuable insights on everything from avoiding exposure of implementation details in API design, pagination guidelines, and best times to write separate mutations, Leanne also released a GraphQL tutorial that Shopify created for internal purposes and is available here: Tutorial: Designing a GraphQL API
We found her tips on approaching API design super useful and highly recommend the tutorial to anyone considering implementing GraphQL on their own.
Another great talk was GraphQL co-creator Nick Shrock‘s The Revenge of the Monolith: The Past, Present, and Future of GraphQL Native. We found his insights into Facebook’s development of GraphQL humorous and eye-opening. As backend developers ourselves, hearing Nick discuss his own challenges of building a GraphQL server was honestly a relief.
For all the backend developers out there who can relate, we highly recommend taking a moment to check Nick’s excellent presentation.
All-in-all, although GraphQL has yet to become a household name among the app development community, the progress which has been made in the short couple years since its release is nothing short of inspiration.
Whether it was hobbyist just getting their feet wet, eager academics, or seasoned front-end engineers, it was clear to us everyone at GraphQL Europe 2018 shared in a genuine excitement over the same general revelation; GraphQL is well on its way to becoming much more accessible to a broader developer community.
Edited by: James Christopher Lacek