Skip to content
SPECIFICTION
Get listed

GraphQL Kotlin vs Lighthouse

GraphQL Kotlin

opensource.expediagroup.com

Lighthouse

lighthouse-php.com

Side by side

FigureGraphQL KotlinLighthouse
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
APIYesYes
Self-hostedYesYes
Plans published11
Spec score · GraphQL Tools8.0 (#8)8.1 (#7)
PurposeGraphQL Kotlin is a collection of libraries built on graphql-java to run GraphQL clients and servers in Kotlin.Lighthouse is a framework for serving GraphQL from Laravel.
SubscriptionsThe Ktor server supports Kotlin Flow subscriptions over WebSockets using the graphql-transport-ws subprotocol.GraphQL subscriptions can use the Pusher driver or Laravel Echo driver.

Plans

GraphQL Kotlin

  • Open sourceFree

GraphQL Kotlin pricing →

Lighthouse

  • LighthouseFree

Lighthouse pricing →

In their own words

GraphQL Kotlin

GraphQL Kotlin is a free Apache License 2.0 collection of libraries, built on graphql-java, for running GraphQL clients and servers in Kotlin. Its schema generator creates schemas from Kotlin code, and a federation module can produce Apollo Federation-compliant schemas. Gradle and Maven plugins generate type-safe Kotlin clients from existing schemas. Generated clients support queries, mutations, batching, coroutines, custom scalars, configurable enum defaults, and Jackson or kotlinx.serialization models. Reference HTTP integrations use Ktor HTTP Client and Spring WebClient, while custom engines are possible. Server implementations target Spring Boot and Ktor; the Spring server uses Spring WebFlux. Ktor supports Kotlin Flow subscriptions over WebSockets with the graphql-transport-ws subprotocol. Its plugin leaves route configuration to the application, allowing selective routes and added authentication logic. The schema generator supports Kotlin Lists, but Sets, arbitrary Maps, and arrays are not supported out of the box. The project is self-hosted, with security guidance in its repository and community support through GitHub Discussions and Kotlin Slack.

Visit opensource.expediagroup.com

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.

Visit lighthouse-php.com