The super powers of your own toolkit based on Apollo tools
Apollo tools for React & Node environment give you ability to powerful create apps powered with a GraphQL data layer. In creating your own re-usable toolkit on top of these tools, it allows you to build great products even more simply.
Apollo client & server flexible tools provide great developer experience to build apps with GraphQL.
Though at some point, you often end up writing almost the same things for each data domain of your app, both on the front-end or back-end.
How would it be to have easy-to-use & re-usable utilities built on top of the Apollo tools? Building a new feature would lead to significant focus in favor of the creation aspect compared to the configuration aspect.
This talk shows you how adopting a toolkit made of useful abstractions on top of powerful libraries helps for building even greater products.
You will discover how to wire up useful React higher order components to ease the data loading in your UI components.
Handling pagination in complex lists queries now takes more a couple of lines. Extending fragments on the fly for particular tricky mutations becomes painless.
You will learn how to generate common CRUD operations automatically with specific room for custom logic.
You hook into these operations to add features such as domain-specific validations, pre-operation document enhancements or non-blocking asynchronous tasks after the action is done.
I'm passionate about open-source, and I build apps for early-stage startups as a freelance developer for a living. I use GraphQL thanks to the Apollo tools everyday.
I'm the maintainer of two Apollo-related open-source projects:
- the Meteor's Apollo integration (repo, docs, codebase tour), - Telescope, one of the biggest Meteor open-source app.
We recently migrated Telescope from the classic Meteor pub/sub system to a complete GraphQL integration using Apollo tools. The project is evolving to become a toolkit of components and packages that helps you quickly build web apps, both on the front-end and back-end.
These GraphQL-related projects, along my job, have taught me a lot about how to ease the life of developers & provide a great developer experience. I believe that the utilities built along the way in these projects would benefit a lot products builders using (React / Node) + GraphQL.
The talk would be articulated around the concept of the different utilities suggested in the Teaser part, extracted from their codebase and shown in an "agnostic" way. The base explanation of an utility would be:
while working on GENERIC_APP_FEATURE using APOLLO_TOOL, you face PROBLEM
β‘οΈ you solve PROBLEM thanks to a FLEXIBLE_SOLUTION built on top of APOLLO_TOOL, building GENERIC_APP_FEATURE is no more a pain.
For example:
while working on different complex list components using the
graphql
HOC, you face writing every time the pagination, filtering & updating logic
β‘οΈ you solve writing every time the pagination, filtering & updating logic thanks to a re-usable higher order component introducing a
principledstructured approach to deal with list loading built on top of thegraphql
HOC, building different complex list components is no more a pain.
π