In November, Microsoft announced that its new .NET Core offering would be open source - including its framework libraries. Obviously, this is a big deal for just about every programmer, especially those who have either utilized the .NET framework in the past or, even better, those who've always been interested in taking this step but have thus far shied away.
That being said, it's worth going further and asking exactly what the .NET framework's open source nature means for interested parties. How can you take advantage of this new status quo for your own programming needs?
Here's a quick rundown of why an open source .NET framework is so important, and so exciting.
"The .NET framework is now available on Windows, Mac and Linux."
The old and the new
Back when the open source offering was first revealed, Microsoft's Immo Landwerth provided some insight as to how users should view this announcement. A key point: The existing .NET framework will continue to operate on Windows for desktop development, while also being available for the ASP .NET web application stack.
However, Landwerth made it clear that Microsoft is applying the majority of its attention to the open source .NET Core going forward. And that's good news for developers working on Mac and Linux, as this marks the first time that the .NET framework will be available. At the same time, .NET Core will continue to run on Windows, naturally.
Speaking to The Register, Jay Schmelzer, director of program management on the Visual Studio Team at Microsoft, emphasized that this does not imply that the full .NET framework is now a legacy resource. .NET Core may be the focal point, but Microsoft doesn't plan to abandon the existing .NET framework.
"We continue to believe in the full framework and the scenarios it was created to support, and we'll continue to innovate in that space," said Schmelzer, the source reported.
.NET Core's open source nature confers a long list of advantages for users. For one thing, the modular nature of the framework ensures that developers can maximize their code reuse and sharing across platforms. That increases efficiency massively, while creating new opportunities for countless organizations. Prior versions of the .NET framework lacked this broad functionality, limiting its usability and value.
.NET is now much more flexible.
Beyond the obvious flexibility benefits, the open source .NET Core framework also offers the advantage of supporting "app local" deployments. This means that all the runtime and library resources applications need are deployed within the applications themselves.
To see these benefits, the Microsoft Developer Network emphasizes that existing apps should use Portable Class libraries and Universal app projects to separate business logic from platform-specific code. Furthermore, users should leverage Model-View-Controller or the Model View-ViewModel to migrate apps to .NET Core.
In a lot of ways, though, developers will need to ask themselves how they want to best take advantage of .NET Core. Speaking to The New Stack, Landwerth noted that developers can choose to pull code directly off of GitHub themselves, and then build locally with complete independence. Alternatively, developers can submit pull requests, which the .NET team will evaluate and, eventually, approve. Landwerth pointed out that the team has already accepted more than 100 such pull requests. Finally, he indicated that developers can access code changes as sets of NuGet packages.
This range of options gives developers the freedom to approach .NET however they see fit. This, combined with the newfound flexibility and efficiency that .NET Core offers, makes this framework's open source nature a key benefit that will offer major dividends for years to come.