Vue d’ensemble de l’écosystème NuGet
Depuis son introduction en 2010, NuGet offre une opportunité exceptionnelle d’améliorer et d’automatiser différents aspects des processus de développement.
NuGet étant disponible en open source sous licence Apache v2 permissive, les autres projets peuvent en tirer parti et les entreprises peuvent le prendre en charge dans leurs produits. Que ce soit pour des projets open source ou pour le développement d’applications d’entreprise, NuGet et les autres applications basées ou axées sur NuGet fournissent un vaste écosystème d’outils pour améliorer votre processus de développement logiciel.
Tous ces projets sont sources d’innovation grâce aux contributions des développeurs. De la même manière que vous contribuez à NuGet lui-même, vous pouvez contribuer à ces projets en signalant des défauts, en proposant de nouvelles fonctionnalités, en formulant des commentaires, en écrivant de la documentation et en contribuant au code quand cela est possible.
NuGet fournit un système de gestion de packages gratuit et open source pour la plateforme de développement Microsoft. Il se compose de quelques outils clients, ainsi que de l’ensemble des services qui constituent la Galerie NuGet officielle. Combinés, ils forment le projet NuGet régi par la .NET Foundation.
L’organisation NuGet contient plusieurs dépôts sur GitHub. https://github.com/Nuget/Home donne une vue d’ensemble de tous les dépôts et des emplacements des différents composants NuGet.
Microsoft a contribué largement au développement de NuGet. Toutes les contributions apportées par les employés Microsoft sont également open source et sont données (droits d’auteur compris) à la .NET Foundation.
De nombreuses autres personnes et entreprises ont apporté des contributions importantes à l’écosystème NuGet. La licence de chaque projet répertorié ici pouvant différer de celle des composants NuGet principaux, vérifiez que les termes du contrat de licence sont acceptables avant d’utiliser le produit concerné :
- AppVeyor CI
- Artifactory
- BoxStarter
- Chocolatey
- CoApp
- JetBrains ReSharper
- JetBrains Space
- JetBrains TeamCity
- Klondike
- MinimalNugetServer
- MyGet (ou NuGet-as-a-service)
- NuGet Package Explorer
- NuGet Server
- NuGetizer
- OctopusDeploy
- Paket
- ProGet (Inedo)
- scriptcs
- SharpDevelop
- Sonatype Nexus
- SymbolSource
- Xamarin et MonoDevelop
Il s’agit d’outils et d’utilitaires reposant sur NuGet :
- Extensions Glimpse
- NuGetMustHaves.com
- Orchard (les modules CMS sont extraits d’un flux NuGet v1 hébergé dans la galerie Orchard)
- Implémentation Java de NuGet Server
- NuGetLatest (robot Twitter tweetant de nouvelles publications package)
- DefinitelyTyped (Définitions publiées sur NuGet de type TypeScript automatique)
L’utilisation d’un nouvel outil ou technologie est généralement assortie d’une courbe d’apprentissage. Heureusement, la courbe d’apprentissage de NuGet ne présente aucune difficulté ! En fait, toute personne peut commencer à consommer des packages rapidement.
Ceci dit, la création de packages, et particulièrement de packages de qualité, ainsi que l’adoption de NuGet dans les processus de génération et de déploiement automatisés, nécessitent de consacrer un peu plus de temps aux ressources suivantes :
NuDoq fournit un accès simple aux packages NuGet, des mises à jour de ces derniers et de la documentation à leur sujet.
NuDoq interroge régulièrement le serveur de la galerie nuget.org pour récupérer les dernières mises à jour de package, décompresse et traite les fichiers de la documentation de la bibliothèque et met à jour le site en conséquence.
Si vous avez un projet d’écosystème NuGet susceptible d’enrichir cette page, envoyez une demande de tirage (pull request) avec une modification de cette page.