![graphql formatter graphql formatter](https://dgraph.io/blog/images/postman_blog_copy_var.png)
I certainly don't think that nobody should use Apollo! Most of their published packages do have cases where they're genuinely useful, many of the packages I'm counting are deprecated or duplicates (though published and often still well used), and as far as I'm aware everything they've released works perfectly effectively. I know I'm treating Apollo very harshly here, and that's not wholly fair. it does all the GraphQL heavy lifting required to process a query like this, except the HTTP. To be clear, that graphql package is the official GraphQL JS implementation, which takes a schema, a query, and a resolver (in effect, a data set object), and gives you a result. If however you also use the (official, non-Apollo) graphql package too, then you can now just about answer complex queries like: Once all put together, by itself this package creates web servers that can't do anything. In total, installing apollo-server installs actually installs 33 direct dependencies, and 179 packages in total, pulling in about 35MB of JavaScript. It includes request tracing for their own custom tracing format, multiple different custom caching packages, an abstraction layer that powers the many available transport link layers, an abstraction layer for connecting external data sources.
Graphql formatter install#
The Apollo packages required to install the base apollo-server package suggested in their Getting Started guide include the "Apollo Studio" (née Apollo Graph Manager, néeée Apollo Engine) reporting engine, which integrates your server with their cloud service, plus extra protobuf definitions on top of that to reporting to the cloud service with Protobuf. 3 different GraphQL Babel plugins (plus a Relay un-Babel plugin, so you can avoid using Babel for some specific cases).5 different create-* project setup packages.7 different GraphQL 'transport layers', plus a long list of link layer extensions that build on top of this.
![graphql formatter graphql formatter](https://miro.medium.com/max/1890/1*zkrAZaLCEYGxyfHypdY03g.png)
![graphql formatter graphql formatter](https://miro.medium.com/max/4276/1*btPNqlBJaHTiRLhXyjbh1Q.png)
44 different server packages and apollo-server-* subpackages.In practice, "industry-standard GraphQL implementation" means 169 separate npm packages, including: Let's talk about why that is, what can go wrong, and what you should do instead. It certainly might be useful later, but on day 1 it's a trap, and you'll make your life simpler and easier if you avoid it entirely. Unfortunately, while I'm sure their platform is great, if you're setting up a fresh GraphQL API you should not start with Apollo. Apollo describe themselves as a "data graph platform" who've built the self-described "industry-standard GraphQL implementation". Nonetheless, a busy hype train & rocket-speed ecosystem means that building a GraphQL API in the real world can be a tricky balancing act of piling complex interacting components a mile high, none of which anybody fully understands.Ībout 90% of this pile is built & heavily promoted by a VC-funded company called Apollo. The fundamentals of GraphQL are remarkably simple.