Recently Microsoft shared a sneak preview of .NET Core 3 at the Microsoft Build Live! The Redmond tech giant has affirmed that the new version will be focused on Windows desktop applications, particularly Windows Presentation Framework (WPF), Windows Forms, and UWP XAML.
Being a .NET Web Development Company, we are eagerly waiting for the first preview of .NET Core 3 that is scheduled to release later this year. Our team of .NET developers is looking forward to get a first-hand experience of the preview, prior to the release of final version in 2019.
The company also announced a parallel release of ASP.NET Core and asserted that their commitment towards web and cloud applications would continue without any variation.
The Picture speaks for itself!
Aptly said that a picture is worth a thousand words! As depicted in the above image (courtesy: Microsoft .NET blog), there isn’t any architectural change in .NET Core, i.e., data, AI/ML, web, and cross-platform will remain unchanged. Besides, you will have Windows Desktop packages committed to the support of Windows app on .NET Core, which will work exclusively on the Windows OS.
What’s there for Desktop?
The .NET Core holds many great benefits for desktop apps including:
- The ease of use and testing a new version of .NET Core.
- Performance enhancements and runtime updates are sure to thrill your users.
- Allows easy deployments.
- Support for SDK-style projects and .NET Core CLI.
.NET Framework 4.8 announced
After shipping .NET Framework 4.7.2 recently, Microsoft has announced their plans for .NET Framework 4.8 and you can expect the latter to ship in about 12 months. The new release, just like its predecessors, will include a set of targeted improvements; few of them are listed further in this article.
Improvements for .NET Core 3.0 and .NET Framework 4.8
The company has also announced many new and improved features that will be added to .NET Core and .NET framework 4.8 including the following:
- Access to the full Windows 10 APIs.
- Ability to host UWP XAML controls in Windows Forms applications and WPF.
- Ability to host UWP browser and media controls, enabling modern browser and media content and standards.
How to move existing desktop applications to .NET Core 3?
Microsoft said that they will guide you to start with .NET Core 3 when you develop new desktop applications. They also added that they want the experience of converting existing applications to .NET Core 3 quite straightforward.
A quick glance into the plan:
- Firstly, you would need to target your existing desktop applications to .NET Core 3 and recompile.
- Then update all the project files to target .NET Core 3.
- You can retarget and recompile dependencies to .NET Core 3 if you want to grab the additional benefits; otherwise you need not do so.
As per the Microsoft .NET team, you can look forward to getting compatible APIs for desktop applications. They are also planning to make the WPF and Windows Forms capable simultaneously.
The Paint application, a great favourite with most of us, has already been tested on .NET Core 3. Yes! Microsoft is running Paint on .NET Core in their lab and they have converted it to .NET Core just by using the WPF binaries without even making any changes to its code.
The team has also confirmed that while running Paint on .NET Core they have observed a faster startup along with other benefits without even doing any optimization.
Migrating desktop projects to SDK-style projects
.NET Core projects have adopted SDK-style projects and here are some of its key advantages:
- PackageReference instead of packages.config for referencing NuGet packages.
- Project files are cleaner and smaller.
- Multi-targeting support.
- Allows editing project files in Visual Studio without unloading.
The project files of .NET Core 3 will look similar to SDK-style project for ASP.NET Core 2.1. Below is an example of the latter (adapted from Microsoft .NET blog):
<PackageReference Include="Microsoft.AspNetCore.App" />
What to expect next?
Well, .NET developers can play a significant role in making .NET Core 3 a great release. The next course of action by the .NET team is as follows:
- They will test .NET Framework desktop application to detect what hinders their smooth functioning, without even accessing the source code.
- Allow you to share dependency data easily as well as anonymously with the .NET team so that they can gather broad aggregate application data to determine what should be the shape of .NET Core 3.
- Based on the above two steps they would publish early designs so that .NET developers can give their feedbacks early on.
Before rolling out .NET Core 3, the .NET team is pretty sure that things are going on the right track based on the feedbacks collected via surveys.
Our team of .NET developers is super excited anticipating the exciting times they would have with two major releases, .NET Core 3 and .NET Framework 4.8, in 2019.
These major releases would enable you to modernize your desktop applications and take them to the next level.
Once you give the first preview of .NET Core 3 a shot, please be the first to share your experience with our readers by leaving your comments below.
Need Dot Net development services for your business application? Get in touch with our .NET team; we would love to hear from you!