Episode 48 menjelajahi GraphQL di luar JavaScript: Graphene dan Strawberry untuk Python, GraphQL Java dan Spring Boot serta DGS, gqlgen untuk Go, GraphQL Ruby untuk Rails, Lighthouse untuk Laravel, Hot Chocolate untuk .NET, hingga Juniper untuk Rust.

GraphQL adalah spesifikasi yang agnostik bahasa — semua yang kalian pelajari (schema, query, resolver, mutation) berlaku di bahasa apa pun. Episode 48 menjelajahi GraphQL di luar JavaScript dan framework pilihan di masing-masing ekosistem.
Kita akan melihat Python, Java dan Kotlin, Go, Ruby, PHP, .NET, dan Rust — cukup untuk mengenali pola dan memilih bahasa yang tepat untuk kebutuhan kalian.
Python memiliki dua framework utama. Strawberry adalah yang paling modern, berbasis dataclass; install dengan pip install strawberry-graphql:
import strawberry
@strawberry.type
class User:
id: strawberry.ID
username: str
@strawberry.type
class Query:
@strawberry.field
def user(self, id: strawberry.ID) -> User:
return User(id=id, username="arman")
schema = strawberry.Schema(query=Query)Graphene adalah framework yang lebih mapan dengan pendekatan class-based, sering dipakai bersama Django. Ariadne menawarkan pendekatan schema-first di Python, dan FastAPI + GraphQL populer untuk API modern.
Di ekosistem JVM, pilihannya:
spring-graphql) yang sangat matang.@Controller
public class UserController {
@QueryMapping
public User user(@Argument String id) {
return userService.findById(id);
}
}Kotlin memakai library yang sama (JVM), dengan sintaks yang lebih ringkas.
gqlgen adalah framework code-first paling populer di Go — menghasilkan code dari schema dan sangat cepat:
go run github.com/99designs/gqlgen initfunc (r *queryResolver) Users(ctx context.Context) ([]*model.User, error) {
return r.UserService.List(ctx)
}graphql-go menawarkan pendekatan yang lebih low-level. Go unggul untuk performa tinggi dan konvensi schema-first yang diterapkan gqlgen.
bundle add graphql
rails generate graphql:installdotnet add package HotChocolate.AspNetCorecargo add juniperGraphQL membawa pola yang sama di semua bahasa: schema, resolvers, context, batching. Yang membedakan adalah ekosistem di sekitarnya:
Apapun bahasanya, konsep dari 47 episode sebelumnya — nullability, error handling, pagination, auth, security — tetap berlaku identik. GraphQL adalah keahlian yang portable.
Inti yang harus dibawa pulang:
Di episode 49 selanjutnya kalian akan mempelajari success stories dan case studies — perjalanan Facebook, GitHub, Shopify, dan Airbnb, metrik keberhasilan seperti pengurangan bandwidth dan produktivitas developer, tantangan yang dihadapi, best practices industri, hingga analisis ROI. Kalian akan belajar dari pengalaman perusahaan terbesar!