When Rod Paddock, Editor in Chief of this magazine, asked me to write the editorial, I couldn't pass up the opportunity. The first time I was published in CODE Magazine was back in the fall of 2000, just after the unveiling of the .NET platform at Microsoft's Professional Developer's Conference. I have to say that I've come a long way in 20 years and so has .NET.
Back then, I was a FoxPro kid writing about “distributed Internet applications” and arguing with Visual Basic developers about what development environment was better. I then started developing with the very early versions of .NET and never looked back to FoxPro. It was the early days of the “programmable Web” and .NET was built for it. .NET allowed me to do things I never could before. Now I work at Microsoft as the Product Marketing Manager for .NET and am on the Board of Directors of the .NET Foundation. Yes, we've both come a long way.
The release of .NET 5 marks a pivot point in .NET's long history of enabling developers to be productive writing any type of application. Over the years, there have been multiple implementations and versions to cover all the app types starting with .NET Framework for Windows, Mono, and Xamarin for mobile, and of course the cross-platform .NET Core. All of these implementations have their own libraries and APIs, project systems, runtimes, and components. Luckily, the languages remain relatively consistent and the .NET standard API specification helps the ecosystem share libraries across the implementations. .NET 5 begins the journey to unify these. The goal is to simplify the choices and learning curve for new developers, at the same time making it easier for experienced developers to build anything.
.NET Core has taken the best of .NET Framework, adding support for Windows Forms and WPF, expanding support for more devices, chipsets, operating systems, and distros. It's got dramatically improved performance and memory usage. When .NET Core 3 released last year, it was the fastest adopted version of .NET ever. .NET Framework 4.8 for Windows was the final minor release last year. It will only get critical bug fixes from now on and will remain a component of Windows. As long as Windows is supported, .NET Framework is supported.
.NET 5 is the next version and future of .NET that releases November 10, 2020. .NET 6 will release in November 2021 and there will be subsequent major releases every year. We're continuing the journey of unifying the .NET platform, with a single framework that extends from cloud to desktop to mobile and beyond. The next step in the journey is to take .NET Core and Mono/Xamarin implementations and unify them into one base class library (BCL) and toolchain (SDK). You'll see this happen in the .NET 5 to 6 wave of releases. The unification will be completed with .NET 6, our Long-Term Support (LTS) release.
.NET 5 releases November 10, 2020.
This special CODE FOCUS issue is all about .NET 5 and many of the improvements we've made with the open source community across the platform. The magazine is your chance to dig deep into the features of the release. .NET 5 has several enhancements, such as smaller, faster, single file applications that use less memory, which are appropriate for microservices and containerized applications across operating systems. It also includes significant performance improvements, adds support for Windows ARM64, and incorporates new releases of the C# 9.0 and F# 5.0 languages. It includes updates to Xamarin, Windows Forms, WPF, ASP.NET, and Blazor as well as significant new runtime features, tools, and libraries. Visual Studio, Visual Studio Code, and Visual Studio for Mac all support .NET 5.
Here are a few highlights in this issue.
For the C# language aficionado, we have details on how to take advantage of the new record declaration syntax, as well as an introduction of top-level statements.
Fans of F# will love the new built-in package management as well as the ability to integrate F# with Jupyter Notebooks.
.NET 5 has tooling that will be appreciated by user interface developers. The inclusion of and improvements to WPF and WinForms is a huge step for the .NET developer. There's also a great write-up discussing many improvements to Blazor technology. Mobile UI technologies are also discussed with details on updates to the Xamarin ecosystem.
There's also great content on many of the underlying tools used by .NET developers. This includes advances to EF Core, like better many-to-many support, logging, and better filter support. There's also a discussion of runtime changes including improvements to single file deployments, ARM support, and performance improvements in general.
You'll also find articles on Project Tye that helps build microservice-based applications, Improvements to Azure tooling in Visual Studio, as well as an update on what's been updated in the machine learning framework ML.NET
This issue is chock full of great details that will help you take advantage of these features right out of the gate. I'm truly excited for the future of .NET and hope you love .NET 5 as much as I do.