Apollo offers data abstraction for Angular 2, React and Redux using GraphQL

With Falcor and GraphQL the wealth of custom built application REST API specific APIs is fast coming a thing of the past. What is still missing is a general purpose layer library to use these protocols in your front end applications.

Apollo calls itself a data stack for your applications. It is spawned from the Meteor team that worked on a full stack JavaScript framework, which was one of the first truly isomorphic frameworks that ran exactly the same code on the server and client.

Since the rise of Angular and React.js the team moved away from creating their own clientside layer, but instead have embraced these new technologies in their recent pivot. With this change from building their full stack, they've been able to gain a great position with support for both React.js, Angular 2 and more generic technologies like Redux.

With Apollo they push to create a unified layer that can be used by client applications for communicating with the server endpoints. The Apollo data stack has plenty of integrations to contemporary technologies:

Apollo is descrined as a data stack that can be adopted incrementally. You don't need to go full on and take all of the features of Apollo into use, but the basic building block is the use of the GraphQL specification for communications. GraphQL is used as the specification for the communication protocol.

In it's simplest form developers using GraphQL compatible applications like Content Management Systems. WordPress developers familiar with the REST API abstraction library WPCOM.js can see Apollo as a more universal option that is not coupled to a single system. To learn more about Apollo, head over to the tutorial section in the documentation: Apollo Tutorial

In the Post REST era that builds upon technologies like Falcor and GraphQL. Learning a library such as Apollo will enable developers to use the same technology across different tools, similar to CMSes using Symfony Components, for example. In any case decoupling from products to protocols is the next step for many web developers.