Skip to main content

What's new in .NET 8 and beyond?

.NET

.NET is a popular and versatile platform for developing applications across multiple devices and platforms. Microsoft is constantly improving and evolving .NET with new features, enhancements, and updates. In this blog, we will explore some of the exciting developments in .NET 8 and beyond.

.NET 8: A major release with performance, web, and mobile improvements

.NET 8 is the latest major release of .NET, which was launched in November 2023. It brings many improvements and new capabilities to the platform, such as:

  • Performance boosts: .NET 8 introduces several optimizations and enhancements to the runtime, the libraries, and the tools that make .NET applications run faster and more efficiently. Some of the highlights include:
    • Tiered compilation: This feature enables the runtime to dynamically switch between different levels of code optimization based on the usage patterns of the application. This can improve startup time, throughput, and memory usage.
    • ReadyToRun images: This feature allows developers to pre-compile their assemblies into native code that can be directly executed by the runtime without any additional compilation or JITting. This can reduce startup time and improve performance.
    • Hardware intrinsics: This feature exposes low-level CPU instructions to .NET developers, enabling them to write high-performance code that takes advantage of the hardware capabilities of the target machine.
  • ASP.NET Core enhancements: ASP.NET Core is the modern web framework for building web applications and services with .NET. .NET 8 brings several improvements and new features to ASP.NET Core, such as:
    • Minimal APIs: This feature enables developers to create web APIs with minimal boilerplate code and configuration. Developers can use simple lambda expressions to define endpoints, parameters, and responses, and rely on conventions and defaults for routing, validation, and serialization.
    • Blazor updates: Blazor is a framework for building interactive web UIs with C# and HTML. .NET 8 introduces several updates and enhancements to Blazor, such as:
      • Blazor Server: This hosting model enables developers to run Blazor components on the server and stream the UI updates to the browser over a SignalR connection. .NET 8 improves the scalability and reliability of Blazor Server applications by introducing support for Azure SignalR Service and automatic reconnects.
      • Blazor WebAssembly: This hosting model enables developers to run Blazor components on the browser using WebAssembly. .NET 8 improves the performance and compatibility of Blazor WebAssembly applications by introducing support for .NET IL Linker, WebAssembly SIMD, and WebAssembly Exceptions.
      • Blazor Hybrid: This hosting model enables developers to run Blazor components on both the server and the browser, and share state and logic between them. .NET 8 introduces support for Blazor Hybrid applications in .NET MAUI, the new cross-platform UI framework for .NET.
  • .NET MAUI: .NET MAUI is the new cross-platform UI framework for .NET that enables developers to create native applications for Windows, macOS, iOS, and Android with a single codebase and project. .NET 8 introduces several improvements and new features to .NET MAUI, such as:
    • Platform and stability improvements: .NET 8 improves the stability and compatibility of .NET MAUI applications by addressing various issues and bugs, and adding support for new platforms and devices, such as Windows 11, macOS Monterey, iOS 15, and Android 12.
    • Single project experience: .NET 8 simplifies the development and deployment of .NET MAUI applications by enabling developers to use a single project file and a single set of resources for all target platforms. Developers can also use multi-targeting to customize the behavior and appearance of their applications for each platform.
    • Hot reload and hot restart: .NET 8 enhances the productivity and efficiency of .NET MAUI developers by introducing support for hot reload and hot restart. Hot reload enables developers to apply code changes to a running application without restarting it or losing its state. Hot restart enables developers to quickly deploy and test their applications on physical devices without using emulators or provisioning profiles.

.NET Aspire: A new, simplified stack for cloud-native applications

.NET Aspire is a new, simplified stack for building production-ready distributed applications with .NET. It is designed to help developers create scalable, resilient, and secure applications that can run on any cloud or on-premises environment. .NET Aspire consists of the following components:

  • .NET Aspire Runtime: This is a lightweight and modular runtime that provides the core services and libraries for running .NET Aspire applications. It is based on .NET 8 and supports both Windows and Linux platforms.
  • .NET Aspire SDK: This is a set of tools and templates that enable developers to create, test, and deploy .NET Aspire applications. It includes support for Visual Studio, Visual Studio Code, and the command-line interface (CLI).
  • .NET Aspire Libraries: This is a collection of libraries that provide common functionality and patterns for .NET Aspire applications, such as configuration, logging, dependency injection, health checks, metrics, tracing, and more.
  • .NET Aspire Services: This is a suite of services that enable developers to add advanced capabilities to their .NET Aspire applications, such as service discovery, load balancing, configuration management, secret management, and more. .NET Aspire Services are based on open-source projects, such as Consul, Envoy, Vault, and NATS.

.NET Aspire is currently in preview and is expected to be released in 2024. You can learn more about .NET Aspire and how to get started with it here.

What’s next in .NET?

.NET is a constantly evolving platform that aims to deliver the best developer experience and the best performance for any application. Microsoft is already working on the next versions of .NET, such as .NET 9 and .NET 10, which will bring more improvements and innovations to the platform. Some of the planned features and enhancements include:

  • Native AOT compilation: This feature will enable developers to compile their .NET applications into native executables that can run without any runtime dependencies or JIT overhead. This can improve startup time, throughput, and memory usage, and enable scenarios such as self-contained deployments and ahead-of-time compilation for WebAssembly.
  • Generic math: This feature will enable developers to write generic code that can perform arithmetic operations on any numeric type, such as int, float, decimal, or user-defined structs. This can improve the expressiveness and performance of .NET code, and enable scenarios such as linear algebra, machine learning, and graphics.
  • C# 11: This is the next version of C#, the popular programming language for .NET. C# 11 will introduce several new features and enhancements to the language, such as record structs, global using directives, static abstract members in interfaces, and more.
Tags
  • .NET