Introducing the new data sources API in Apollo Server 2.0

Last Friday, we published a first release candidate of Apollo Server 2.0, a 100% open source JavaScript GraphQL server that bakes in the best practices we’ve learned working with hundreds of teams running GraphQL in production. This post introduces data sources, one of its new features.

In our experience, the right way to deploy GraphQL is as a layer between your apps and your existing APIs and services. This approach lets teams leverage and complement the investments they’ve made in microservices and infrastructure, and provides product engineers a straightforward, low-friction path to rolling out GraphQL.

That makes patterns for loading…

An open source GraphQL extension to help monitor your API

Today I’m excited to introduce you to Apollo Tracing, a GraphQL extension for performance monitoring that we’ve been working on for the last few months. Thanks to the community, Apollo Tracing already works with most popular GraphQL server libraries, including Node, Ruby, Scala, Java, and Elixir, and it enables you to easily get resolver-level performance information as part of a GraphQL response.

Apollo Tracing works by including data in the extensions field of the GraphQL response, which is reserved by the GraphQL spec for extra information that a server wants to return. That way, you have access to performance traces…

Static type safety from your server to your mobile UI

We recently released the first version of Apollo iOS, a strongly-typed GraphQL client for Swift apps. I’ve written about bringing GraphQL to iOS before, but in this post I’d like to go into more detail on our mapping from GraphQL types to Swift, and explain why we chose this approach. I’ll also show how the Xcode integration included with Apollo iOS gives you a convenient way of working with Swift and GraphQL side by side, and how that fits really well with the workflow enabled by the typed code generation.

For a more high-level introduction to GraphQL and its use…

Improving mobile development through strongly typed query results

As some of you may know, GraphQL was originally developed for the Facebook iOS team, and it has powered the main Facebook iOS app since 2012.

Outside of Facebook however, GraphQL on the client is still mostly associated with JavaScript. By now, there are dozens of GraphQL libraries in other languages available, including implementations in Ruby, Python, Java, Scala, and .NET, but these only cover the server side.

We believe GraphQL is a great match for native mobile apps, so as a first step we’ve started working on a GraphQL client for iOS. …

Meteor has enabled you to build mobile apps from the same codebase you use to create regular web apps for quite some time. With a few simple commands, you can take an existing app and run it on a mobile device. By using a set of standard APIs, you can take advantage of native device features not usually available to web apps. This is made possible by integrating with Cordova, a well-known Apache open source project that bundles your web app into a native app.

With the release of Meteor 1.3, we’ve improved on the mobile support relied on by…

Martijn Walraven

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store