TL;DR

  • GraphQL looks promising.
  • REST APIs are still the standard by a large margin.

API Layers

Filter:
  • All
  • Interest
  • Satisfaction
Show:
  • Percents
  • Numbers
  • Never heard of it
  • Heard of it, not interested
  • Heard of it, would like to learn
  • Used it before, would not use again
  • Used it before, would use again

No surprises here, custom REST APIs are the default, even though it looks like Firebase has managed to carve out a nice little niche for itself.

All other options had minimal awareness, and even the much-hyped GraphQL seems to struggle to break through the noise, although it does have a fairly high 76% “want-to-learn” score.

It's fair to say this space suffers from a communication problem. While BaaS (back-end-as-a-service) offerings like Firebase or Parse are able to clearly articulate their value proposition (“we take care of the back-end so you don't have to”), these advantages are less clear when it comes to self-hosted options like GraphQL, Falcor, or Horizon.

How likely are API layer users to also use other technologies?

Plain JavaScriptES6CoffeeScriptTypeScriptElmClojureScriptNo FrameworkReactAngularAngular 2EmberVueBackboneReduxMobXRelayREST APIFirebaseGraphQLApolloFalcorHorizonMeteorFeathersJSDoneJSMERNMEANMochaJasmineEnzymeJestCucumberAvaPlain CSSSASS/SCSSLESSCSS ModulesAphroditeWebpackGruntGulpBrowserifyBowerNative AppsReact NativeCordovaPhoneGapNativeScript
REST API
12
19
2
8
2
3
11
11
6
4
3
3
7
12
1
0
100
6
-1
-4
0
2
-3
0
-1
5
10
17
15
6
2
6
2
5
10
6
1
0
14
5
8
8
3
11
5
6
4
0
Firebase
3
11
0
5
4
3
0
11
8
9
11
6
3
11
5
3
6
100
8
3
7
8
8
4
3
8
13
9
9
7
5
4
5
4
11
3
8
4
12
1
10
9
7
7
13
9
7
7
GraphQL
-3
11
2
2
7
9
-2
17
-4
2
2
1
1
17
10
45
-1
8
100
42
15
12
9
7
5
9
2
13
5
17
15
6
10
-3
1
0
12
12
14
-2
-2
2
-5
5
20
3
3
4
Apollo
-4
5
3
2
2
1
-2
9
-3
2
0
1
0
9
9
15
-4
3
42
100
15
12
14
10
7
5
1
5
0
8
7
4
9
-2
0
2
6
9
6
-3
-3
-1
-3
1
12
2
0
5
Falcor
-1
2
3
3
2
6
0
5
2
5
5
3
3
6
6
12
0
7
15
15
100
17
3
10
14
5
2
5
4
6
8
9
8
-1
2
1
5
7
5
-1
2
3
-1
2
8
2
2
4
Horizon
0
4
2
3
3
3
-3
4
1
4
2
5
-1
5
6
8
2
8
12
12
17
100
4
14
10
3
1
3
1
5
5
3
6
1
0
0
4
5
4
-3
-1
1
-1
3
9
5
4
7

Note: “user” defined as people who picked “I've used it before, and would use it again”. Phi coefficient values go from -100 to +100, darker red indicates stronger positive correlation, darker blue indicates stronger negative correlation.

Apart from GraphQL showing strong correlation with its two main wrapping libraries, Relay and Apollo, it's hard to derive any meaningful conclusions from the data.

The one thing that stands out is that all API layer technologies seem clustered together, which would indicate that at this stage they're still mostly used by a population of early adopters who frequently try out new libraries.

Recommended Resources

Presented by Egghead.io

Using GraphQL's GraphiQL Tool

egghead.io
We'll learn how to use GraphQL's GraphiQL tool as an IDE for writing GraphQL queries.

Build Your First React.js App

Tyler McGinnis
Let's start from scratch and build a full React application! We will use Firebase to persist data.
Thanks to our partners for supporting this project. Check them out for more awesome programming courses!

Other API Layers (Mentions)

JSON API was frequently mentioned, but it's a little different from the rest (no pun intended) in that it's a specification and not a library.

Meteor was another popular choice, and the fact that it enjoys such popularity as a self-hosted back-end explains why the Meteor team recently decided to refocus their effort on the API layer with Apollo, the afore-mentioned GraphQL solution.

The rest of the ecosystem is very fragmented, and the reponses also show how large the “API layer” umbrella really is, with answers ranging from full-on server-side frameworks like Rails, to back-end-only libraries like Deployd.

On a scale of 1 to 5, how happy are you with your current API layer solution?

Show:
  • Percents
  • Numbers

With a fairly low average happiness score of 3.4, the API Layers section confirms the trend: the more fragmented the domain, the less happy overall the users are.

These days, people are putting a lot of hope in GraphQL, but it remains to be seen if it'll end up being the answer everybody has been waiting for, or just one more option to add to the pile.