Windows 10 引進了通用 Windows 平台 (UWP),提供可在所有執行 Windows 的裝置上使用的通用應用程式平台。 UWP 核心 API 在所有 Windows 裝置上是相同的。 如果您的應用程式只使用核心 API,它會在任何 Windows 裝置上執行,無論您的目標是桌上型電腦、Xbox 或混合實境耳機等。
以 C++/WinRT 撰寫的 UWP 應用程式具有屬於 UWP 之 Win32 API 的存取權。 這些 Win32 API 是由所有 Windows 裝置實作。
擴充功能 SDK 會公開特定裝置類型的獨特功能
如果您的目標是通用 API,則應用程式可以在所有執行 Windows 10 或更新的裝置上執行。 但如果您想要讓 UWP 應用程式利用裝置特定的 API,則您也可以這麼做。
整合的應用程式Store 可讓您的應用程式在 Windows 裝置上使用,例如個人電腦、平板電腦、Xbox、HoloLens、Surface Hub 及物聯網 (IoT) 裝置。 您可以將應用程式提交至 Microsoft Store,使其可用於所有類型的裝置,或僅適用於您選擇的裝置。 您在同一個地方提交和管理適用於 Windows 裝置的所有應用程式。 有您想要用 UWP 功能現代化,並在 Microsoft Store 中銷售的 C++ 傳統型應用程式嗎? 這也沒有問題。
了解如何新增 Windows 使用者的現代體驗到現有的傳統型應用程式,以及使用傳統型橋接器在 Microsoft Store 中散發其功能。
通用 Windows 平台與 Windows 執行階段 API 有何關聯
如果您正在建置通用 Windows 平台 (UWP) 應用程式,將「通用 Windows 平台 (UWP)」和「Windows 執行階段 (WinRT)」詞彙視為多少有點同義,可讓您獲得許多好處和便利性。 但「可以」深入了解技術,並判斷這兩個想法之間的差異。 如果您想知道,請參閱最後一節。
Windows 執行階段和 WinRT API 是 Windows API 的進化版。 起初,Windows 透過一般、C 樣式 Win32 API 撰寫程式。 新增的 COM API (DirectX 是明顯的範例)。 Windows Forms、WPF、.NET 和受控語言有其自己撰寫 Windows 應用程式的方式,以及自己喜好的 API 技術。 Windows 執行階段實際上是 COM 的下一個階段。 在實際的應用程式二進位介面 (ABI) 層,其在 COM 中的根目錄會變成可見。 但是,Windows 執行階段的設計訴求是可從各種不同的程式設計語言進行呼叫。 而且能夠以對每種語言都很自然的方式呼叫。 為了這個目的,可透過所謂的語言投影存取 Windows 執行階段。 Windows 執行階段語言投影成 C#、Visual Basic、標準 C++、JavaScript 等等。 此外,適當封裝後 (請參閱傳統型橋接器),您可以從某個應用程式模型內建的應用程式呼叫 WinRT API:Win32、.NET、WinForms 及 WPF。
您當然可以從您的 UWP 應用程式呼叫 WinRT API。 UWP 是以 Windows 執行階段為基礎的應用程式模型。 在技術上,UWP 應用程式模型是以 CoreApplication 為基礎,不過視您所選擇的程式設計語言而定,您可能看不到細節。 如本主題所闡述,從價值主張的觀點來看,UWP 適合用於撰寫可發佈至 Microsoft Store 並在任何一種裝置板型規格上執行的單一二進位檔。 UWP 應用程式的裝置範圍取決於您限制您的應用程式呼叫或您有條件呼叫的 Windows 執行階段 API 子集。
希望這一節已成功地說明技術基礎 Windows 執行階段 API,以及通用 Windows 平台的機制與商業價值之間的差異。