# Apollo Angular > The GraphQL client for Angular applications: Apollo Client integrated with Angular services, RxJS observables, dependency injection, and server-side rendering. ## Documentation - [Introduction](https://the-guild.dev/graphql/apollo-angular/docs.md): What is Apollo Angular and what does it do?. Learn how to use Apollo Angular to build your next app. - [Get Started](https://the-guild.dev/graphql/apollo-angular/docs/get-started.md): Set up Apollo in your Angular app. Learn how to use Apollo Client to fetch, cache, and modify application data. - [Queries](https://the-guild.dev/graphql/apollo-angular/docs/data/queries.md): Learn how to use Apollo to attach GraphQL query results to your Angular UI with standard GraphQL queries. Cache the results and use QueryRef to manage the watched query. Optimize queries by using options, such as variables, and display data with AsyncPipe. - [Mutations](https://the-guild.dev/graphql/apollo-angular/docs/data/mutations.md): Learn how to update data using the Apollo `mutate` in GraphQL mutations. Code examples in Angular and explanations on Optimistic UI. - [Subscriptions](https://the-guild.dev/graphql/apollo-angular/docs/data/subscriptions.md): Learn how to set up GraphQL subscriptions to receive real-time notifications from the server, using the GraphQL subscription type. - [Query, Mutation, Subscription Services](https://the-guild.dev/graphql/apollo-angular/docs/data/services.md): Apollo Angular introduces a new approach of working with GraphQL in Angular by providing Query, Mutation and Subscription APIs. This approach makes GraphQL Documents first-class citizens, and the new APIs are easy to use and generate. - [Network Layer](https://the-guild.dev/graphql/apollo-angular/docs/data/network.md): Learn how to use Apollo Angular's HttpLink and HttpClient to create a network layer in Angular. Get free SSR and easier testing with HttpLink. Use the HttpClient to support the HttpLink. - [Pagination](https://the-guild.dev/graphql/apollo-angular/docs/data/pagination.md): Learn how to implement pagination with Apollo client in both numbered pages and cursor-based approaches. Easy to use helper functions provided! - [Using Fragments](https://the-guild.dev/graphql/apollo-angular/docs/data/fragments.md): Learn how to use GraphQL Fragments with Apollo client in this tutorial. GraphQL fragments let you share query logic between multiple queries, mutations, or subscriptions, allowing you to co-locate field access with the places they are used. You can also define fragments on unions and interfaces, and use patterns in Apollo client to take full advantage of it. - [Error Handling](https://the-guild.dev/graphql/apollo-angular/docs/data/error-handling.md): Learn about handling different types of errors in your GraphQL application with Apollo Client, including GraphQL errors, server errors, transaction errors, UI errors, and Apollo Client errors. Explore error policies such as "none," "ignore," and "all," and how to set them on each request. Handle network errors with Apollo Link and the @apollo/client/link/error. Check out the "Error Handling" chapter on Apollo Client documentation for more details. - [Configuration](https://the-guild.dev/graphql/apollo-angular/docs/caching/configuration.md): Optimize GraphQL query performance with Apollo Client Cache. Learn to configure cache setup and customize cache behavior with InMemoryCache constructor and configuration options. - [Reading and Writing](https://the-guild.dev/graphql/apollo-angular/docs/caching/interaction.md): Learn how to efficiently read and write data to the cache with Apollo Client. Check out the "Reading and writing data to the cache" chapter in the Apollo Client documentation. - [Garbage Collection](https://the-guild.dev/graphql/apollo-angular/docs/caching/garbage-collection.md): Learn how to manage cached data in Apollo Client 3 with garbage collection and cache eviction strategies, and gain fine-grained control with the evict method. Read more on the documentation. - [Customizing Field Behavior](https://the-guild.dev/graphql/apollo-angular/docs/caching/field-behavior.md): Learn how to customize cached fields in Apollo Client by defining field policies with read and merge functions. Optimize your cache with key arguments. Read more at the Apollo Client documentation. - [Advanced Topics](https://the-guild.dev/graphql/apollo-angular/docs/caching/advanced-topics.md): Learn how to use Apollo Client to manipulate the cache directly for maximum control. Bypass the cache, update after mutation, use refetchQueries and fetchMore, and get full control with update. - [Managing Local State](https://the-guild.dev/graphql/apollo-angular/docs/local-state/management.md): Learn how to manage local state alongside remotely fetched state with Apollo Client, using field policies and reactive variables. - [Managing State with Field Policies](https://the-guild.dev/graphql/apollo-angular/docs/local-state/managing-state-with-field-policies.md): Manage state with custom field policies in Apollo Client queries with local-only fields. Includes examples of storing data in reactive variables or the Apollo Client cache itself. - [Reactive Variables](https://the-guild.dev/graphql/apollo-angular/docs/local-state/reactive-variables.md): Learn about reactive variables in Apollo Client 3, a useful mechanism for storing local state outside the cache. Modify them anywhere & trigger updates in active queries. - [TypeScript](https://the-guild.dev/graphql/apollo-angular/docs/development-and-testing/using-typescript.md): Learn how to use TypeScript with Apollo to create a strongly-typed GraphQL API in your Angular app. Type definitions can improve development, and Apollo supports this with definitions for @apollo/client and apollo-angular. Explore how to type results and variables in your queries and see how it can improve your application and developer experience. - [Testing](https://the-guild.dev/graphql/apollo-angular/docs/development-and-testing/testing.md): Learn how to test apollo-angular code using Jest with ApolloTestingModule. It allows for easy mocking of calls to the GraphQL endpoint, so tests can run in isolation and produce consistent results. - [Mocking New Schema Capabilities](https://the-guild.dev/graphql/apollo-angular/docs/development-and-testing/client-schema-mocking.md): Learn how to use client schemas to add a new field to an existing type in your schema using mock data, with Apollo Client and GraphQL queries. - [Developer Tools](https://the-guild.dev/graphql/apollo-angular/docs/development-and-testing/developer-tools.md): Discover essential developer tools for Apollo Angular including GraphQL Inspector, GraphQL Codegen, and more. Improve and maintain your GraphQL API with these powerful tools. - [Improving Performance](https://the-guild.dev/graphql/apollo-angular/docs/performance/improving-performance.md): Learn how to improve your application's performance with Apollo Client! Redirect queries to cached data and use prefetching to load data before it's needed. Read more in the Apollo Client documentation. - [Optimistic UI](https://the-guild.dev/graphql/apollo-angular/docs/performance/optimistic-ui.md): Optimistic UI speeds up UI response time by simulating mutations and updating the UI before receiving a response from the server. This code shows how to use optimistic UI with GraphQL and Apollo, including updating an existing object and adding to a list. - [Server Side Rendering](https://the-guild.dev/graphql/apollo-angular/docs/performance/server-side-rendering.md): Learn how to use Apollo for faster web page rendering! Apollo provides techniques to load your application quickly, including store rehydration and server-side rendering. This tutorial provides code examples and best practices. - [Automatic Persisted Queries](https://the-guild.dev/graphql/apollo-angular/docs/recipes/automatic-persisted-queries.md): Improve GraphQL performance with Automatic Persisted Queries - sends a generated ID instead of query text, reducing overhead for client performance. Learn how to install and use in Angular. - [Angular CLI](https://the-guild.dev/graphql/apollo-angular/docs/recipes/angular-cli.md): Learn how to integrate Apollo with Angular using ng add apollo-angular. Use Angular CLI Proxy to define configurations for your GraphQL endpoint - [ Webpack Loader](https://the-guild.dev/graphql/apollo-angular/docs/recipes/webpack.md): How to use the Webpack Loader. Learn how to load GraphQL queries over `.graphql` files using Webpack. - [Authentication](https://the-guild.dev/graphql/apollo-angular/docs/recipes/authentication.md): Learn how to secure your Apollo Client using authentication headers or cookies. See examples of authenticating with JWT tokens and resetting the store on login/logout. - [Multiple Clients](https://the-guild.dev/graphql/apollo-angular/docs/recipes/multiple-clients.md): Learn to use multiple Apollo clients in your Angular application with @apollo_angular. Create named clients and configure using `provideNamedApollo()` token. - [Integrating with NativeScript](https://the-guild.dev/graphql/apollo-angular/docs/recipes/nativescript.md): Learn how to use Apollo with NativeScript. You can use Apollo with NativeScript exactly as you would with normal Angular application. - [Migration Guide](https://the-guild.dev/graphql/apollo-angular/docs/migration.md): Updating your app to Angular Apollo v3. See what's new and how to migrate.