Mobile-first APIs with GraphQL
REST has been in the mainstream for over a decade now, and deservedly so. However, REST has some downsides, especially for large and complex APIs that must support multiple clients, or for clients trying to retrieve and update data as efficiently as possible over a network.
In response to these shortcomings, Facebook developed GraphQL, a protocol for fetching and mutating complex graphs of data. Around the GraphQL specification an ecosystem has grown of powerful client-side frameworks, server-side libraries, and even platform-as-a-service (PaaS) offerings.
In this talk, we’ll examine GraphQL with a particular focus on how it can help mobile developers. This will include an overview of the GraphQL specification, what client-side libraries are available, and what options are available for server-side development.
Outline/structure of the Session
We’ll start with an overview of the GraphQL specification and the problems with REST that it tries to address.
We’ll then move onto client libraries, covering the strengths and weaknesses of heavyweight frameworks like Relay in comparison to more lightweight offerings like Apollo. Along the way, we'll see how GraphQL can optimize client-server communication.
Finally, we’ll look at options on the server-side, ranging from using hosted PaaS services like Graphcool to writing and deploying your own GraphQL server. We’ll dive into the latter, do-it-yourself option in a little more detail as it’s one of the least talked about, yet probably the most realistic scenario for many enterprise devs.
Attendees will leave this talk with an understanding of GraphQL and its surrounding ecosystem, how it can help them write more performant and responsive mobile applications, and how they might introduce it into their existing environments.
Basic knowledge of REST and mobile client-server communication