.NET 6 deep dive: What's new and what's it mean for developers?
.NET 6 is here, and Microsoft's latest means big things for developers with goodness around Azure, performance, cross-platform, and more. Here's what's new!
Jun 08, 2023 • 5 Minute Read
What's new in the world of Azure this week? .NET 6! It's here! This is the biggest release for the .NET framework in years, and it seeps into every nook and cranny of not just Azure but also performance, cross-platform, and so much more. Read on for the details!
.NET 6 in the cloud
Azure Functions also support both in-process and isolated (out-of-process) execution models, which is key for services like durable functions.
Your keys to a better career
Get started with ACG and transform your career with courses and real hands-on labs in AWS, Microsoft Azure, Google Cloud, and beyond.
App services also now support .NET 6 on both Windows and Linux machines. You can use ASP.NET Core as well, and if you are already using a preview of .NET 6 for your app service, no need to panic. The new runtime version will be picked up automatically when your application is restarted.
Azure static web apps now support full-stack .NET 6 applications by using either Blazor Web Assemblies or Azure Function APIs, or both.
Kubernetes on Azure is also getting the .NET 6 treatment, and there are surely many more services to come. .NET 6 is the LTS, long-term support, version of .NET, which means any service supporting the framework will have the version.
Performance in .NET 6
I am mentioning these performance improvements because, of course, it will all flow into your Azure apps where you use .NET. If you're into the details of performance tuning and improvements, the Saturn V-sized blog post is worth a read.
- The Just in Time (JiT) compiler has been updated in “an unbelievable number of ways.” No, actually, I do believe them. It has something to do with inlining and devirtualization . . . which I don't understand, though.
- The garbage collector implementation has changed from segments to regions, which is significant in how the memory blocks are sized and used.
- The throughput for system types, such as Guid, string, random, environment, and many many more, have been vastly improved. In some cases, the improvement is 90% or more from previous versions.
- Collections and LINQ have also been improved. Take the “Clone” method on lists and dictionaries. It has improved by 97% from .NET 4.8. Holy moly!
.NET 6 delivers a unified platform
One of the holy grail moments of programming is reusing code. I used to reuse code between my Windows and Windows Phone apps. Ahhh, those were the good old days . . . but I digress.
.NET 6 has made great progress in creating a unified platform that includes the browser, cloud apps, desktop, IoT, and mobile apps.
This platform makes it even easier to share .NET 6 between targets. You can write machine learning apps that run in the browser and look for streaming data anomalies or use web assembly to .NET apps right in the browser. With .NET MAUI (The Multi-platform App UI), you can even write a single project that creates a similar experience across mobile and desktop.
These are just a small segment of all the amazing innovations and progress made with .NET 6. It really is a huge deal if you live in the Microsoft Azure developer space, and it is a big deal for Azure. I encourage you to check out the blog post from Microsoft, as it is really thorough and worth going through.
As we say on the A Cloud Guru team, "Seek and you shall cloud." See you next week. Keep being awesome, cloud gurus!