Bir Yazılım Geliştirme Seti (SDK veya devkit olarak da bilinir) geliştirme araçları. Belli bir yazılım paketi, yazılım çerçevesi, donanım platformu, bilgisayar sistemi, video oyun konsolu, işletim sistemi veya listelenen herhangi bir platforma benzeyen herhangi bir platform için uygulamalar oluşturulmasına izin verir. SDK'lar, belirli bir programlama dili ile arayüz oluşturma veya belirli bir gömülü sistemle iletişim kurmak için sofistike bir donanım içeren şekilde, API kadar basit olan her şeyden oluşur. Bir SDK'da bulunan daha yaygın araçlardan bazıları, entegre bir geliştirme ortamında (veya IDE) sunulan hata ayıklama yardımcıları ve benzer yardımcı programları içerir.
Java Geliştirme Seti (veya JDK) piyasada en çok kullanılan SDK'dır. Java geliştiricileri için Sun Microsystems tarafından geliştirilen JDK, GNU Genel Kamu Lisansı (veya GPL) kapsamında serbest bırakılan ücretsiz bir yazılımdır. JDK'yı oluşturan çok sayıda bileşen vardır. Bu bileşenler, bir programlama araçları seçimidir. Bunlar arasında, Java ile sınırlı olmamakla birlikte, tüm Java uygulamaları için yorumlayıcı olan ve javac derleyicisi tarafından üretilen sınıf dosyalarını yorumlayabilen yükleyici bulunur; Javac, kaynak kodunu Java bayt kodu haline dönüştüren derleyici; JNLP uygulamalarının Java Web Start başlatıcısı olan javaws; jmap, Java için bellek haritası çıkartan ve belirli bir işlemin paylaşılan nesne bellek haritalarını veya öbek bellek ayrıntılarını basabilen deneysel bir yardımcı programdır; ve VisualVM, çeşitli komut satırı JDK araçlarını ve hafif performans ve hafıza profilleme özelliklerini bütünleştiren görsel bir araçtır.
SDK'lar, birincil referans materyalinden noktaların açıklığa kavuşturulmasına yardımcı olmak için bu kodu destekleyen örnek kod ve teknik notlar veya diğer dokümantasyon içerir. Genellikle bir yazılım mühendisi SDK'yi bir hedef geliştiriciden alır. SDK, internetten kolayca indirilebilir. Geliştiricileri sistem veya dili kullanmaya teşvik etmek için birçok SDK ücretsizdir. Uyumsuz bir lisans altında geliştirilmesi amaçlanan yazılımlar oluşturmak için bunları uygun olmayan hale getirmek için ek lisansları olabilir. Bir OS eklentisi için geliştirilen bir SDK (örneğin Mac OS için QuickTime), yeniden dağıtıma tabi olmaması durumunda yazılımın kendisinin geliştirilmesi için kullanacağı gerçek eklentiyi içerebilir.
JDK, bir SDK'nın genişletilmiş bir altkümesidir. Sun, terminoloji kapsamında, JDK, Java programlarının yazılması ve çalıştırılmasından sorumlu olan SDK'nın alt kümesidir. Bu SDK'nın kalanı ek yazılımdan (Uygulama Sunucuları, hata ayıklayıcılar ve dokümanlar) oluşur.
Özet:
1. SDK, belirli yazılım paketleri veya platformları için uygulamalar oluşturulmasına izin veren bir dizi geliştirme aracıdır; JDK en çok kullanılan SDK'dır ve Java programlarının yazılması ve çalıştırılmasından sorumlu olan SDK'nın bir uzantısıdır.
2. Bir SDK, örnek kod ve teknik notlar veya diğer destekleyici belgeler içerir; JDK, bir dizi programlama aracı olan bileşenleri içerir.