GraphQL Kotlin vs GraphQL Ruby
GraphQL Kotlin
opensource.expediagroup.comGraphQL Ruby
graphql-ruby.orgSide by side
| Figure | GraphQL Kotlin | GraphQL Ruby |
|---|---|---|
| Price from | Free | $91.67/mo |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 3 |
| Spec score · GraphQL Tools | 8.0 (#8) | 7.8 (#11) |
| Client integrations | Reference HTTP client implementations use Ktor HTTP client and Spring WebClient, and custom implementations can use other engines. | The docs describe using Relay, Apollo Client, GraphQL.js Client, GraphiQL, urql, and custom JavaScript with GraphQL-Ruby. |
| License | The library is licensed under Apache License 2.0. | RubyGems lists the graphql gem license as MIT, while GraphQL::Pro and GraphQL::Enterprise use special commercial licenses. |
| Purpose | GraphQL Kotlin is a collection of libraries built on graphql-java to run GraphQL clients and servers in Kotlin. | The graphql gem implements the GraphQL Server Specification in Ruby and adds a GraphQL API to Ruby or Rails applications. |
Plans
GraphQL Ruby
- GraphQL Ruby gemFree
- GraphQL::Pro$1,100 a year
- GraphQL::Enterprise$2,400 a year
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.
GraphQL Ruby
GraphQL Ruby is a free, self-hosted Ruby gem that implements the GraphQL Server Specification for Ruby or Rails applications. It provides a self-documenting, strongly typed schema and serves queries, mutations, subscriptions, streaming responses, and multiplexed queries. Configurable depth and complexity validation can reject deeply nested or overly complex requests. Authorization tools handle schema visibility and checks on application objects during execution, while authentication is generally left to the application controller. GraphQL::Dataloader batches external data access and caches results per query; AsyncDataloader supports parallel I/O. Documentation covers Relay, Apollo Client, GraphQL.js Client, GraphiQL, urql, and custom JavaScript, plus monitoring integrations. The open-source gem is installed through RubyGems and uses the MIT license. The GraphQL Ruby gem costs nothing. GraphQL::Pro costs $1,100 a year, and GraphQL::Enterprise costs $2,400 a year under commercial licenses.