Microsoft is updating its primary developer framework with the release of .NET Core 3.0, bringing new capabilities to the open-source framework.
Microsoft began the effort to open source its .NET programming framework in 2016 and has continued to improve and expand the platform in the years since. In a keynote address at the .NET Conf 2019 virtual developer event this week, Scott Hunter, director of program management for .NET at Microsoft, said there are more than one million active .NET Core developers today. Perhaps more importantly as an open-source effort, the project has taken over 100,000 code pull requests from the community, which is indicative of the collaborative nature of the project, he said.
Among the new features in .NET Core is desktop support for Windows Presentation Foundation (WPF) and Windows Forms, which enable user interfaces in the Windows operating system. A big new addition is support for self-contained applications, such that any .NET Core application can run from its own executable without the need for .NET to be separately installed. Also, the integrated C# version 8 programming language gains new patterns that can expand developer productivity.
Additionally, alongside the .NET Core update, Microsoft released a new version of its flagship developer tool –Visual Studio 2019 version 16.3 – providing full support for .NET Core 3.0.
During his keynote, Hunter emphasized that .NET Core 3.0 is the first version of Microsoft's framework that enables developers to benefit from the growing trend of microservices. Microservices are disaggregated applications that are composed of individual services running in containers. To help enable microservices, Microsoft has integrated the open-source gRPC framework that provides a way to easily enable remote procedure calls across a microservices deployment.
"What's cool is you can actually build a microservice using gRPC and you can call it from Java, you can call it from node.js, you can call it from Python or any of the languages you want," Hunter said.
The updated C# 8.0 programming language in .NET Core 3.0 provides improved safety features, including the new nullable reference type in C# 8.0, added to make code safer. A nullable reference enables a developer to declare intent more clearly.
"We always want to make your code safer to write. We want to make it easier for you to catch the errors early or prevent the errors from ever occurring," Hunter said.
One of Microsoft's partners for .NET Core is Red Hat, which is now a division of IBM. Bob Davis, product manager for .NET at Red Hat, told ITPro Today that since the start of his company's collaboration with the Microsoft team around .NET Core in 2016, it has been a part of Red Hat's runtime portfolio. In that time, Red Hat and Microsoft have worked together to deliver a free, open-source version of .NET to enterprises, he said.
".NET Core's strong point is modern microservices and container-based applications – an area where Red Hat has given considerable focus," Davis said. "That, along with the performance and feature enhancements, should make upgrading to .NET Core 3 very attractive."
Red Hat frequently sees customers migrating their existing .NET Framework applications to .NET Core so they can realize the potential of Red Hat's OpenShift container platform and the benefits it brings, and .NET Core 3 makes that transition less daunting, he said.
Davis said that Microsoft has embraced the open-source development model for .NET Core.
In his role as the product manager for .NET Core at Red Hat, Davis said he works closely with the .NET team and other teams at Microsoft.
"We meet regularly to discuss the future of .NET Core and coordinate releases, customer issues, enhancement requests, and how developers and admins can get the most out of the work we're doing," he said. "I've seen them demonstrate a 100% commitment to open-source software, and [make] sure that Linux is a first-class citizen in the .NET world."