Software development kit: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrAnCiS (discussione | contributi)
m aiutato
Nessun oggetto della modifica
Riga 1:
== Definizione ==
Un '''Software Development Kit''' (pacchetto di sviluppo per applicazioni) è un insieme di strumenti (come le [[Application_programming_interface|API]]) che consente ad uno sviluppatore di creare applicazioni per un certo programma.
'''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 ==
Un SDK può comprendere solo pochi files, o includere metodi più complessi per comunicare con un [[sistema embedded]]. Solitamente i SDK offrono esempi di codice e note d'aiuto nella documentazione al fine di chiarire l'uso del programma stesso.
Gli SDK possono variare considerevolmente in quanto a dimensioni e tecnologie utilizzate, ma tutti possiedono alcuni strumenti fondamentali:
* un [[compilatore]], per tradurre il [[Codice_(informatica) | codice sorgente]] in un [[eseguibile]];
* librerie standard dotate di interfacce pubbliche dette [[Application_programming_interface|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 [[licenza|licenze]] da utilizzare per distribuire programmi creati con l'SDK
 
Questo corredo di base può essere esteso con strumenti di vario tipo:
Uno sviluppatore software riceve normalmente l'SDK da parte dello sviluppatore del sistema su cui deve basarsi il programma. In alcuni casi è possibile scaricare l'SDK direttamente da [[internet]] gratis, in modo da 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.
* 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'applicazione senza dover scrivere codice o comunque riducendo al minimo questa attività;
** 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]]
 
UnoMolti sviluppatore software riceve normalmente l'SDK dasono partedisponibili dellogratuitamente sviluppatoree delpossono sistemaessere suprelevati cuidirettamente devedal basarsisito ildel programma.produttore: Inin alcuniquesto casimodo èsi possibile scaricare l'SDK direttamente da [[internet]] gratis, in modocerca dadi 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, possono offrire dei ''Development Kits'' più specifici: sia [[Microsoft]] che la [[Apple Computer]], prevedono '''DDK''', ovvero ''Driver Development Kits'', per lo sviluppo di [[driver]] per componenti [[hardware]]. [[PalmSource]] invece, offre il PDK, ''[[PalmOS]] Development Kit''.
 
I fornitori di SDK per specifici sistemi, inoltre possono offrire deidelle ''Development Kits''versioni più specificispecifiche: sia [[Microsoft]] che la [[Apple Computer]], ad esempio prevedono '''DDK''', ovvero ''Driver Development Kits'' (''DDK''), per lo sviluppo di [[driver]] per componenti [[hardware]]. [[PalmSource]] invece, offre il PDK, ''[[PalmOS]] Development Kit''.
==Esempi==
 
* [[DirectX|DirectX SDK]] di [[Microsoft]]
== Esempi ==
Di seguito una lista di SDK di grande successo al momento della stesura del presente articolo (Dicembre 2005):
* [[DirectX|DirectX SDK]] e .NET SDK di [[Microsoft]]
* The [[Java 2 Software Development Kit|Java SDK]] di [[Sun Microsystems]]
* [[Widget toolkit]]
 
Alcuni development kit che hanno avuto molto successo negli anni passati:
[[Categoria:Informatica]]
* [[Turbo Pascal]]
 
* [[Clipper]]
[[de:Software Development Kit]]
* [[Delphi]]
[[en:Software Development Kit]]
[[fr:Kit de développement]]
[[nl:Software Development Kit]]
[[pl:SDK]]
[[pt:SDK]]
[[ru:SDK]]
[[sv:SDK]]
[[zh:软件开发工具包]]