Panoramica dell'ecosistema NuGet
Dalla sua introduzione nel 2010, NuGet ha costituito una notevole opportunità per migliorare e automatizzare diversi aspetti dei processi di sviluppo.
Poiché NuGet è open source in base a una licenza Apache v2 permissiva, altri progetti possono sfruttare i vantaggi offerti da NuGet e le aziende possono introdurre il supporto per NuGet nei loro prodotti. Indipendentemente dal fatto che siano destinati a progetti open source o allo sviluppo di applicazioni aziendali, NuGet e altre applicazioni basate su NuGet forniscono un ampio ecosistema di strumenti mirati al miglioramento del processo di sviluppo software.
Tutti questi progetti risultano innovativi grazie al contributo degli sviluppatori. Proprio come si contribuisce a NuGet, è possibile offrire il proprio contributo anche a questi progetti segnalando difetti e idee per nuove funzionalità, fornendo commenti e suggerimenti, scrivendo la documentazione e offrendo contributi al codice dove possibile.
NuGet fornisce un sistema di gestione pacchetti open source gratuito per la piattaforma di sviluppo Microsoft, costituito da alcuni strumenti client e dal set di servizi che formano la raccolta NuGet ufficiale. In combinazione, costituiscono il progetto NuGet gestito da .NET Foundation.
L'organizzazione NuGet include vari repository su GitHub. https://github.com/Nuget/Home offre una panoramica di tutti i repository e specifica dove trovare i vari componenti di NuGet.
Microsoft ha contribuito ampiamente allo sviluppo di NuGet. Anche tutti i contributi dei collaboratori Microsoft sono open source e sono stati donati (copyright inclusi) a .NET Foundation.
Molte altre persone e aziende hanno apportato contributi significativi all'ecosistema NuGet. Ogni progetto elencato di seguito potrebbe disporre di una licenza diversa rispetto ai componenti base di NuGet, pertanto verificare che le condizioni di licenza siano accettabili prima di procedere all'uso:
- AppVeyor (soluzione CI)
- Artifactory
- BoxStarter
- Chocolatey
- CoApp
- JetBrains ReSharper
- Spazio JetBrains
- JetBrains TeamCity
- Klondike
- MinimalNugetServer
- MyGet (o NuGet come servizio)
- NuGet Package Explorer
- NuGet Server
- NuGetizer
- OctopusDeploy
- Paket
- ProGet (Inedo)
- scriptcs
- SharpDevelop
- Sonatype Nexus
- SymbolSource
- Xamarin e MonoDevelop
Di seguito sono elencati gli strumenti e le utilità basati su NuGet:
- Estensioni di visualizzazione
- NuGetMustHaves.com
- Orchard (i moduli CMS vengono recuperati da un feed NuGet v1 ospitato nella raccolta Orchard)
- Implementazione Java di NuGet Server
- NuGetLatest (bot su Twitter sulle pubblicazioni di nuovi pacchetti)
- DefinitelyTyped (definizioni automatiche di tipi TypeScript pubblicate su NuGet)
L'uso di un nuovo strumento o di una nuova tecnologia in genere implica una curva di apprendimento, ma fortunatamente quella di NuGet non è affatto ripida. In realtà, chiunque può iniziare a utilizzare i pacchetti rapidamente.
Detto questo, per poter creare pacchetti validi e adottare NuGet nell'ambito di processi di compilazione e distribuzione automatizzati è consigliabile dedicare un po' di tempo alle risorse seguenti:
NuDoq fornisce un accesso diretto e aggiornamenti e documentazione per i pacchetti NuGet.
NuDoq esegue regolarmente operazioni di polling nel server della raccolta nuget.org per trovare gli ultimi aggiornamenti pacchetto, decomprime ed elabora i file di documentazione della libreria e aggiorna il sito di conseguenza.
Se si dispone di un progetto per l'ecosistema NuGet che potrebbe rappresentare un valido contributo a questa pagina, inviare una richiesta pull con una modifica a questa pagina.