.NET 7 was officially announced this week. When the first preview version became available, Microsoft said about .NET 7 “marks the first step forward to the next 20 years of .NET.”
.NET 7 is similar to .NET 6 in some fundamentals, such as а simplified development experience, improved developer productivity, and a unified set of base libraries, runtime, and SDK.
The focus areas for .NET 7 are providing tools for upgrading legacy projects, improved cloud-native development support, and a simplified experience for working with containers.
“.NET 7 is built for modern cloud native apps, mobile clients, edge services and desktop technologies,”
said in Microsoft’s blog post Jon Douglas, principal program manager for NuGet, Jeremy Likness, principal program manager for .NET Web Frameworks and .NET and Angelos Petropoulos, product manager for .NET.
.NET MAUI comes included with .NET 7, which will make it easier for developers to create mobile versions of their applications. This release also includes updates to Blazor, which is a framework for creating web apps with C#. The updates include support for handling location change events, improvements to the debugging experience for WebAssembly, and out-of-the-box support for using OpenID Connect for authentication.
.NET 7 launches with support for several Azure platform-as-a-service offerings: App Service for Windows and Linux, Static Web Apps, Azure Functions, and Azure Container Apps.
“The popularity and practical usage of containers is rising, and for many companies, they represent the preferred way of deploying to the cloud. However, working with containers adds new work to a team’s backlog, including building and publishing images, checking security and compliance, and optimizing the performance of images. We believe there’s an opportunity to create a better, more streamlined experience with .NET containers,”
the team wrote.
To make it easier to work with containers, .NET 7 will enable developers to create a containerized version of their app by using “dotnet publish.” The goals Microsoft had when creating this capability was to have it integrate with existing build logic and be available out-of-the-box.