Skip to content

Microsoft .NET 6
What’s New, What’s Different, and What’s Improved

  • by

Microsoft, the company, is a leader in the global Information Technology sector. Consequently, its software and its software development tools play an equally important role in this industry, including the software development ecosystem with its different developer tools and platforms, both open-source and proprietary. And one of the tools that Microsoft has developed and is committed to maintaining and upgrading is its cross-platform, open-source developer platform: .NET.

The dotnet.microsoft.com website describes .NET as providing developers with the functionality to develop web, mobile, desktop, and IoT applications in different languages (C#, F#, and Visual Basic) for multiple platforms. Succinctly stated, .NET core facilitates the development of apps for all the principle operating systems; ergo, Windows, macOS, and Linux. The .NET framework is designed especially for the development of Windows desktop and server apps. At the same time, Mono or Xamarin extends .NET by providing the functionality and libraries, especially for cross-platform app development, including apps for iOS, Android, and macOS.

The initial version of .NET was released in February 2002. Fast forward to 2021, Microsoft is busy with the staggered release of .NET 6 by releasing several previews with the version being shipped on 9 November 2021. As an aside, each preview is based on .NET themes, epics, and user stories as described on themesof.net.

Why .NET 6?

What is the reason behind Microsoft’s decision to develop .NET 6?

There are often multiple reasons for frequent upgrades to software applications, libraries, APIs, and frameworks. Most of these reasons are based on the need to add new functionality to existing functionality and upgrade existing features. Therefore, the decision to upgrade .NET 5 to .NET 6 is not unique to Microsoft.

Technologies are advancing and improving rapidly. As a result, developers need to continually upgrade their software to integrate the new and upgraded technologies into the software as these upgrades become available.

In .NET 6, Microsoft is concluding the .NET unification process that was started in .NET 5. Succinctly stated, Microsoft’s developer strategy for 2020 was to shift from old generation technologies to a new way of working. The primary need for this switch was because, when .NET was first developed, monolithic client-server applications were the standard applications developed. Moreover, the software developers are now focused on developing applications based on a lightweight, distributed, microservices architecture with cross-platform and platform-independent mobile apps.

What’s new and improved in .NET 6?

As described above, Microsoft is releasing .NET 6 in a series of monthly previews. Thus, let’s look at its new and upgraded features in the order that these previews have occurred.

1. Preview 1

Some of the main features introduced in this initial preview include MAUI, the multi-platform UI support based on Xamarin, as well as iOS and Android as the first two platforms supported by MAUI. Microsoft also noted that macOS and Windows are the following two platforms to be added to MAUI.

One of the core features of .NET 6 is completing the unification process started in .NET 5. To this end, Microsoft’s Blazor WebAssembly unified platform, first delivered in .NET 5, enabling programmers to build cross-platform applications on one platform. The operating systems, macOS, iOS, and Android, already part of Xamarin, will be included in this update. Additionally, Blazor is being extended into a hybrid client app, bringing both web and native UI functionality together.

Additionally, Microsoft is implementing its .NET Multi-Platform App UI – simplifying and improving the user experience when building Xamarin Forms applications.

Lastly, the way Microsoft has planned the .NET 6 release and all future releases is more open. By way of example, .NET 6 is based on a model of user stories, themes, and epics, with categories and priorities, enabling users to view the overarching scope of the release and drill down into the features relevant to each developer.

2. Preview 2

This .NET 6 preview includes early builds of .NET MAUI, additional APIs, and runtime performance improvements. It also provides support for Apple’s new silicon chip, the M1 chip.

Some of the themes for this preview include the following:

  • Improving the .Net inner loop performance
  • Ensuring an exceptional client app development experience, especially the mobile development experience

These features and upgrades are designed to allow developers to:

  • Develop iOS, macOS, and Android apps using the .NET libraries
  • Use .NET MAUI to develop apps for iOS, macOS, and Android using the same codebase
  • Share code and resources across platforms
  • Run Blazor web apps natively across multiple platforms
  • Easily package applications for target operating systems and environments

3. Preview 3

This preview’s main purpose is the improvement of low-level performance features, including the following:

  • Enhancements to .Net libraries such as faster handling of structs as dictionary values and improved interface checking and casting
  • Improvements to runtime code generation in RyuJIT
  • Hot Reload support added to web applications

4. Preview 4

This preview is the halfway point of the .Net 6 release cycle. And at this point, most of the features highlighted in the first preview are close to being finalized. Succinctly stated, this release aims to create a solid foundation for the final build in November 2021.

The new features that are part of this build include:

  • The Hot Reload tool with Visual Studio debugger and dotnet command-line interface (CLI)
  • JSON text support for any asynchronous source of data
  • Streaming serialization and deserialization
  • Compile-time source logging generator
  • Enhancements to the System.Linq library
  • Improved FileStream performance for Windows
  • Improved date, time, and time zone support
  • CLI templates
  • Further improvements to the RuyJIT compiler

5. Preview 5

Once again, this release finalizes some of .NET 6’s signature features, such as .NET SDK Workloads, the foundation of Microsoft’s .NET unification vision highlighted above.

The .NET SDK Workloads feature adds support for Mobile and WebAssembly application types while keeping the Software Development Kit (SDK) size small. It also includes additional features like:

  • Package validation tooling
  • More Roslyn Analyzers

This preview also drops support for some of the older frameworks, including .NET Standard 2.0, .NET Core 3.1, and .NET Framework 4.6.1. And it improves the Microsoft Extensions API.

Lastly, this release is the most significant preview concerning the spread and quality of the features that comprise .NET 6. It is also an excellent time to start testing .NET 6 to try out some of the new functionality.

In conclusion

Before the final build of .NET 6 is released and shipped in November, there will be two more previews and two candidate releases for a total of seven previews before the first candidate release. Therefore, it is a good time for developers to consider adopting this framework as part of their software development toolbox.

Contact Arau Consulting for more information on .NET 6 and how it can be used to architect, engineer, and develop highly functional, cross-platform applications of the highest quality.

Leave a Reply

Your email address will not be published. Required fields are marked *