Documenting Apollo
How we’re constantly working to make it easier to understand and use Apollo Client
If you haven’t visited Apollo’s documentation in a while, you might notice it’s a little different now— we’ve recently overhauled our developer site from the ground up.
The new site is about a lot more than a beautiful new theme however; we’ve totally restructured how our documentation is organized.
Guide-oriented documentation
The vision was to structure the documentation as a guide to help you get your app built, rather than a dry list of API functions (although we still do have API docs of course!).
With that in mind, we’ve produced two primary guides for our JavaScript GraphQL client — one for React and one for Angular 2. These are the the view layers that have the most mature integrations with Apollo, and as such we’ve tried to orient our documentation around how to get things done with those technologies.
As an example, rather than describing Apollo’s Optimistic UI support in the abstract as an API for our vanilla JS library, and leaving it up to you to figure out how to use it, we show you exactly how to use it in both React and Angular, with appropriate code examples for each.
Hopefully our list of recipes gives you the boost you need to get your GraphQL-based application off the ground and lets you focus on what actually matters: your app!
As a bonus, this round of documentation updates includes a first explanation of how to start using our iOS client and some information about how to get more involved in our developer community.
New Apollo landing page
Alongside all that great new content, we’ve put together a brand new developer landing page which explains the key benefits of Apollo Client and showcases simple code snippets showing how to do queries, mutations (and soon subscriptions!) using all our major client technologies.
Those snippets use a simple, common “Hello World” example server and show you how to implement the same basic list query and mutation. We’ve also been excited to see some emerging integrations (such as the VueJS integration and the Polymer integration) demonstrating different ways to implement the same example application. We’re investigating ways to make those new integrations more visible.
We’ll keep moving forward with these examples, and in the weeks to come you should see further examples for our iOS client, as well as some simple examples of our brand new subscription support. Check back soon!
All of the new stuff
All in all, there is a lot to see at the new dev.apollodata.com domain. Here’s the full list:
- http://dev.apollodata.com : the developer site with the “hello world” example applications.
- http://dev.apollodata.com/react : the complete guide to using Apollo with React.
- http://dev.apollodata.com/angular2 : the complete guide to using Apollo with Angular 2 (and documentation about Angular 1).
- http://dev.apollodata.com/ios : Some introductory material about our brand new Swift iOS client library (watch this space!)
- http://dev.apollodata.com/core : Core documentation about the Vanilla JS library used by all the JS integrations.
- http://dev.apollodata.com/tools : Documentation of various JS GraphQL tools, including Apollo Server.
- http://dev.apollodata.com/community : Our new community site, with contributions guidelines and a code of conduct (as well as a list of our prominent contributors!)
I’ll bet even the most seasoned Apollo developer will find something new and interesting. If you see anything that can be improved, please open a pull request on GitHub!