GraphiQL vs Lighthouse
GraphiQL
graphiql.devLighthouse
lighthouse-php.comSide by side
| Figure | GraphiQL | Lighthouse |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · GraphQL Tools | 8.4 (#3) | 8.1 (#7) |
| Installation | The package installation instructions list React, React DOM, and GraphQL as peer dependencies. | The tutorial installs Lighthouse in a Laravel project with Composer using `composer require nuwave/lighthouse`. |
| Purpose | GraphiQL is an interactive, in-browser IDE for GraphQL. | Lighthouse is a framework for serving GraphQL from Laravel. |
Plans
In their own words
GraphiQL
GraphiQL is a free, interactive, in-browser IDE for GraphQL. Its editor supports the latest GraphQL specification, with syntax highlighting, type-aware suggestions, query and variable completion, and real-time error highlighting. A searchable documentation explorer can display Markdown, and the built-in query history and documentation explorer are available as plugins. GraphiQL can preserve state in browser localStorage and provides a plugin API for extending its interface. It is also a React package for embedding the IDE in an application; a component needs a fetcher function that sends requests to a GraphQL API. The toolkit fetcher supports HTTP, multipart incremental delivery, and subscriptions through graphql-ws or the legacy WebSocket protocol. Developers can customize the interface with React props and children, while CSS variables are the supported way to change its appearance. GraphiQL is open source under the MIT license. Its project offers a progressive web app demo and examples for CDN, Webpack, Create React App, and Parcel.
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.