Package management is a hot topic in the Microsoft world, lately. On October 6, it got even hotter, with Microsoft's announcement of a first developer preview of NuPack.
NuPack is an open-source package-management system for .Net that will be supported with all versions of Microsoft's Visual Studio tool suite. NuPack is designed to "simplify the process of incorporating third party libraries into a .Net application during development," as its creators explain it.
The creators behind NuPack are Microsoft and the Nublar (NU) Project. On October 6, the pair announced they were turning over NuPack to the Outercurve Foundation, the group that was formerly known as the CodePlex Foundation. Microsoft founded and funded the Foundation last year and remains one of the main sponsors of it.
"Developers - both inside and outside Microsoft – will contribute features, bug fixes and patches to NuPack," according to today's blog post from Scott Guthrie, the Corporate Vice President of Microsoft’s .Net Developer Platform.
NuPack is not the first package-management technology with Microsoft roots. In March of this year, a Microsoft developer created CoApp, an open-source Windows package-management system. Microsoft has spun out CoApp to Outercurve, as well.
I asked WithinWindows blogger (and CoApp contributor) Rafael Rivera to help me understand the differences between CoApp and NuPack. Here are some of the main distinctions that Rivera mentioned:
- NuPack is .NET only and developer-focused (integration of libraries into .NET projects)
- CoApp covers both managed and unmanaged code and is currently focused on user applications
- NuPack covers the gap between "install a dev library" and "use it"
- CoApp is more of a big-picture OS-level package management system that may or may not integrate with and/or include NuPack as a subset at some point
Guthrie provided more details about how NuPack potentially will bring together the .Net and open-source development communities. From his blog post:
"NuPack enables developers who maintain open source projects (for example, projects like Moq, NHibernate, Ninject, StructureMap, NUnit, Windsor, RhinoMocks, Elmah, etc) to package up their libraries and register them with an online gallery/catalog that is searchable. The client-side NuPack tools – which include full Visual Studio integration – make it trivial for any .NET developer who wants to use one of these libraries to easily find and install it within the project they are working on."
WebMatrix is one of three key components of what Microsoft calls its Web Platform. (The other two are the Web Application Gallery and Web Platform Installer.)
WebMatrix include a lightweight version of Microsoft’s IIS Web Server, known as IIS Express; an updated version of SQL Server Compact Edition; and a new “view-engine option” for ASP.Net, known as “Razor,” which enables developers to embed Visual Basic or C# within HTML.