According to Microsoft's announcement, .NET Core 3.0 is a major update which adds support for building Windows desktop applications using Windows Presentation Foundation (WPF), Windows Forms, and Entity Framework 6 (EF6). ASP.NET Core 3.0 enables client-side development with Razor Components. It will support for Azure Cosmos DB (EF Core 3.0), C# 8 and .NET Standard 2.1 and much more!
Developer can develop .NET Core 3 applications with Visual Studio 2019 Preview 1, and Visual Studio Code. It will be supported in a later version of Visual Studio for Mac.
Windows Desktop Comes to .NET Core
The first two versions (1.0, 2.0) of .NET Core was focused primarily on supporting web applications, web APIs, IoT and console applications. .NET Core 3 will support for building Windows desktop applications using WPF and Windows Forms frameworks and modern controls and Fluent styling from the Windows UI XAML Library (WinUI) via XAML Islands.
WPF, Windows Forms, and WinUI Open Sourced
On November 12, 2014 Microsoft had announced the open sourcing of .NET Core. After tremendous success, Microsoft has announced open sourcing for WPF, Windows Forms, and WinUI. Now, the three major Windows UX technologies will be open sourced.
.NET Core 3.0.0 has following Notable Changes in Preview 1:
- Windows Desktop (WPF and Windows Forms) comes to .NET Core
- WPF, Windows Forms, and WinUI are now open sourced
- Support for applications to have executables by default
- Enabled dotnet build to copy dependencies
- Support for local dotnet tools using dotnet-tools.json
- Added a fast in-box JSON Reader (System.Text.Json.Utf8JsonReader)
- New Range and Index types
- Support for async streams
- Added System.Buffers.SequenceReader as a reader for ReadOnlySequence
- Support for serial port APIs on Linux
- New APIs for GPIO, PWM, SPI and I2C
- Support for TLS 1.3 and OpenSSL 1.1.1 on Linux
- Cryptography improvements
- More BCL improvements
- Support for adding default implementations of interface members
- Enabled tiered compilation by default for better performance
- Added assembly metadata reading with new MetadataLoadContext type
- Added support for ARM64 for Linux