# SDK (Yazılım Geliştirme Kiti)

Adres: https://softwaredictionary.org/tr/terimler/sdk
Kategori: Programlamanın Temelleri
Son güncelleme: 2026-10-03
Okunuşu: es di key

Kısaca: SDK (yazılım geliştirme kiti), belirli bir platform veya servis için geliştirme yapmaya yarayan araç, kütüphane, dokümantasyon ve örneklerden oluşan pakettir.

## SDK nedir?

SDK, bir geliştiricinin tek bir platformla çalışmak için ihtiyaç duyduğu her şeyi bir araya getirir. Android SDK; Android API'leri için kütüphaneleri, derleme araçlarını, bir emülatörü ve hata ayıklama araçlarını içerir. AWS SDK ya da Stripe'ın SDK'sı gibi bir bulut ya da servis SDK'sı ise çoğunlukla servisin API'sini her dil için sıradan fonksiyonlara saran istemci kütüphaneleri sağlar.

Servis SDK'ları çok fazla tekrar eden işten kurtarır. HTTP isteklerini kurmak, imzalamak, sayfalamayı ele almak ve JSON'u kendiniz ayrıştırmak yerine `stripe.customers.create(...)` çağırırsınız ve tipli bir nesne geri alırsınız. İyi SDK'lar yeniden denemeleri, zaman aşımlarını ve kimlik doğrulamayı da üstlenir; API'den üretilir ya da onunla senkron tutulur, böylece yeni özellikler hızla gelir.

Platform SDK'ları çoğu zaman platformun sürümlerine bağlıdır. Android ve iOS uygulamaları bir hedef SDK sürümü seçer; bu sürüm hangi sistem özelliklerini kullanabileceklerini ve sistemin onlara nasıl davranacağını belirler; uygulama mağazaları da zamanla uygulamaların yeni sürümlere ayak uydurmasını şart koşar.

Sık yapılan bir yanlış, SDK ile API'nin aynı şey olduğunu düşünmektir. API, servisin sunduğu arayüzdür, örneğin HTTP endpoint'leri; SDK ise bu API'yi belirli bir dilde kullanmayı kolaylaştıran bir araç takımıdır. API'yi SDK olmadan da her zaman doğrudan çağırabilirsiniz.

## Önemli noktalar

- SDK, tek bir platform ya da servis için kütüphaneleri, araçları, dokümanları ve örnekleri paketler.
- Android'inki gibi platform SDK'ları derleme araçları ve emülatörler içerir.
- Servis SDK'ları bir API'yi, kimlik doğrulama ve yeniden denemeler dahil, yerel fonksiyonlara sarar.
- Mobil uygulamalar platformun belirli bir SDK sürümünü hedefler.
- API arayüzdür; SDK onu kullanmak için bir araç takımıdır.

## Örnek: Aynı istek, SDK ile ve SDK olmadan (Node.js)

```javascript
// Without the SDK: build the HTTP request yourself
await fetch("https://api.stripe.com/v1/customers", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.STRIPE_SECRET_KEY}`,
    "Content-Type": "application/x-www-form-urlencoded",
  },
  body: new URLSearchParams({ email: "ada@example.com" }),
});

// With Stripe's SDK: auth, encoding, retries and types are handled
import Stripe from "stripe";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
const customer = await stripe.customers.create({ email: "ada@example.com" });
```

## Sık sorulan sorular

**SDK ile API arasındaki fark nedir?**

API, bir platformun ya da servisin sunduğu işlemler bütünüdür. SDK ise bu API'yi belirli bir dilde ya da platformda çağırmayı kolaylaştıran kütüphaneler ve araçlardan oluşan bir kittir.

**SDK ile kütüphane arasındaki fark nedir?**

Kütüphane tek bir yeniden kullanılabilir kod parçasıdır. SDK ise genellikle bir platform için bir ya da daha fazla kütüphaneye ek olarak araçlar, dokümantasyon ve örnekler içeren daha büyük bir pakettir.

**Bir servisin SDK'sını kullanmak zorunda mıyım?**

Hayır. HTTP isteği yapabilen her dil bir web API'sini doğrudan kullanabilir. SDK'lar yalnızca zaman kazandırır ve kimlik doğrulama, yeniden denemeler ve sayfalama gibi ayrıntıları sizin yerinize halleder.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
