Software development kit
Un software development kit (SDK, traducibile in italiano come "pacchetto di sviluppo per applicazioni"), in informatica, indica genericamente un insieme di strumenti per lo sviluppo e la documentazione di software.
Caratteristiche
[modifica | modifica wikitesto]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: ad esempio sia Microsoft che Apple prevedono Driver Development Kits (DDK), per lo sviluppo di driver per componenti hardware. PalmSource offre invece il PDK, PalmOS Development Kit.
Componenti
[modifica | modifica wikitesto]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;
- debugger;
- 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.
Esempi
[modifica | modifica wikitesto]Di seguito una lista di SDK di grande successo:
Alcuni development kit che hanno avuto molto successo negli anni passati: