Apollo Client vs Lighthouse
Apollo Client
apollographql.comLighthouse
lighthouse-php.comSide by side
| Figure | Apollo Client | Lighthouse |
|---|---|---|
| Price from | $5/mo | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| iOS | Yes | — |
| Android | Yes | — |
| API | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 4 | 1 |
| Spec score · GraphQL Tools | 8.9 (#2) | 8.1 (#7) |
| Purpose | Apollo Client is a GraphQL state management library for JavaScript that manages local and remote data, fetches, caches, and modifies application data, and automatically updates the UI. | Lighthouse is a framework for serving GraphQL from Laravel. |
Plans
Apollo Client
- FreeFree
- Developer$5 a month
- EnterprisePriced on request
- StandardPriced on request
In their own words
Apollo Client
Apollo Client is a JavaScript library for managing GraphQL data in applications. It can fetch, cache and modify data from local and remote sources, then update the interface as data changes. Developers describe a query and receive its data without manually managing loading states. Normalized caching can make responses to cached queries almost immediate. The core @apollo/client library has built-in React integration, including hooks and Suspense, and the library can be added incrementally to JavaScript or TypeScript applications. It works with any build setup and GraphQL API. Community integrations extend support to frameworks including Angular, Vue, Svelte, Solid.js and Ember, as well as native iOS and Android. Apollo Client also supports GraphOS Router features such as incremental delivery, subscriptions and persisted-query safelisting. Chrome and Firefox extensions provide GraphiQL and tools for inspecting watched queries, mutations and cache. Apollo Client is free and open source. GraphOS Free includes one self-hosted router limited to 60 requests per minute; the separate Developer plan is $5 a month, billed monthly.
Lighthouse
Lighthouse is a framework for serving GraphQL from an existing Laravel application. It uses GraphQL Schema Definition Language and server-side directives to describe data and add behavior, while reusing Laravel concepts and Eloquent models. Built-in directives can create records, resolve relationships, apply query constraints, paginate results, and validate fields and arguments. Developers can add custom directives for reusable behavior, while the @can directive family can use Laravel Policies to restrict field operations. The default endpoint is `/graphql`, and any GraphQL client can use it. Lighthouse also supports standard Laravel authentication mechanisms, including Sanctum, and GraphQL subscriptions for event updates. Parsed queries can be cached with Laravel cache stores or local PHP files using OPcache; Automatic Persisted Queries are supported with Apollo compatibility. Installation uses Composer in a Laravel or Lumen project. The package is free and self-hosted. GraphQL tooling such as GraphiQL is not included, and federation support is experimental and cannot serve as a federation gateway.