Software development kit
Definizione
Software Development Kit (più brevemente SDK) è un termine che in italiano si può tradurre come "pacchetto di sviluppo per applicazioni, e sta a indicare un un insieme di strumenti per lo sviluppo e documentazione di software.
Caratteristiche
Gli SDK possono variare considerevolmente in quanto a dimensioni e tecnologie utilizzate, ma tutti possiedono alcuni strumenti fondamentali:
- un compilatore, per tradurre il codice sorgente in un eseguibile;
- librerie standard dotate di interfacce pubbliche dette API - Application programming interface;
- documentazione sul linguaggio di programmazione per il quale l'SDK è stato sviluppato e sugli strumenti a disposizione nell'SDK stesso;
- informazioni sulle licenze da utilizzare per distribuire programmi creati con l'SDK
Questo corredo di base può essere esteso con strumenti di vario tipo:
- compilatori per diversi linguaggi di programmazione;
- programmi per la gestione delle versioni o per interfacciarsi a essi: (CVS, Visual Source Safe, Clearcase, Subversion);
- editor di sorgenti: programmi che permettono di scrivere codice più velocemente o con più accuratezza, molto spesso hanno basilari funzioni di Syntax Highlighting (evidenziazione della sintassi) o di validazione;
- IDE (Integrated development environment): editor di sorgenti con funzioni molto avanzate. Di seguito una breve lista delle funzionalità che è possibile trovare in un IDE:
- completamento automatico del codice sorgente, creazione automatica di pezzi di codice e formattatori automatici;
- possibilità di "disegnare" l' interfaccia grafica di un applicazione in modo visuale;
- strumenti per l'analisi del codice: risoluzione delle dipendenze, analisi statistica, ricerche;
- strumenti per creare e manutenere la documentazione relativa al codice sorgente;
- strumenti per il Refactoring
Molti SDK sono disponibili gratuitamente e possono essere prelevati direttamente dal sito del produttore: in questo modo si cerca di invogliare i programmatori ad utilizzare un determinato linguaggio o sistema. Vi è anche un utilizzo orientato al mercato: alcuni programmi vengono venduti assieme al loro SDK permettendo ai compratori di sviluppare ulteriori parti del programma comprato.
I fornitori di SDK per specifici sistemi inoltre possono offrire delle versioni più specifiche: sia Microsoft che la Apple Computer ad esempio prevedono ovvero Driver Development Kits (DDK), per lo sviluppo di driver per componenti hardware. PalmSource invece, offre il PDK, PalmOS Development Kit.
Esempi
Di seguito una lista di SDK di grande successo al momento della stesura del presente articolo (Dicembre 2005):
- DirectX SDK e .NET SDK di Microsoft
- The Java SDK di Sun Microsystems
- Widget toolkit
Alcuni development kit che hanno avuto molto successo negli anni passati: