Main Concepts

In this chapter we'll learn about the motivation behind urql, the architecture that drives it, the inner workings of the Client, and how to write extensions and addons, also known as Exchanges.

Each page goes a little further in explaning a core concept of urql.

  • Philosophy gives a quick overview of the different aspects of GraphQL clients and urql in particular, which shines a light on why you may want to use urql.
  • Stream Pattern explains the inner working of urql, which is stream-based, also known as Observable patterns in JS.
  • Core Package defines why a shared package exists that contains the main logic of urql, and how we can use it directly in Node.js.
  • Exchanges finally introduces Exchanges and how to write extensions or addons and use them in urql.

Finally, some Exchanges are covered in different sections of the documentation, like "Subscriptions", "Server-side Rendering", or "Normalized Caching". It's advisable to read this chapter before moving on to using Exchanges.