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.

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

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

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

Di seguito una lista di SDK di grande successo:

iPhone SDK di Apple

DirectX SDK e .NET SDK di Microsoft

Widget toolkit

Android SDK di Google

Alcuni development kit che hanno avuto molto successo negli anni passati:

Turbo Pascal

Clipper

Delphi

Servizi correlati

Altre voci

P

PostgreSQL

PostgreSQL (pronuncia all'inglese [poʊstɡrɛs ˌkjuːˈɛl] Pronuncia) è un completo DBMS ad oggetti pubblicato con licenza libera (stile Licenza BSD). Spesso abbreviato come "Postgres", sebbene questo sia un nome vecchio dello stesso progetto, è una reale alternativa sia rispetto ad altri prodotti…

Leggi la voce →
E

Episodi di Silicon Valley (prima stagione)

La prima stagione della serie televisiva Silicon Valley, composta da 8 episodi, è stata trasmessa negli Stati Uniti dal 6 aprile al 1º giugno 2014 sul canale via cavo HBO.

Leggi la voce →
G

Gnuteca

Gnuteca è un software libero per l'automatizzazione e l'amministrazione delle biblioteche, distribuito con licenza GNU GPL.

Leggi la voce →
D

Data as a service

Data as a Service, anche detto DaaS, è un servizio web appartenente alla tecnologia del cloud computing, che mette a disposizione dell'utente i dati rendendoli disponibili in vari formati e ad applicazioni diverse come se fossero presenti sul disco locale. DaaS è cugino del SaaS Software as a…

Leggi la voce →
M

Manufacturing resource planning

Il manufacturing resource planning o pianificazione delle risorse di produzione è una tecnica di pianificazione delle risorse aziendali, nata negli anni ottanta in seguito all'implementazione dei sistemi di material requirements planning (MRP 1). L'acronimo per indicare questa tecnica è MRP 2,…

Leggi la voce →
U

Unit testing

In ingegneria del software, per unit testing, test unitario o collaudo unitario, si intende l'attività di collaudo di singole unità di un software. Per unità si intende normalmente il minimo componente di un programma dotato di funzionamento autonomo; a seconda del paradigma di programmazione o…

Leggi la voce →