適用於開發人員的 Windows 10 (組建 16299) 最新動向

Windows 10 組建 16299 (也稱為 Fall Creators Update 或 1709 版本) 搭配 Visual Studio 2019 與更新的 SDK,提供工具、功能以及體驗來造就不凡的通用 Windows 平台應用程式。 在 Windows 10 上安裝工具和 SDK 之後,就表示您已經準備好建立新的通用 Windows 應用程式,或是探索如何在 Windows 上使用現有的應用程式程式碼

這是此版本中 Windows 開發人員會感興趣的新功能和改良功能以及指導方針的集合。 如需新增到 Windows SDK 之新命名空間的完整清單,請參閱 Windows 10 組建 16299 API 變更。 如需 Windows 10 重點功能的詳細資訊,請參閱 Windows 10 中有哪些酷功能。 此外,請參閱 Windows 開發人員平台功能以取得過去與未來加入 Windows 平台功能的高階概觀。

設計與 UI

功能 描述
條件式 XAML 您現在可以使用條件式 XAML 來建立版本調適型應用程式。 條件式 XAML 可讓您在 XAML 標記中使用 ApiInformation.IsApiContractPresent 方法,因此可以根據 API 是否存在來設定屬性和具現化物件,而不必使用程式碼後置。
設計工具組 UWP 應用程式的設計工具組和資源已藉由新增 Sketch 及 Adobe XD 工具組進行擴充。 先前既有的工具組也已更新並修訂,為您的 UWP 應用程式提供更強固的控制項與版面配置範本。 此外,也加入新的工具和範例,以提供範例與靈感。
Fluent Design 效果 這些新效果屬於 Fluent Design 系統的一部分,採用深度、透視以及移動協助使用者專注於重要的 UI 元素。
* 壓克力材質是一種建立透明紋理的筆刷。
* 視差效果可為您的應用程式增加立體深度及透視效果。
* 顯色會顯目提示您應用程式中的重要元素。
如需詳細資訊,請參閱 Fluent Design 概觀
鍵盤快速操作 利用鍵盤快速鍵或快速鍵,提升您應用程式的存取性和可用性。 這些功能提供直覺的方式,讓使用者不需瀏覽應用程式 UI 即可叫用常見的動作或命令,並可設定為符合其功能的必要範圍。
筆跡 CoreIncrementalInkStroke API 允許使用個別 InkPoint 物件,建立以遞增方式呈現的個別筆墨筆劃。

CoreInkPresenterHost API 讓您不需相關 InkCanvas 控制項即可裝載 InkPresenter 物件。
星形控制器 RadialControllerConfigurationAPI 已更新,可將 RadialController 功能表的範圍設定在應用程式的檢視或程序。
動態磚 從傳統型橋接器 Win32 應用程式釘選次要磚
快顯通知 使用按鈕的擱置更新在快顯通知建立多個步驟互動。
UI 控制項 這些新的控制項使得快速建立美觀 UI 的工作變得更為輕鬆。
* 色彩選擇器控制項可讓使用者瀏覽及選取色彩。
* 導覽檢視控制項可讓您將頂層導覽功能輕鬆的加入到您的應用程式之中。
* 個人圖片控制項會為個人顯示圖片影像。
* 評分控制項可讓使用者輕鬆的檢視及設定評分,以反映其對內容和服務的滿意程度。
語氣和語調 我們新增新的 UWP 應用程式中的語氣和語調指引,提供撰寫應用程式中文字的建議。 無論您要創造什麼,請切記您使用的語言必須平易近人、友善且具有資訊性。

遊戲

功能 描述
遊戲廣播 Windows.Media.AppBroadcasting 命名空間的新 API 可讓您的應用程式啟動系統提供的遊戲廣播 UI。
您也可以註冊在廣播開始或停止時通知您應用程式的事件。 Windows.Media.AppRecording 命名空間的新 API 可讓您錄製音訊和視訊以及收錄遊戲的螢幕擷取畫面。
您也可以提供中繼資料,供系統嵌入至廣播及擷取串流,讓應用程式提供同步遊戲事件的檢視體驗。 如需這些功能的詳細資訊,請參閱遊戲廣播及擷取
遊戲聊天覆疊 GameChatOverlay 類別提供方法,可用於取得預設遊戲聊天覆疊執行個體、設定想要的覆疊位置,以及新增訊息。
遊戲裝置資訊 由於主控台的功能不同,通用 Windows 平台 (UWP) 遊戲開發人員需要能夠判斷遊戲執行的主控台類型,以便做出最佳利用硬體的執行階段選擇。 <gamingdeviceinformation.h> 中的遊戲裝置資訊 API 即可提供這項功能。
遊戲模式 通用 Windows 平台 (UWP) 的遊戲模式 API 可讓您利用 Windows 10 中的遊戲模式產生最佳化的遊戲體驗。 這些 API 位於 <expandedresources.h> 標頭檔中。
遊戲監視器 GameMonitor 類別允許應用程式取得裝置的遊戲監視權限狀態,並可能提示使用者啟用遊戲監視。
TruePlay TruePlay 提供一組新工具給開發人員,可讓他們打擊在其電腦遊戲中的作弊行為。 在 TruePlay 中註冊的遊戲會在受保護程序中執行,減輕一些常見的攻擊。 通用 Windows 平台 (UWP) 適用的 TruePlay API 允許遊戲及遊戲監控系統在 Windows 10 電腦上進行有限的互動。 這些 API 位於 <gamemonitor.h> 標頭中。 從 Windows 10 版本 1809 (10.0; 組建 17763) 開始,TruePlay 已從 Windows 中移除。 因此並未發佈 TruePlay 文件。
Xbox Live 我們已經為 Xbox Live 開發人員新增關於 UWP 遊戲和 Xbox 開發人員套件 (XDK) 遊戲的文件。
* 請參閱 Xbox Live 開發人員指南,以了解如何使用 Xbox Live API 將您的遊戲連線至 Xbox Live 社交遊戲網路。
* 任何 UWP 遊戲開發人員都可以利用 Xbox Live 創作者計畫,在電腦和 Xbox One 上開發並發行支援 Xbox Live 的遊戲。
* 請參閱 Xbox Live 開發人員計畫概觀,以取得提供給 Xbox Live 開發人員的程式和功能的相關資訊。

開發 Windows 應用程式

功能 描述
啟動 UWP 應用程式 現已提供下列新功能:
* 使用 StartupTask 類別來指定當使用者登入或系統開機時啟動的 UWP 應用程式。
* 識別 UWP 應用程式是否由命令列啟動
* 使用 RequestRestartAsync() 和 RequestRestartForUserAsync() API,以程式設計方式要求您的 UWP 應用程式重新啟動。
* 啟動 Windows 設定應用程式已更新,以反映新的 URI 配置,例如 ms-settings:storagesensems-settings:cortana-notifications 等等。
應用程式封裝 應用程式安裝程式已擴充為允許從網頁下載 UWP 應用程式套件。 此外,現在也能使用應用程式安裝程式下載一組相關應用程式套件。 請參閱新的使用應用程式安裝程式安裝 UWP 應用程式一節,以深入了解。
應用程式服務與延伸模組 我們加入了新指南建立和使用應用程式擴充功能,協助您撰寫和裝載通用 Windows 平台 (UWP) 應用程式擴充功能,透過使用者可從 Microsoft Store 安裝的套件來擴充應用程式。

我們加入了新指南透過服務、擴充功能和套件擴充您的應用程式,將 Windows 10 中您可用來擴充及組件化應用程式的各種技術分門別類。
背景工作 我們加入了三份指南,可協助您充分運用背景工作:

* 在背景無限期執行可在沒有任何背景或延伸執行節流的情況下,使用裝置上所有可用的資源。 這適用於企業 UWP 應用程式和不會提交至 Microsoft Store 的 UWP 應用程式。

* 從您的應用程式觸發背景工作可從您的應用程式中啟動背景工作。

* 在更新 UWP 應用程式時執行背景工作可建立在您的 UWP 應用程式更新時執行的背景工作。
Cortana 使用 Cortana 技能套件可新增並測試技能,以擴充 Cortana 的原有功能,並讓它與您的應用程式和服務互動。
傳統型橋接器 我們新增了三份指南,協助您新增適用於 Windows 10 傳統型應用程式的現代化體驗:
* 增強您的 Windows 10 傳統型應用程式指南可尋找和參考正確的檔案,然後撰寫程式碼來增強 UWP 體驗,讓 Windows 10 使用者眼睛為之一亮。
請參閱
* 使用現代化 UWP 元件擴充您的傳統型應用程式,以結合現代化 XAML UI 與其他必須在 UWP 應用程式容器中執行的 UWP 體驗。

* 將您的應用程式移轉到通用 Windows 平台可在您的 WPF、Windows Forms、UWP、Android 和 iOS 應用程式之間共用程式碼。
傳統型橋接器封裝 Visual Studio 引進了新的封裝專案,讓您不必執行以往封裝完全信任傳統型應用程式過程中需要執行的所有手動步驟。 只需加入封裝專案、參考桌面專案,然後按 F5 對您的應用程式進行偵錯。 不需進行任何手動調整。 這個有效率的全新體驗可以大幅改善舊版 Visual Studio 中所提供的體驗。
診斷和執行緒處理 新的診斷 API 提供執行應用程式的相關資訊:

* AppMemoryReport 類別提供應用程式總認可限制、私人認可使用量及其他項目的相關資訊。
* AppDiagnosticInfo 類別現在可以監控應用程式或工作的執行狀態,並提供執行狀態變更時的通知。
* MemoryManager 類別有新的方法來設定應用程式記憶體的使用量限制並報告預期的應用程式記憶體使用量限制。

您可以依照優先順序佇列工作,並使用 DispatcherQueue 類別在不同的執行緒上執行工作。 此功能也能透過 CreateDispatcherQueueController 功能在 Win32 上使用。
EdgeHTML 16 為 Microsoft Edge 和 JS 型通用 Windows 平台應用程式提供動力的 Web 平台已更新至 EdgeHTML 16,並且現在包含 F12 開發人員工具的重大改進、支援 CSS 格線版面配置,以及其他數個重要功能。

* Microsoft Edge 現在支援 CSS 格線版面配置。 格線版面配置定義二維的格線型版面配置系統,可提供比使用浮點數或指令碼定位更高的版面配置流暢度。

* Microsoft Edge F12 DevTools 文件已更新,改進穩定性和效能。 此外也加入新功能,用以最佳化您的開發體驗。

* 僅限 Microsoft Edge,WebVR 已新增支援運動控制器和多種 Windows Mixed Reality 頭戴式裝置。 WebVR 也已最佳化為支援高達每秒 90 個畫面格。

請參閱 Microsoft Edge 開發人員指南以取得完整的變更和新支援 API 清單。
地圖 3D 元素 您可以將三維物件新增到地圖。 您可以使用新的 MapModel3D 類別,從 3D 製造格式 (3MF) 檔案匯入 3D 物件。
地圖元素樣式 您可以使用兩個新的 MapElement 屬性來自訂地圖元素的外觀:MapStyleSheetEntryMapStyleSheetEntryState

* 您可以使用 MapStyleSheetEntry 屬性,確保您的地圖元素看起來像是基底地圖的一部分 (例如:將元素樣式設定為地圖樣式表中的現有元素,例如)。

* 您可以使用 MapStyleSheetEntryState 屬性,在地圖樣式表中運用預設狀態 (例如暫留已選取) 修改您的地圖元素外觀,或覆寫這些元素以建立您自己的。
地圖層 您可以新增感興趣的地點元素至地圖層,再直接繫結 XAML 至該層。 將您的元素分組為層。 然後,您就可以獨立操作每一層。 例如,每一層都有自己的事件組,讓您可以回應特定層的特定事件,以及執行該事件專屬的動作。
地圖地點資訊 您可以在 UI 元素上方、下方或側面的輕量彈出式視窗中,或使用者觸控的應用程式區域中,顯示地圖給使用者。 當使用者變更內容時,這個視窗就會自行關閉。 這讓使用者無需在應用程式或瀏覽器視窗之間切換,即可取得位置資訊。
地圖服務 想去觀光嗎? 使用新的 MapRouteOptimization.Scenic 值,可最佳化路徑以包含大部分景區道路,以及使用 MapRoute.IsScenic 來探索現有路徑是否包含景區道路。
媒體擷取 使用 MediaFrameReader 處理媒體畫面一文已更新,以顯示新的 MultiSource​Media​Frame​Reader 類別使用方式,可讓您從多個媒體來源取得時間相互關聯的畫面。

使用 MediaFrameReader 處理媒體畫面已經更新以包含緩衝畫面擷取模式,可讓應用程式要求依序提供取得的畫面給應用程式,而不會在應用程式處理先前的畫面時捨棄已取得的畫面。

此外,已使用包含一或多個媒體畫面來源的媒體畫面來源群組初始化 MediaCapture 物件時,您可以建立 MediaSource 物件,讓您在 XAML 頁面的 MediaPlayerElement 控制項中顯示媒體畫面。

如需詳細資訊,請參閱使用 MediaFrameReader 處理媒體畫面
媒體播放 媒體播放文章使用 MediaPlayer 播放音訊和視訊中加入了新章節。

* 使用 MediaPlayer 播放球面視訊小節告訴您如何播放球面編碼視訊,包括針對支援的格式調整視野及觀看方向。

* 以畫面伺服器模式使用 MediaPlayer 告訴您如何從使用 MediaPlayer 播放的媒體將畫面複製到 Direct3D 表面。 這會啟用像使用像素著色器套用即時效果這樣的案例。 範例程式碼示範使用 Win2D 快速實作視訊播放模糊效果。
朋友圈 朋友圈可讓使用者直接從應用程式釘選連絡人到他們的工作列。 了解如何將朋友圈支援加入您的應用程式。

* 朋友圈分享可讓使用者透過您的應用程式直接從工作列分享檔案。
* 朋友圈通知是一種新的快顯通知,使用者可以將此通知傳送給他們釘選的連絡人。
.NET Standard 2.0 通用 Windows 平台已完整實作 .NET Standard 2.0。 這個新標準版本包含大量增加的 .NET API 以及您最愛 NuGet 套件和第三方程式庫的相容性填充碼。

如果您想以其他平台作為目標,例如 iOS 和 Android,或如果您有傳統型應用程式並想要建立 UWP 應用程式,請將程式碼移至 .NET Standard 2.0 類別庫,然後在您應用程式的每個版本中重複使用該程式碼。
釘選到工作列 新的 TaskbarManager 類別可讓您要求使用者將您的應用程式釘選到工作列
服務點 我們加入了新的指南,可協助您開始使用點服務裝置。 內容涵蓋裝置列舉、檢查裝置功能、宣告裝置和裝置共用等主題。
語音辨識 您現在可以使用 SpeechRecognitionListConstraint 搭配 Web 服務 SpeechRecognitionTopicConstraint,透過提供一組您認為可能在聽寫時用到的網域特定關鍵字,來提高聽寫正確性。
使用者活動 新的 Windows.ApplicationModel.UserActivities API 可讓您將稍後可以在不同的裝置上繼續進行的使用者工作加以封裝。

發佈 Windows 應用程式以及從中獲利

本節中的功能在發行 Windows 1703 先前版本時已加入。 所有 Windows 開發人員都能使用這些功能,不需要更新 SDK。

功能 描述
帳戶管理 將 Azure AD 租用戶關聯至合作夥伴中心帳戶來新增多個帳戶使用者時,我們現在提供更大彈性。 您可以將多個 Azure AD 租用戶與單一合作夥伴中心帳戶產生關聯,或將單一 Azure AD 租用戶與多個合作夥伴中心帳戶產生關聯。
廣告 Microsoft Advertising SDK 現已可讓您在應用程式中顯示原生廣告。 原生廣告是以元件為基礎的廣告格式,其中每一項廣告創意 (例如標題、影像、描述和喚起行動文字) 都會當做個別元素傳送到您的應用程式。 原生廣告則目前僅供加入試驗計劃的開發人員使用,但我們很快就要將這項功能提供給所有的開發人員。
定價和可用性 新的價格與可用性選項可讓您排程價格變更設定精確的發行日期
Store 分析 API Microsoft Store 分析 API 現在提供一個方法,您可用來下載 CAB 檔案以取得應用程式中的錯誤
Store 清單 Store 清單已藉由新功能而獲得增強,用以吸引潛在使用者:
* 應用程式的 Store 清單現在可以包含預告片

* 您可以匯入和匯出 Store 清單來加快更新,尤其是在您的清單有許多語言版本時。
提交 API Microsoft Store 提交 API 現在可讓您使用應用程式提交來包含預告片遊戲選項
針對性優惠 針對性優惠讓您以特定客戶區隔為目標,透過有吸引力的個人化內容提高吸引力、留住客戶並創造營收。

範例

Lunch Scheduler \(午餐排程器\)

午餐排程器範例可排程您與朋友和同事共用午餐。 您建立午餐約會、邀請朋友前往感興趣的餐廳,接下來應用程式會負責所有受邀對象的午餐管理。 此應用程式會醒目提示下列項目:

  • 示範與各種服務整合,例如 Facebook、Microsoft Graph (用於驗證)、圖形作業和好友探索。
  • 可搭配 Yelp 和 Bing 地圖來提供餐廳建議。
  • 在 UWP 應用程式中納入 Fluent Design 系統元素,包括壓克力風格、顯色和連接動畫。

測驗遊戲

測驗遊戲應用程式 (遠端系統工作階段 API) 範例示範如何在測驗遊戲場景的內容中使用遠端系統工作階段 API。 主機傳送問題給近端裝置,然後參與者在自己的裝置上回答問題。

遠端系統工作階段 API 允許裝置裝載其他附近裝置可搜尋的工作階段。 隨後這些裝置可以加入此工作階段,然後將訊息傳送給主機和其他參與者。