SDK vs JDK
Un kit di sviluppo software (noto anche come SDK o devkit) è un insieme di strumenti di sviluppo. Consente di creare applicazioni per un determinato pacchetto software, framework software, piattaforma hardware, sistema di computer, console per videogiochi, sistema operativo o qualsiasi piattaforma simile a qualsiasi di quelle elencate. Gli SDK vanno da qualsiasi cosa semplice come un'API nel modo in cui alcuni file si interfacciano con un particolare linguaggio di programmazione o includono hardware sofisticato per comunicare con un determinato sistema embedded. Alcuni degli strumenti più comuni trovati in un SDK includono strumenti di debug e utility simili presentate in un ambiente di sviluppo integrato (o IDE).
Java Development Kit (o JDK) è l'SDK più diffuso sul mercato. Sviluppato da Sun Microsystems per sviluppatori Java, JDK è un software gratuito rilasciato sotto licenza GNU General Public (o GPL). C'è una pletora di componenti che compongono il JDK. Questi componenti sono una selezione di strumenti di programmazione. Includono, ma non sono limitati a java, il loader per tutte le applicazioni Java che interpretano ed è in grado di interpretare i file di classe generati dal compilatore javac; javac, che è il compilatore che converte il codice sorgente in bytecode Java; javaws, che è il launcher Java Web Start per le applicazioni JNLP; jmap, che è un'utilità sperimentale che emette la mappa di memoria per Java ed è in grado di stampare mappe di memoria di oggetti condivisi o dettagli di memoria heap di un determinato processo; e VisualVM, che è uno strumento visivo che integra diversi strumenti JDK da riga di comando e funzionalità di performance e memoria profiling leggero.
Gli SDK includono codice di esempio e note tecniche o altra documentazione che supporta questo codice al fine di facilitare la chiarificazione dei punti dal materiale di riferimento principale. Di solito un ingegnere del software riceve l'SDK da uno sviluppatore di destinazione. SDK è quindi abbastanza facilmente scaricabile da internet. Molti SDK sono gratuiti, in particolare per incoraggiare gli sviluppatori a utilizzare il sistema o la lingua. Possono avere licenze allegate per renderle inadatte alla creazione di software destinato a essere sviluppato con una licenza incompatibile. Un SDK sviluppato per l'aggiunta di un sistema operativo (ad esempio QuickTime per Mac OS) può includere l'effettivo add-on sul software stesso per uso di sviluppo -se non deve essere ridistribuito.
Il JDK è un sottoinsieme esteso di un SDK. Sun riconosce sotto la terminologia, il JDK è il sottoinsieme dell'SDK che è responsabile per la scrittura e l'esecuzione di programmi Java. Ciò che rimane di questo SDK è costituito da software extra (Application Server, debugger e documentazione).
Sommario:
1. Un SDK è un insieme di strumenti di sviluppo che consentono di creare applicazioni per determinati pacchetti o piattaforme software; il JDK è l'SDK più utilizzato ed è un'estensione dell'SDK responsabile della scrittura e dell'esecuzione di programmi Java.
2. Un SDK include codice di esempio e note tecniche o altra documentazione di supporto; il JDK include componenti che sono una selezione di strumenti di programmazione.