July 2019

Volume 34 Number 7

[Editor's Note]

Unification Theory

By Michael Desmond | July 2019

Michael DesmondWhen Microsoft announced .NET 5 at the Build Conference in May, it drew a hearty round of applause from the developer audience, and for good reason. This future version of .NET Core (due in November 2020) will provide a single target for developers across desktop, Web, mobile, cloud and devices. As Mark Michaelis describes in his feature article this issue, “.NET Reunified: Microsoft’s Plans for .NET 5,” the effort reaches clear back to the start of the century, to .NET Framework 1.0 and the Shared Source Common Initiative, and to intervening frameworks like Silverlight, Windows Phone and currently .NET Core.

“.NET 5 solidifies the future of .NET as a stalwart platform,” Michaelis says. “Obviously, it eliminates all the complication of multiple .NETs, which is not trivial for new developers who have to work between them. .NET 5 wraps that all up and brings .NET back into one product.”

It’ll be a welcome reunion. Today, there are three primary managed frameworks in Microsoft’s fleet: The flagship .NET Framework, the cloud and cross-platform friendly .NET Core that started as a subset of .NET Framework, and the device-savvy Mono/Xamarin framework for Android and iOS app development. There’s also the .NET Standard reference API, which provides a tangible target for developers writing code that can run across .NET frameworks.

As Michaelis describes, the burden of maintaining and orchestrating three discreet frameworks escalated, even as they increasingly shared functionality. With .NET 5, Microsoft is focusing its vision squarely on .NET Core, which is currently in preview builds for version 3.0. As Microsoft Senior Program Manager Richard Lander told Michaelis, the plan sets the stage for innovation to come.

“Each of the .NET Core releases have been exciting because they’ve added new scenarios that have enabled larger groups of developers to adopt the platform and all the value that is part of it,” Lander says. “.NET 5 is a major inflection point where all existing modern .NET scenarios provided by Microsoft will be supported with .NET Core. From there, we can focus on new scenarios like Web assembly and improving fundamentals like performance.”

Michaelis says the community has welcomed the plan to collapse development to a single, unified framework. Still, challenges remain. Microsoft says .NET 5 won’t support APIs for ASP.NET Web Forms, Windows Workflow and Windows Communication Foundation (WCF) Server, which may force workarounds for developers engaged with those platforms.

“If you have a significant WCF Server implementation, there’s nothing forcing you to migrate,” Michaelis says. “You could keep it as is and then write all new code in .NET Standard and .NET Core assemblies that are referenced from the WCF Server code base. That way new stuff goes into the new .NET, while keeping the old stuff running.”

What do you think of Microsoft’s effort to unify development? Send me your thoughts at mdesmond@1105media.com.

Michael Desmond is the Editor-in-Chief of MSDN Magazine.

Discuss this article in the MSDN Magazine forum