Microsoft has unveiled .NET 8, the latest version of its open-source, cross-platform application development platform, featuring numerous enhancements in performance, security, and stability. Released on November 14 and available for Windows, Linux, and macOS at dotnet.microsoft.com, .NET 8 stands out as the newest Long-Term Support (LTS) version with a three-year support commitment. The release underscores its dedication to cloud-native development, building upon the advancements introduced in .NET 7. Additionally, .NET 8 places a significant focus on Generative AI.
One notable addition is the Dynamic Profile-Guided Optimization (PGO) code generator, which optimizes code based on real-world usage, resulting in a potential 20% improvement in application performance. This feature is enabled by default. The support for the AVX-512 instruction set facilitates parallel operations on 512-bit vectors of data, leading to more efficient data processing. Microsoft highlights an 18% improvement in the JSON API scenario, achieving nearly one million requests per second with ASP.NET Core Minimal APIs.
Addressing cloud-native development challenges, .NET 8 introduces .NET Aspire in preview, providing an opinionated stack for building configurable cloud-native applications. This includes components enhanced for cloud-native use, incorporating telemetry, configuration, resilience, and health checks by default. General availability for .NET Aspire is expected in spring 2024.
AI Simplified: Integrating Generative AI with .NET 8
In the realm of artificial intelligence, .NET 8 simplifies AI integration through features in the .NET SDK and collaboration with partners such as Azure OpenAI and Qdrant. The update includes enhancements to the System.Numericscode library to improve compatibility with generative AI workloads. Microsoft has also worked on the open-source Semantic Kernel SDK, streamlining the integration of AI components into both new and existing applications.
For containerization, Microsoft has focused on making the packaging of applications more straightforward and secure. Each .NET image now includes a non-root user for enhanced container security, and the .NET SDK tools facilitate the publication of container images without requiring a Dockerfile, defaulting to non-root configuration.
.NET 8 continues the momentum from .NET 7, introducing C# 12 with simplified syntax for primary constructors, eliminating the need for boilerplate code. The F# 8 language receives new diagnostics, usability improvements, and performance enhancements, along with an upgraded FSharp.Core standard library.
Ahead-of-time compilation allows .NET apps to be compiled into native code, reducing memory usage and enabling execution in restricted environments where a JIT compiler is not allowed. The ASP.NET Core 8 web framework streamlines identity for single-page applications and enhances minimal APIs with form-binding, antiforgery support, and asParameters support for parameter-binding with OpenAPI definitions.
The Blazor web app builder receives updates focused on page load time, scalability, and user experience, allowing both server and client components to be used together. Blazor Server and Blazor WebAssembly can now coexist in the same app, and Microsoft emphasizes that .NET code runs significantly faster on WebAssembly.
.NET MAUI (Multi-platform App UI) remains a key component, offering a single project system and codebase to build WinUI, Mac Catalyst, iOS, and Android apps. The experimental native AOT compilation now supports targeting iOS-like platforms.
Developers can leverage the support for .NET 8 in the Visual Studio family of tools, including the just-released Visual Studio 2022 17.8. Alternatively, applications can be created using Visual Studio Code with the C# Dev Kit or the GitHub Codespaces template for .NET. The release marks a substantial step forward in Microsoft’s ongoing efforts to enhance the capabilities and versatility of the .NET platform for developers across different environments and use cases.