咱們今天要聊的內容主要桌面開發四個方面:Windows平臺、.NET Core 3 平臺上的WPF,Winform, 應用打包解決方案 MSIX 和 XAML 羣島訪問原來UWP的控件,讓咱們的應用程序迅速現代化。git
Windows平臺上的應用開發,咱們一般會選擇如下三個技術:github
但事實上, 你真正想瞄準的是 Windows。Windows是平臺。 這些選項只是咱們針對 Windows 開發應用時所擁有的不一樣 UI 框架選項。更重要的是, 當你優化你的應用針對 Windows 10 時, 你會獲得更多的創新、Api 和 windows 10 操做系統爲您提供的好處。json
把 Windows 看做是一個平臺。
UI 框架只是一種偏好windows
並且, 這三個UI 框架如今都是開源的:瀏覽器
WPF 和 Windows Forms 開源都是基於.NET Core 3.0, 你確定有疑問爲何是 .NET Core 3. 給我個理由?安全
.NET Framework 4.8 已經發布,.NET 4.8 已經幫助咱們解決了不少問題, WPF和Windows Forms的高DPI更好的至此,Windows 10 中最新的瀏覽器和媒體播放器的新控件,並支持最新的標準。.NET Core 3 是 .NET Core 的下一主要版本。 這個即將發行的版本的主要特色是支持 Windows 桌面應用,包括 Windows 窗體和 WPF 應用。 你將可以在 .NET Core 3 上運行新的和現有的 Windows 桌面應用並體驗 .NET Core 具備的全部優點。 託管在 XAML 島中的 UWP 控件也可在面向 .NET Core 3 的 Windows 窗體和 WPF 應用中使用。app
.NET Core 的性能更好,速度更快,.NET Core的並行安裝的特性能夠幫助你在發佈應用程序中獲取顯而易見的方便,更好的打包方案MSIX, 開源,支持.NET Standard 2.1, 支持C# 8.0等還有不少新特性。框架
使用.NET Core 3 升級Windows 桌面應用開發的好處還有不少,下面簡要的列幾條:性能
•現代運行時、BCL 和語言功能優化
•更容易訪問平臺和設備的API
•現代化 且可訪問的的UI和輸入
•針對 DevOps 進行無縫的應用程序部署、更新和優化
•開發人員更好進行敏捷創新
.NET Core 3.0 將在下個月發佈RC, 9月份正式發佈,將在11月份發佈長期支持版本3.1 ,2020年 11月發佈.NET 5 ,其實就是.NET Core 4.0 ,爲了不和.NET 4的混淆,以及統一.NET品牌的考慮統一叫作.NET 5,日後
每一年發佈一個主要版本, 發佈的偶數版本是LTS。
如今就能夠動手試試了,須要注意的是你在構建32位仍是64位的應用程序的時候須要安裝對應版本的sdk,最簡單的就是2個版本的SDK都裝上。下載地址:https://dotnet.microsoft.com/download/dotnet-core/3.0
.NET可移植性分析器可幫助您識別代碼中可移植或不可移植到. net Core 的部分, 爲您提供完整的 Excel 報告。 第一步是從package.json遷移到 PackageReference。
最簡單的方法是建立一個運行 "dotnet new wpf" 或 "dotnet new winforms" 的空 csproj。
您可使用生成的 csproj 做爲起點, 從舊 csproj 遷移您的 PackageReferences , 而後從那裏開始。
大多數項目都應該是至關超前的。
若是您須要更多信息, 請按照博客文章中的步驟操做。它是很是完整的。https://aka.ms/porting-to-netcore3
WPF Demo
MSIX是一種Windows應用包格式,能夠爲全部Windows應用程序提供現代化打包體驗。MSIX 是一種基於.msi, appx、 app-V和 ClickOnce 安裝技術的組合構建的一種安全可靠的打包格式。
從 Windows 10 版本 1903 開始,能夠將 UWP XAML 控件直接添加到與窗口句柄 (HWND) 關聯的 WPF、Windows 窗體或 C++ Win32 應用中的任何 UI 元素。 這意味着,你能夠將最新的 UWP 功能(例如 Windows Ink 和支持 Fluent Design System 的控件徹底集成到 Windows 以及桌面應用的其餘顯示錶面中去。 此開發人員方案有時稱爲「XAML 島」。
關於Windows開發,其中一個最大的抱怨是微軟在Winforms和wpf的投入少;Windows10提供的大部分新特性都只是針對UWP構建的。雖然咱們如今能夠從.NET Framework 調用UWP API,但僅適用於不涉及UI的狀況。爲了解決這個問題,微軟建立了兩個新控件:WinForms XAML Host和WPF XAML Host,使開發人員能夠把UWP編寫的UI嵌入到現有WinForms/WPF應用程序。