GraphQL: a simple introduction
GraphQL is a query language and execution engine tied to any backend service. http://graphql.org/
A query language for APIs created by Facebook.
express-graphql - Create a GraphQL HTTP server with Express.
GraphQL.js - GraphQL.js is a general purpose library and can be used both in a Node server and in the browser.
GraphiQL - A graphical interactive in-browser GraphQL IDE.
Concern about the performance
It’s true that performance can be a challenge, but it’s not true that GraphQL somehow forces you to expose routes that are not performant. A GraphQL schema is designed the same way as your traditional REST-ish API in that a service operator only reveals routes where they can ensure good quality of service for users, and good stability for their own backend.
My two cents:
the performance problem GraphQL will have, the normal RESTful way will also have, just that when you expose the GraphQL, it is easier to make nested query. but contract to its benifits(unitform api, code reusing), GraphQL is good to try.
What’s GraphQL Appollo
Build a universal GraphQL API on top of your existing REST APIs, so you can ship new application features fast without waiting on backend changes.
but it is commercial.