Apollo Client 0.5
dev-blog.apollodata.com
dev-blog.apollodata.com
Apollo's using Redux is great. The model and API are well understood so it's easy to bring developers on board. Relay seems to follow the same principles, but does them in its own way.
Relay is also opinionated about your server's responses. I know that the cursor pattern with edges and nodes is great for performant pagination, but then our schema has to conform to that spec and I really don't enjoy spending time explaining why we can't just get that user's photos, we have to get that user's photos' edges' nodes. Graph theory has a place, but it's not that close to the frontend, IMO.
More than anything, it seemed very easy to get up and running with Apollo. After reading lots of Relay docs, it still took a lot of experimentation and effort to get this running to begin with. I am very happy with Apollo's docs.
While Apollo is easier to adopt and use, it's still under active development, so it's not as stable as Relay, and hasn't been optimized for performance the way that Relay has.
disclaimer: I work on Apollo Client
So far I like apollo-client and GraphQL much more than Ember Data. I get full control over what data is being loaded on each route and only fetch exactly what's needed. Mutations with explicit arguments are also much better than the blob.save() / save-everything style encouraged by ember-data.
With client-side resolves in the next release, this integration should get even better. Hopefully they'll also switch to using GETs for non-mutation queries to enable some much better caching options.
Merging Fragments in the style of relay were my main concern with Apollo but they do have this now.
All in all much more flexible and readable than relay.
So my question is: should I have high hopes of being able to work with Meteor and Postgres with the help of Apollo?
And since Meteor is a full stack framework, I would love to see a guide about how to best structure an app with Meteor and Apollo (I'm in the camp where I don't like to fiddle around with what's the best js stack. I'm happy to have the framework authors decide that for me, and get down writing my goddamn app)
The name is completely unrelated to its function; I thought this was NASA's code. Imagine my disappointment when I saw a javascript library for working with GraphQL!
On the bright side, we apparently got a few people who thought it had something to do with NASA. Muahaha!