The shift to building on what was originally called .NET Core has brought big changes to .NET. Not only is it now open source and cross-platform, it’s also no longer tied to Windows’ release cycles. Instead of years between major releases, we’re now getting one per year with new versions arriving every November.
SEE: 40+ open source and Linux terms you need to know (TechRepublic Premium)
The latest version, .NET 7, arrived at the end of last year, bringing a host of new features and adding more ways to bring older .NET Framework code to the new platform. It’s focused on improving performance, as well as allowing you to go straight from your development tools to cloud-native containers for use in Kubernetes. Additional changes include improved support for ARM processors — with a deeper understanding of how they operate providing a significant performance boost for native code.
.NET now serves more than Intel and AMD
ARM support is becoming increasingly important as a new generation of ARM-based hardware on the desktop and in the datacenter start to roll out. With power and space budgets increasingly constrained, ARM-powered servers can help get more compute in less space, allowing you to get the most out of existing on-premises data centers by taking advantage of increased density.
.NET doesn’t only support x64 and ARM processors — there’s even the ability to run on IBM’s Power processors. This allows you to bring existing .NET enterprise apps to your existing Power estate, including IBM iSeries hardware running alongside existing line-of-business applications and databases.
.NET is built with better code
One of the key deliverables for this release has been continuing to improve the base class libraries used to build code. The intention here is that developers’ skills are transferable: You only need to learn .NET once, and those skills can be used to build everything from desktop apps to the web to mobile to server code.
Additional APIs provide user interfaces, web servers, distributed applications and more. Other improvements to the underlying platform add new features to .NET languages that help building and running applications.
Support for modern devops practices is important, and .NET 7 adds more tooling to support the increasingly popular OpenTelemetry standard. This goes alongside other cloud-native features, as OpenTelemetry is one of the key technologies used to work with at-scale distributed applications.
SEE: Hiring kit: Back-end Developer (TechRepublic Premium)
Cross platform .NET
One of the more important cross-platform features of the latest .NET releases is MAUI, the multi-platform app UI. It’s the successor to Xamarin, providing a way of delivering apps that run on Windows, iOS, Android, and macOS Catalyst.
Best thought of as a modern version of Xamarin Forms, MAUI provides both mobile and desktop user interface tools with support for its own and native controls. While it’s possible to use MAUI to have one codebase that builds for all four platforms, there are still OS-specific features that it’s better to access directly to avoid locking your code down to the lowest common denominator.
Aiming to improve app performance and add new features, other key libraries have been updated. The underlying .NET CLI has had a revamp, letting you do more from the command line, including building Docker containers for your code.
One useful change is support for tab completion in the dotnet new command, quickly setting up the structure and dependencies for everything from web apps and winforms apps to essential tests. Tab completion here can show you the options available for each project type, ensuring that you’re building not only what you want but also what’s currently supported by your .NET install.
Making developers more productive is increasingly important, as organizations are being pressed to complete digital transformation programs while budgets are constrained. The new features in .NET 7 should help here, providing ways for developers to build code without distraction using their own choice of tools.
The cross-platform foundations of .NET help deliver its cloud-native tooling, delivering code in Linux containers ready for use in Kubernetes on most cloud platforms. With tools like ASP.NET Core getting updates on the same cycle as the platform, it provides an alternate and scalable way of delivering web front ends for your code.
Lifecycle and upgrades with .NET 7
One thing to note with .NET 7: Because it’s an odd-numbered release, it’s only a standard-term support release. That gives it 18 months of support, so be prepared to update any .NET 7 applications to .NET 8 when it’s released late in 2023. You should have six months for any migration, but it’s worth regularly checking your codebase against preview releases so you’re ready for any breaking changes.
The new release includes an upgrade assistant that helps bring older .NET apps to the newest platforms. There’s support for community alternatives to .NET Foundation tooling, helping bring legacy applications to the new platform, as well as Microsoft APIs. One key tool supported is CoreWCF, a new implementation of the original Windows Communication Framework used to link desktop apps to line-of-business services.
Microsoft describes .Net 7 as “modern,” and that’s a good descriptor. Abandoning the two decades of the legacy .NET Framework in favor of a completely new platform with the same name was a brave move for a company that is well known for ensuring backwards compatibility. Three releases into the new .NET, and we’re getting updated community versions of old tooling along with new features that would have taken the old Microsoft years to deliver.
The result is a much improved, future-proof platform that lets you bring along much of your old code while giving you the tools you need to deliver the latest mobile and cloud apps. If you’ve not begun to migrate older .NET code, .NET 7 is a good place to start: It’s stable, it’s fast and it has most of the features enterprise applications need.