Sözlük · web
GraphQL
Tanım
GraphQL, Facebook'un 2015'te açtığı API query dilidir. Tek endpoint (örn: /graphql), istemci sadece istediği alanları sorgular. Over-fetching ve under-fetching problemini çözer; karmaşık ekran-veri haritalama için ideal. Apollo Server + Apollo Client en yaygın stack.
Detaylı açıklama
GraphQL'in temel fikri: istemci ne istediğini deklaratif olarak söyler, sunucu o veriyi döner. REST'te 'tüm kullanıcı + son 5 sipariş + her sipariş ürünleri' için 3-5 endpoint çağrısı gerekir; GraphQL'de tek query.
3 ana operasyon: Query (veri okuma), Mutation (veri değiştirme), Subscription (real-time WebSocket abonelik). Schema-first tasarım — backend ve frontend ortak schema üzerinden çalışır.
Ne zaman REST yerine? Mobil uygulama (over-fetching maliyetli), karmaşık dashboard (10+ veri kaynağı), partner API (esneklik gerekli). Ne zaman REST? Basit CRUD, public API, CDN cache kritik.
Kullanım senaryoları
→Karmaşık mobil uygulama (over-fetching maliyetli)
→Multi-source dashboard (REST 10+ endpoint)
→Real-time özellik (WebSocket subscription)
→Partner API (esnek query gerekli)
Güçlü yanlar
- +Over-fetching ve under-fetching yok
- +Tek endpoint + introspection
- +Strong type system (schema-first)
- +Real-time subscription native
Zayıf yanlar
- −Cache karmaşık (REST'in CDN cache avantajı yok)
- −Server complexity (resolver yazımı)
- −Tooling olgun ama REST'ten dar
- −N+1 query problem (DataLoader gerekli)
İlgili terimler
İlgili hizmetler
GraphQL ile ilgili proje planlıyorsan
30 dakikalık keşif görüşmesinde projene özel mimari + maliyet + ekip önerisini yazılı paylaşıyoruz.
Keşif görüşmesi başlat