A collection of web component libraries for building GraphQL-powered UIs with Apollo Client.
Apollo Elements is a collection of libraries that integrate Apollo GraphQL with web components, enabling developers to build GraphQL-powered custom elements. It provides base classes, mixins, controllers, and declarative HTML components for queries, mutations, and subscriptions, supporting multiple web component authoring libraries.
Web developers building component-based applications with GraphQL who want to leverage web components for framework-agnostic, reusable UI elements.
Developers choose Apollo Elements for its flexibility—it supports a wide range of web component libraries, keeps bundle sizes small, and ensures components work across any framework, making GraphQL integration seamless and portable.
🚀🌛 Use the Launch Platform 👩🚀👨🚀
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports Lit, FAST, Haunted, Atomico, Hybrids, Gluon, Polymer, and vanilla web components, allowing developers to choose the best fit for their project, as highlighted in the README's package listings.
Components work seamlessly in Angular, Preact, React, Svelte, Vue, and other frameworks, with CodeSandbox examples provided to demonstrate interoperability.
Includes <apollo-query>, <apollo-mutation>, and <apollo-subscription> elements for writing GraphQL directly in markup, enabling HTML-first development without JavaScript boilerplate.
Reactive controllers for queries, mutations, and subscriptions are reusable and stackable, promoting code reuse across different web component libraries.
Offers multiple packages so developers can pick only the needed library, keeping app sizes small, as emphasized in the project description.
Requires knowledge of web components, Apollo GraphQL, and multiple authoring libraries, which can be overwhelming for developers new to either ecosystem.
With separate API docs for each package (Core, Components, Lit, FAST, etc.), navigating and understanding the full ecosystem can be time-consuming and confusing.
Deeply integrated with Apollo Client, making migration to other GraphQL solutions difficult without significant refactoring of components and logic.