本文旨在促進對 Windows 開發體驗和產品方向的共同瞭解。
現今的 Windows 應用程式開發環境提供各種架構和技術可供選擇。 此常見問題提供如何決定要用於 Windows 應用程式開發專案之架構的指引。 本文涵蓋下列主題:
- 開始使用和 Windows 應用程式開發環境。
- 使用 WinUI、Windows Presentation Foundation 和 Windows Forms (WinForms) 進行原生的僅限 Windows 應用程式開發。
- Windows 軟體開發工具套件 (SDK) 和 Windows App SDK。
- 以 Windows 為目標,作為跨平台開發策略的一部分。
- 使用 .NET MAUI、Blazor 和 ASP.NET Core 進行混合式和 Web 應用程式開發。
- 如何在瞭解Microsoft的投資時選擇方法。
Windows 應用程式開發環境
哪裡可以找到 Windows 開發技術的簡單概觀?
請參閱應用程式開發選項概觀。
為什麼用戶端應用程式開發對於雲端服務時代的現代數字轉型仍然至關重要?
在雲端服務時代,用戶端應用程式開發仍然是現代化數字轉型的重要元件。 對於開發人員來說,建置用戶端應用程式不僅對觸達至關重要,而且對於在用戶裝置上提供回應式且有意義的互動至關重要。
以下是用戶端應用程式仍然很重要的原因:
- 裝置觸達: 全球有超過15億部 Windows 裝置和超過50億部 Android 和iOS裝置,用戶端應用程式可讓您將應用程式直接帶入其所選裝置上的使用者。
- 智慧型手機服務的閘道: 用戶端應用程式通常是使用者與服務的第一個互動。 它們提供豐富的互動式介面,可讓您展示智慧型手機功能,並將產品與其他產品區別開來。
- 雲端整合的延展性: 整合良好的用戶端應用程式可以毫不費力地與後端雲端服務同步處理,讓您在使用者基底成長時啟用即時數據存取和無縫延展性。
- 增強生產力和用戶忠誠度: 經過深思熟慮的設計應用程式可以提升生產力,並讓使用者持續參與您的產品或服務。
原生僅限 Windows 的應用程式開發
什麼是 Windows 應用程式 SDK?
Windows 應用程式 SDK 是 Windows 應用程式開發平台,可讓您建立美觀、現代化、回溯相容 (向下到 Windows 10 1809) 傳統型應用程式。 WinUI 3 是隨附於 Windows 應用程式 SDK 的 UI 架構。
Windows 應用程式 SDK 與 Windows SDK 之間的差異為何?
兩者都是軟體開發套件 (SDK),可讓您建置 Windows 應用程式。
Windows 應用程式 SDK 是新的開發平台,可讓您建置可跨 Windows 版本安裝的新式傳統型應用程式 (向下到 Windows 10 1809)。 您使用 Windows 應用程式 SDK 建置應用程式時,您將能夠存取最新的 Windows 開發平台功能。 Windows 應用程式 SDK 包含 WinUI 3。
Windows SDK 是開發平台,可讓您建置 UWP 應用程式和 Win32 / 傳統型應用程式。 它是針對與特定作業系統版本結合的 Windows API 所設計。
Windows 應用程式 SDK 不會取代 Windows SDK。 相反地,Windows 應用程式 SDK 是 Windows SDK 的補充。 它針對豐富的 Windows OS API 目錄提供方便且分離的 OS 抽象概念,可讓您使用 Windows SDK 進行存取。 您使用 Windows 應用程式 SDK 建置應用程式時,可能會根據您需要的功能,使用一些 Windows SDK API。 經過一段時間後,會有更多 Windows SDK 功能提升到 Windows 應用程式 SDK 中。
我正在建置新的小組來開發僅限 Windows 的應用程式。 為什麼我應該選擇使用 WinUI、WPF 或 WinForms 等原生 Windows 架構進行開發?
以下是為僅限 Windows 應用程式選擇原生 Windows 架構的一些原因:
- 效能: 原生 Windows 架構已優化,以充分利用現今 Windows 硬體的完整功能,並提供快速且回應式的用戶體驗。
- 整合: Windows 隨附各種 API,以建置僅適用於 Windows 的複雜體驗。 原生架構提供這些功能和 API 的深度整合。
- 原生用戶體驗: 原生 Windows 架構可在 Windows 裝置上提供一致的用戶體驗,以確保您的應用程式在所有 Windows 裝置上看起來都能正常運作。
- 離線支援: 原生 Windows 架構提供離線案例的支援,讓您的應用程式即使在使用者未連線到因特網時也能運作。
- 獲利: 原生 Windows 架構會受到Microsoft的主動維護和支援,確保您能夠存取最新的更新和功能。
我應該使用哪一個架構來利用Microsoft對 Windows 應用程式開發的最新投資?
如果您要建置新的僅限 Windows 應用程式,建議您使用 WinUI。 WinUI 是適用於 Windows 應用程式開發的最新原生 UI 架構,其設計目的是要跨各種 Windows 裝置運作。 WinUI 提供現代化且靈活的 UI 架構,可讓您建立視覺吸引力和互動式 Windows 應用程式。 WinUI 是 Windows App SDK 的一部分,其設計目的是最適合使用最新版本的 Windows。
我可以在現有的 Windows 應用程式中使用 Windows App SDK/ WinUI 嗎?
請注意,WinUI(UI 架構)隨附 Windows App SDK(Windows 平台開發架構)。
一般而言,除非您已準備好完全移轉 UI 架構,否則您無法使用 WinUI。 我們正在處理一項稱為 XAML 島 的功能,可讓您在其他 UI 架構中裝載 WinUI 內容(WPF、Win32)。
您應該能夠在任何傳統型應用程式中使用 Windows App SDK 的元素,視您現有的應用程式建置方式而定。 Windows App SDK 不支援 UWP 應用程式。
這表示 WPF/MFC/WinForms 應用程式可以使用與 WinUI 無關的 Windows App SDK API。 這類 API 的範例包括應用程式生命週期、視窗化和快顯通知。
如需詳細資訊,請參閱 在現有專案中使用 Windows App SDK。
我需要使用 Visual Studio 來建置 WinUI 應用程式嗎?
強烈建議使用 Visual Studio 2022 17.10 版和更新版本來開發 WinUI 應用程式。 使用最新版本的 Visual Studio 可讓您存取豐富的開發功能,例如熱重新載入。 最新的 Visual Studio 安裝程式包含 Windows 應用程式開發 工作負載,讓您輕鬆開始使用 WinUI 開發。
您可能能夠使用其他 IDE 和開發工作流程,但 Visual Studio 目前是唯一正式支援的 WinUI IDE。 請注意,需要 MSBuild,才能編譯使用 XAML 或 WinUI 的專案。
當我使用 Windows App SDK 和 WinUI 3 建置應用程式時,我是否要建置「WinUI 應用程式」?
是 - 「WinUI 應用程式」是我們建議您使用的詞彙。 WinUI 3 應用程式通常稱為“WinUI 應用程式”,因為 WinUI 2 不是一種應用程式,而是一組可用於 UWP app 的元件。
我是否可以使用 WinUI 2 控制項以累加方式將 UWP 應用程式更新為 WinUI 3,方法是將 WinUI 2 元件逐漸取代為 WinUI 3 元件?
否。 Windows 應用程式 SDK 無法在 UWP 應用程式中使用,而 WinUI 2 無法與 WinUI 3 混合。 請參閱從 UWP 移轉至 Windows 應用程式 SDK。
將 UWP 應用程式移轉至 WinUI 有多困難?
移轉 UI 元件通常很簡單 (適用於 C# 和 C++/WinRT)。 否則,從UWP移轉至WinUI的成本主要取決於這些因素:
- 專案檔和 MSBuild 自訂:移轉專案可能需要大量投入,視您是否使用進階 MSBuild 功能而定。
- .NET API 移轉:如果您的 UWP 應用程式依賴於 .NET,那麼您需要升級到 .NET 6 或更新版本。 在大部分情況下,可以直接採用 .NET 6。
- UI 元件程式庫: 如果您使用 UI 元件庫,則需要以 WinUI 3 為目標的新版本。
- 如果您的 UWP 原始程式碼是以現在取代的 C++/CX 撰寫,則會涉及一些原始程式碼移植。 請參閱從 C++/CX 移到 C++/WinRT。
如需 UWP 移轉的詳細資訊,請參閱從 UWP 移轉至 Windows 應用程式 SDK。
如果我在市集中有現有的 UWP 應用程式,可以使用相同的標識碼發佈新的已封裝 WinUI 應用程式嗎?
是,升級的應用程式可以發佈,而不需要更新應用程式的身分識別。 擁有舊版的使用者將會更新為新版本。 本指南僅適用於傳統型應用程式。 Xbox、HoloLens 和 Surface Hub 應用程式無法移轉至 WinUI。
如何封裝/散發 WinUI 應用程式?
請參閱部署概觀。
哪裡可以找到 Windows 應用程式 SDK 移轉指引?
如果我想要使用 WinUI,是否需要使用 XAML 標記?
否。 UI 控制項可以在程式碼中建立。 但是,以宣告式 XAML 標記的形式代表 WinUI 使用者介面有許多優點,例如改善的開發人員體驗。
如果您要從 UWP 移轉至 WinUI,您可能能夠重複使用許多 XAML 標記和 UI 相關程式代碼(但您必須更新某些語法)。 如果您要從 WPF 移轉至 WinUI,您將能夠重複使用許多概念,但控件集和 API 會有所不同。
Visual Studio 是否有 WinUI 的設計介面/UI 設計工具?
還沒有。 我們認識到,這是 WinUI 開發人員體驗的差距。 XAML 熱重新載入之類的工具在許多案例中都有説明。 Work 已在 Windows App SDK 1.7 中適用於 WinUI 的 Visual Studio UI 設計工具上啟動,但此功能尚未發行時程表。
Windows 應用程式 SDK 是否包含 WinUI 3?
是。 WinUI 3 隨附於 Windows 應用程式 SDK。
Windows 應用程式 SDK 是否包含 WinUI 2?
否。 WinUI 2 是 UWP 平台的一部分。
WinUI 2 和 WinUI 3 是以相同的技術建置嗎?
不完全正確。 雖然 WinUI 3 是從 WinUI 2 程式碼基底開始的,但它們是不同的技術。 WinUI 2 和 WinUI 3 都是可跨 .NET 和 C++ 運作的 XAML 型 UI 架構。 請注意,WinUI 2 和 WinUI 3 彼此不相容。
我可以在不使用 Windows 應用程式 SDK 的情況下使用 WinUI 3 嗎?
否。 WinUI 3 隨附於 Windows 應用程式 SDK。
我可以在未封裝的應用程式中使用 WinUI 3 嗎?
是。 Windows 應用程式 SDK 中的全部技術都適用於未封裝的應用程式,包括 WinUI 3。
XAML Islands 與 WinUI 3 之間的差異為何?
XAML Islands 可讓您與其他架構的現有 Win32 UI 一起裝載新式 WinUI 控制項,例如 WinForms 和 WPF。 目前,大部分的系統 XAML 和 WinUI 2 控制項都支援 XAML Islands。 如需詳細資訊,請參閱在桌面應用程式中裝載 WinRT XAML 控制項 (XAML Islands)。 從 Windows App SDK 1.4 開始,XAML Islands 支援 WinUI 3 控制項。
如果我建立 WinUI 應用程式,它會在 Windows 11 和 Windows 10 上看起來很現代化嗎?
是,在已封裝和未封裝的案例中,應用程式 UI 會繼承全部支援的 Windows 11 和 Windows 10 版本的最新 Fluent UI 設計原則,並降低到版本 1809。
我可以在使用 Windows App SDK 建置的應用程式中使用雲母或壓克力背景嗎?
哪裡可以找到 WinUI 範例?
請參閱範例和資源。 一些值得注意的存放庫:
- WindowsAppSDK-Samples:示範如何使用特定的 Windows 應用程式 SDK API 集合。
- WinUI 3 示範:包含Microsoft WinUI 簡報期間所使用的示範。
- WinUI 資源庫:展示 WinUI 和 Windows App SDK。 您也可以在 Microsoft Store 中取得 WinUI Gallery。
如果我已在 WPF 中投入大量資金,我應該繼續使用 WPF,還是應該考慮移轉至 WinUI?
如果您已在 WPF 中投入大量資金,您可以繼續為現有的應用程式使用 WPF。 WPF 是成熟且穩定的架構,可供開發人員廣泛使用來建置 Windows 傳統型應用程式。
請考慮利用 .NET Upgrade Assistant,將 .NET Framework WPF 應用程式移轉至最新的 .NET 平臺。 .NET 升級小幫手是一種工具,可協助您將 .NET Framework 應用程式移轉至最新支援的 .NET 版本。 .NET 升級小幫手會分析您現有的程式代碼基底,並提供如何更新程式碼的指引。
如果我建置新的 WPF 應用程式,相較於其他新的 Windows 應用程式,看起來會是日期嗎?
使用 .NET 9 或更新版本開發 WPF 應用程式時,您可以確保應用程式符合 Windows 11 的時尚新式外觀。 WPF 的新 Fluent 主題為 WPF 應用程式引進了當代 Windows 11 美學,並透過整合的淺色/深色模式和系統輔色支援來完成。 此更新不僅可將應用程式的外觀現代化,還能藉由提供完美且連貫的用戶體驗來增強用戶參與度。
我的小組很熟悉建置 WinForms 應用程式,而且符合我們的需求。 我們應該考慮移轉至 WinUI 或其他架構嗎?
如果您的小組熟悉建置 WinForms 應用程式和 WindForms 符合您的需求,您可以繼續使用 WinForms 作為現有應用程式。 WinForms 是一種成熟且穩定的架構,可供開發人員廣泛使用來建置 Windows 傳統型應用程式。
WinForms 小組正在跨功能進行投資,並擁有活躍的參與者社群。 一些目前的投資領域包括:
- 通用控件的異步支援
- 深色模式
- 版面配置彈性
- 桌面安全性功能,例如剪貼簿存取
跨平臺原生開發
建置以 Windows 為目標的跨平臺原生應用程式有哪些原因?
如果您是以多個 OS 平臺的使用者為目標,請使用 .NET MAUI 或 React Native 建置跨平台應用程式可提供數個優點:
- 觸達: 建置跨平臺應用程式可讓您在不同平臺上接觸更多使用者。
- 程式代碼重複使用: 建置跨平臺應用程式可讓您跨不同平臺重複使用程式代碼,以減少開發時間和成本。 為 Windows、iOS、Android、macOS 等建置個別應用程式可能十分昂貴。
- 一致的用戶體驗: 建置跨平臺應用程式可讓您在不同平臺上提供一致的用戶體驗,確保您的應用程式在所有裝置上看起來都很棒。
- 整合: 建置跨平臺應用程式可讓您與不同的平臺和服務整合,讓您提供更全面的用戶體驗。
我是否可以確信 .NET MAUI 應用程式在 Windows 上運作良好?
當您建置適用於 Windows的
.NET MAUI 如何跨每個平臺提供原生裝置 API?
.NET MAUI 提供所有平台的單一 .NET 體驗,包括 Windows、iOS、Android 和 macOS。 .NET MAUI 會將超過 60 個平臺特定 API 抽象化成可在 .NET MAUI 應用程式中使用的單一跨平臺 API。 這些 API 涵蓋記憶體、網路功能、裝置特定感測器等等的存取。 如有需要,您也可以使用相依性插入來存取其他平臺特定 API,以擷取每個平台的程式代碼。
如果我最終想要以跨平臺案例為目標,我可以從 WinUI 開始,稍後再整合 .NET MAUI 嗎?
目前不能。 雖然 .NET MAUI 應用程式在 Windows 上執行時使用 WinUI,但如果您預期需要以多個平臺為目標,建議您從 .NET MAUI 或 React Native for Desktop 開始。
我們的小組具有強大的 Web 前端開發技能。 我們應該考慮使用 React Native for Desktop 嗎?
如果您的小組具有強大的 Web 開發技能,您可以考慮使用 React Native for Desktop。 React Native for Desktop 包含適用於 Windows 和 macOS 架構的 React Native。 React Native 的座右銘是「學習一次,隨處撰寫」,這表示您可以使用現有的 Web 開發技能,使用 React Native 建置原生 Windows 應用程式。 React Native for Desktop 是開放原始碼專案,可讓您使用 React Native 建置原生 Windows 和 macOS 應用程式。 React Native for Desktop 提供一組 API,可讓您存取 React Native 應用程式中的桌面 OS 特定特性和功能。
您的小組可以利用其 JavaScript、TypeScript 和 React 技能來建置 UI 層,而 UI 層會直接轉譯為原生基本類型。 這會提供原生應用程式效能和原生平臺功能的存取權。
如需深入了解開始使用適用於 Windows 的 React Native 開發,請參閱 React Native for Desktop 檔。
React Native for Desktop 是否支援任何其他 Windows 裝置?
React Native 應用程式可以部署到 Windows 10 和更新版本支援的所有裝置,包括計算機、平板電腦、2 英 1、Xbox 和混合實境裝置。
如果我想要建置在 Windows 和 Xbox 上運作的應用程式,該怎麼辦?
如果您的應用程式需要支援 Xbox、HoloLens 或 IoT,建議您使用 UWP。 Windows 應用程式 SDK 不支援這些平台。 針對遊戲開發,我們建議使用 Microsoft Game Development Kit。
如果我想要建置在 Windows 和 Surface Hub 上運作的應用程式,該怎麼辦?
如果您是以 Windows 和 Surface 中樞為目標,建議您使用 UWP。
混合式和 Web 開發
什麼是混合式應用程式,我為什麼要考慮建置混合式應用程式?
混合式應用程式會混合 Web 和原生應用程式開發的最佳功能。 應用程式的核心是使用 HTML、CSS 和 JavaScript 等 Web 技術所建置,然後包裝在原生容器中,讓應用程式能夠運用某些原生平臺功能和硬體。 它們也可以透過應用程式市集散發。
混合式應用程式的主要優點是,其可讓您建置可在多個原生平臺和 Web 上執行的單一應用程式,以減少開發時間和成本。 混合式應用程式開發平臺的一些範例回答:
- 傳統型應用程式的電子
- 行動裝置應用程式的仿生
- 適用於跨平台應用程式的 .NET MAUI Blazor 混合式
如何在 Windows 上建置原生風格漸進式 Web 應用程式 (PWA)?
什麼是 .NET MAUI Blazor 混合式應用程式?
使用 .NET MAUI,Blazor 應用程式也可以在 Windows、iOS、Android 和 macOS 上以原生方式執行。 這表示您可以建立混合式用戶端應用程式,將 Blazor 和 .NET MAUI 元件合併成單一原生用戶端應用程式。 這可讓您完整存取任何其他 .NET MAUI 應用程式可用的相同原生平臺功能。
若要深入瞭解 Blazor 如何在 .NET MAUI 應用程式中裝載,請參閱 ASP.NET Core Blazor Hybrid。
是否需要使用 Blazor 建立 .NET MAUI 混合式應用程式的 Web 元件?
否,不需要使用 Blazor 建立 .NET MAUI 混合式應用程式的 Web 元件。 從 .NET 9 開始,.NET MAUI 提供 HybridWebView 控件,可讓您在原生應用程式中裝載其他 JavaScript UI。
這表示您可以採用 Angular、React、Vue 或其他 HTML & JavaScript Web 應用程式,並在 .NET MAUI 應用程式中裝載它。 混合式控件提供 C# 和 JavaScript 層之間的互操作性,因此您可以從 C# 呼叫 JavaScript 函式,反之亦然。
任何其他原生應用程式類型都可以裝載 Blazor 混合式元件嗎?
是,WPF 和 WinForms 應用程式也可以裝載 Blazor 混合式元件。 這可讓您將新式 Web UI 元件新增至現有的 WPF 和 WinForms 應用程式。 請注意,在 .NET Framework 上建置的 WPF 或 WinForms 應用程式不可能這樣做。
我的整個應用程式是否必須是混合式應用程式,或者是否可以混合並符合原生和混合式元件?
您可以在應用程式中混合和比對原生和混合式元件。 例如,您可以使用 .NET MAUI 元件來建置應用程式的核心,然後新增混合式元件以提供其他功能。 這可讓您充分利用兩個世界的最佳功能:原生元件的效能和功能,以及混合式元件的彈性和節省成本。
我建置 的選擇是什麼。在 Windows 上的新式瀏覽器上看起來很出色的 NET 型 Web 應用程式?
Web 應用程式具有任何用戶端應用程式平臺的最大觸達範圍。 如果您想要在 Windows 上建立美麗的 .NET Web 應用程式,您有數個選項:
- 使用Razor Pages ASP.NET Core應用程式
- ASP.NET Core MVC 應用程式
- ASP.NET Core Blazor 應用程式,包含裝載模型選項,包括:
- Blazor WebAssembly 應用程式
- Blazor Server 應用程式
請注意,Blazor 的裝載模型現在可以在元件層級設定。 因此,您可以在 Blazor Server 應用程式中裝載 Blazor WebAssembly 元件。
在 ASP.NET Core 檔案中深入瞭解 ASP.NET Core 開發選項。
選擇方法並瞭解Microsoft的投資
建置以 Windows 為目標的應用程式有許多架構選項! 如何決定?
Windows 是支援許多技術的開放平臺。 以下是一些準則,可協助您決定要使用的平臺:
- 您要建置 Windows 優先或跨平臺嗎?
- 您有 .NET 的經驗嗎? JavaScript? 其他語言?
- 您需要存取 Windows 特定 API 嗎?
- 哪一個架構的功能最符合您應用程式的需求?
- 如需其他決策因素,請參閱此表格 。
在商務應用程式方面,大部分的小組都想要根據現有的技能,以及小組的舒適使用方式來選擇。
如何為 Web 應用程式選擇最佳的開發方法?
為 Web 應用程式選擇開發方法時需要考慮的一些事項包括:
- 建議使用 .NET 建置前端 Web 應用程式。 藉由使用 Blazor,您現在可以使用 .NET 建置整個前端和後端,以節省時間和金錢。 它特別適合現今裝置上的企業營運應用程式。
- 如果您想要利用小組在 JavaScript 中的現有技能或投資,或需要與現有的 JavaScript 連結庫或架構整合,JavaScript Web 應用程式仍然有意義。
- 仍支援使用舊版架構的現有應用程式,例如 Web Forms、MVC 或 Razor Pages,而且可以使用這些架構繼續開發和維護。
誰正在使用 WinUI 建置應用程式?
許多客戶目前都使用 WinUI 建置,包括 Adobe 和 Apple:
- Adobe Fresco,這是適用於 Windows 的免費繪圖和繪製應用程式。
- Apple 建立了
Apple Music 、Apple TV ,以及使用 WinUI 和 Windows App SDK 應用程式Apple Devices。
Microsoft也已使用 WinUI 建立數個應用程式,包括 Windows 11 檔案總管和相片應用程式。
誰正在建置目前 .NET MAUI 應用程式?
許多客戶目前都使用 .NET MAUI 來建置其跨平臺應用程式,包括Microsoft。 例如,Microsoft Azure 行動應用程式 是使用 .NET MAUI 建置的。
瞭解在 .NET 客戶上以 .NET MAUI 建置應用程式的人員,展示 網站。
誰正在建置 WPF 應用程式?
大部分Microsoft Visual Studio 的用戶介面都是使用 WPF 所建置。 Visual Studio IDE 是複雜且高效能的 WPF 應用程式的絕佳範例。
誰正在建置 Blazor 應用程式?
GE Digital FlightPulse 航空公司系統將感測器數據和分析置於飛行員手中,以提高安全性和效率。 試驗所看到的所有專案的後端組態都是使用 Blazor 完成的。
您可以在 .NET 網站上閱讀更多 Blazor 客戶案例。
UWP 和 WinUI 2
UWP 應用程式可以在 Microsoft Store 外部散發嗎?
是。 如果您的 MSIX 套件已簽署,則簽署認證必須在目標裝置上有效且受信任。
我可以混合 UWP XAML UI 控制項與 Win32、WPF 或 WinForms UI 控制項嗎?
是 - XAML Islands 可讓您這麼做。 深入瞭解 XAML Islands。
封裝、部署和更新
已封裝、未封裝和在外部位置進行封裝的應用程式有何差異?
如需已封裝、未封裝及在外部位置進行封裝的應用程式定義,請參閱部署概觀。 此主題也說明每個選項的優點和缺點。
我的 WinUI 應用程式是否會自動更新給使用者?
WinUI 應用程式可以透過市集、.appinstaller 檔案,或在現有的 MSI 或 setup.exe 套件中傳遞。 對於已啟用自動更新的使用者,Store 和 AppInstaller 支援自動更新,但 MSI/setup.exe 應用程式必須有本身的更新程式。
我可以在不使用 MSBuild 的情況下使用 Windows 應用程式 SDK 嗎?
一般來說,不會。 WinUI 和 Windows App SDK 需要 MSBuild,這就是為什麼 Visual Studio 是使用 WinUI 和 Windows App SDK 進行開發的必要條件。 雖然技術上可以建置不使用其他工具鏈使用 WinUI 的 Windows App SDK 應用程式,但不支援此功能。
效能與最佳化
我該如何讓我的 Windows 應用程式呈現絕佳的終端使用者風格?
請參閱讓應用程式適用於 Windows。
相容性
我的使用者是否必須更新 Windows 才能使用我的 WinUI 應用程式?
擁有 Windows 10 版本 1809 和更新版本的使用者,將能夠在不更新其 OS 的情況下安裝您的 WinUI 應用程式。
我可以使用 WinUI 應用程式將 Arm64 設為目標嗎?
是。
取代和移轉
UWP / WinUI 2 已被取代嗎?
否。 UWP 和 WinUI 2 仍受到支援,並且會收到錯誤、可靠性和安全性修正。 不過,大部分的新功能,包括最新 .NET 運行時間的支援,只會新增至 WinUI 3。
何時應該將 UWP / WinUI 2 應用程式移轉到 WinUI 3?
如果UWP開發人員對UWP及其功能集感到滿意,就應該不會感到將應用程式移轉至WinUI 3的壓力。 某些應用程式的最佳選擇可能是永不移轉。 對於想要受益於 Microsoft 最新 Windows 平台和 .NET 投資的應用程式,這些應用程式應考慮移轉到 Windows 應用程式 SDK。 請參閱從 UWP 移轉至 Windows 應用程式 SDK。
何時應該將 UWP + WinUI 2 應用程式移轉到 WinUI 3?
如果您要建置 Xbox、Surface Hub 或 HoloLens,建議您繼續使用 UWP。
WPF 已被取代嗎?
否。 WPF 仍然受到支援,也會收到一些功能更新。
WinForms 已被取代嗎?
否。 WinForms 仍受到支援,也會收到一些功能更新。
Windows 執行階段 (WinRT) 已被取代嗎?
否。 WinRT 是指應用程式二進位介面 (ABI),可讓您在多種語言之間互動操作。 WinRT 是 COM 的演進。 Windows 應用程式 SDK 透過 WinRT API 提供大部分功能。