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.
Jump to:
.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.
Must-read developer coverage
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.
Microsoft has been using its Blazor web development tooling to experiment with .NET-based WebAssembly code. While itโs still early days for the technology, .NET 7 improves support, providing a set of tools to help debug WebAssembly apps. The ability to run .NET code in the browser at near binary speed is important, as it allows you to take advantage of .NET UI controls and its connectivity features as an alternative to JavaScript. Using .NET 7 to gain WebAssembly experience is well worth your time, as itโs gaining importance in the cloud-native world as an alternative to containers.
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.