Apollo is a team and community that maintains a set of decoupled components and standards to help developers get the most out of GraphQL. GraphQL is the future of application development, and we’re here to help everyone move towards that future.
The tools, products, and libraries in Apollo can be grouped into 3 categories:
- Client: This is a set of tools to help you consume GraphQL data in your UI, on any platform including React, Vue, Angular, iOS, and Android.
- Engine: This is GraphQL infrastructure you can run over your server to get features like performance tracing, caching, and error tracking specifically for GraphQL.
- Server: These are tools you can use to add GraphQL incrementally to your backend, or start a new GraphQL backend from scratch.
Getting started with Apollo is easy! You can follow these tutorials for step by step instructions.
Jonas Helfer and friends take you through building a simple GraphQL server and React app with Apollo.
How to GraphQL
Simon Tucker wrote a great tutorial on the React Native Training blog showing you how to build a fully-featured chat app with realtime data.
GraphQL client libraries
The main parts of the project are the GraphQL client libraries for every frontend platform:
- React and React Native: Docs, GitHub
- Vue.js: Docs, GitHub
- Angular: Docs, GitHub
- Ember: Docs, GitHub
- Meteor: Docs, GitHub
- iOS for native Swift: Docs, GitHub
- Android for Java: Docs, GitHub
If you don’t see your platform here, send a PR to add it, or work on a library of your own!
In addition to libraries you put in your client, there are some great tools you can use to integrate with your development environment and editor:
- GraphQL ESLint Plugin: This is a plugin you can add to ESLint to validate your GraphQL queries and see errors show up right inside your editor.
- Apollo Codegen: You can use this tool to generate static types for your queries, for TypeScript, Flow, Java, Scala, or Swift.
- Apollo Client Devtools: This is a Chrome dev tools panel you can use to run GraphQL queries against your server, see what queries and mutations are active in your page, and inspect the current state of the store. Chrome Web Store, GitHub
Apollo Engine is turnkey infrastructure you can use to take GraphQL services into production with confidence.
Engine sits between your clients and your GraphQL server, delivering essential capabilities like query caching, error tracking, and execution tracing on top of any spec-compliant GraphQL server including Apollo Server, GraphQL-Ruby, Sangria, and Absinthe.
Apollo server libraries
- GraphQL Tools: This library helps you easily generate a GraphQL schema using the GraphQL schema language and resolvers. It also supports additional features like mocking, schema stitching, and more. Docs, GitHub
- Apollo Server: This is a library for attaching a GraphQL schema to a server endpoint, which supports all major Node.js server technologies including Express, Hapi, Koa, and more. Docs, GitHub
- GraphQL Subscriptions: Add realtime data streaming capabilities to your GraphQL server. Docs, GitHub
The GraphQL specification is the only thing you need to use all the Apollo tools. Thankfully, the core spec has extension points you can use to add functionality.