Evolution of Excellence: Unveiling .NET 8’s New Horizons

Andrew Gubskiy
//devdigest
Published in
5 min readNov 17, 2023

--

On November 14, at the .NET Conf 2023 conference, Microsoft presented the final release of .NET 8. Each new version of the platform is an important event — this is a definite milestone that sums up what came before and outlines future technology development. The established traditions of .NET development allow us to know what new features the platform will bring for us long before the official release. Added to this fact is that .NET has been an open-source product for many years. But at the same time, the official release is an occasion for a closer look at the platform’s capabilities and ways of its development.

The Ukrainian version of the article for DOU is here.

Many developers who work with .NET have already become familiar with the announcements of new features. However, in this article, we will look at what work has been done by Microsoft engineers and the community.

Here is a list of platform components that were touched upon during the work on the eighth level:

  • .NET Aspire
  • ASP.NET Core.
  • Core .NET libraries.
  • Extension libraries
  • Garbage removal
  • Configuration Binding Source Generator
  • Reflection improvements.
  • Built-in AOT support.
  • Performance improvement.
  • .NET MAUI
  • .NET SDK
  • Globalization
  • Containers
  • COM interop generated by source code.
  • .NET on Linux
  • Cross-application for Windows.
  • AOT compilation for Android applications.
  • Code analysis
  • Windows Presentation Foundation
  • NuGet
  • Diagnostics

More than twenty points! I highly recommend reading the article “What’s new in .NET 8” on the Microsoft Learn portal to get acquainted with everything. From my side, I want to explore the area in which .NET has received new opportunities and also investigate why platforms are developing as they are.

We’re seeing an evolutionary stage. NET’s development right now. It is not a revolutionary one. There are a lot of changes in this release that are aimed at polishing the platform and bringing it even closer to ideal. Although new technologies are carefully thought out, much attention is paid to refining and expanding existing ones. Let’s go through them in more detail.

Ease of debugging

Microsoft engineers have made many small changes that make debugging code much more streamlined. So, in .NET 8, the view property is customized for types such as HttpContext, HttpRequest, HttpResponse, and others. For many types, the amount of information displayed has been reduced. All of these changes are detailed in the “Debugging Enhancements in .NET 8” article.

Safety

The platform’s new version will become safer due to the changed handling of container assembly. All Linux-based container images will now include a non-root user, allowing you to run .NET containers without root privileges. This dramatically improves the security of applications and the .NET ecosystem — the concept of “least privilege” is used to limit the threat capabilities of attackers. You can read more in the article: “Secure your .NET cloud apps with rootless Linux Containers”.

Artificial intelligence

.NET 8 expands AI and generative AI support, providing improved support for cross-language models and integration with various AI services. You can check out the these examples to learn how to create your own ChatGPT plugin, use artificial intelligence to create text and images, and much more helpful information. Artificial intelligence is coming more and more into all areas of our activities.

Performance

The .NET team has done a lot of work to optimize the platform. According to the engineers, “If .NET 7 was fast, then .NET 8 is super fast!” If you want to know what has been changed and how it works internally, I highly recommend reading the article “Performance Improvements in .NET 8”. I warn you that it is very long, but if you read it in full, you will always be able to bless the knowledge in good company.

.NET Aspire

Speaking about the fact that .NET 8 carefully proposes new vectors for development evolution, we can’t mention not only AI but also .NET Aspire — a stack for creating cloud applications. It includes components designed to work in cloud environments, integrating service discovery, telemetry, and health-checking features. At the moment, there is only a pre-release of Aspire. You can read about it in the article “Introducing .NET Aspire: Simplifying Cloud-Native Development with .NET 8”.

Creating client applications

Microsoft continues developing technologies for creating web and desktop client applications. MAUI and Blazor are actively developing and gradually gaining more interest from the developer community.

Blazor is positioned as a complete stack for building web applications. The new version has further optimized page load times, and developers can use Blazor Server and Blazor WebAssembly in one application, which will now run significantly faster thanks to the new Jiterpreter-based runtime.

As for MAUI, most of the engineers’ attention was paid to fixing errors — in total, more than one and a half thousand pull requests were merged, which fixed about six hundred different problems. Importantly, this process involved both the .NET MAUI team and the developer’s community.

New language versions

Of course, the platform’s new version also includes updated versions of the C# and F# languages.

Many new features have been added to C#: primary constructors, collection expressions, inline arrays, optional parameters in lambda expressions, ref readonly parameters, alias of any type, and interceptors. I recommend reading the article “What’s new in C# 12” to find out what each of these features does.

The new version of F# also includes many features that make F# programs more straightforward, more performing, and code more consistent. If you like to write in a functional style and are a fan of F#, read the article “Announcing F# 8”.

Сonclusions

Based on the results of the release of the new version of .NET, this is, of course, a very logical and organic development of the platform. In addition, this is an LTS version, which means that more or less large and serious projects will gradually switch to this version.

There has long been a known approach in the business area when a company first invests resources in expansion and capturing a new market share, and then investment in quality occurs. In the development world, the expansion of .NET began around 2016, when .NET Core burst into new territories. Now, when the platform has already been able to cover a huge number of different areas, resources are being invested in the quality of the platform. And although this stage does not bring revolutionary changes, it is nevertheless important and necessary.

If you want to follow how the .NET platform is developing and always be aware of the latest news from the Microsoft technology stack, I invite you to subscribe to our Twitter.

--

--

Andrew Gubskiy
//devdigest

Software Architect, Ph.D., Microsoft MVP in Developer Technologies.