透過服務、延伸模組和套件擴充您的應用程式
Windows 10 有許多技術可擴展和元件化您的應用程式。 下表應協助您根據需求來判斷應該使用的技術。 接下來是案例和技術的簡短描述。
案例 | 資源套件 | 資產套件 | 選用套件 | 一般套件組合 | 應用程式延伸模組 | App Service | 串流安裝 |
---|---|---|---|---|---|---|---|
第三方程式代碼外掛程式 | ✔️ | ||||||
In-proc 程式代碼外掛程式 | ✔️ | ||||||
UX 資產 (字串/影像) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ||
隨選內容 (例如,其他層級) |
✔️ | ✔️ | ✔️ | ||||
個別授權和取得 | ✔️ | ✔️ | ✔️ | ||||
應用程式內擷取 | ✔️ | ✔️ | |||||
最佳化安裝時間 | ✔️ | ✔️ | ✔️ | ✔️ | |||
降低磁碟使用量 | ✔️ | ✔️ | |||||
最佳化封裝 | ✔️ | ✔️ | ✔️ | ||||
減少發佈時間 | ✔️ | ✔️ | ✔️ | ✔️ |
案例描述 (上表中的資料列)
第三方外掛程式
您可以從市集下載並從您的應用程式執行的程式碼。 例如,Microsoft Edge 瀏覽器的延伸模組。
In-proc 程式代碼外掛程式
使用您的應用程式執行同程序的程序代碼。 也可能包含內容。 因為程式代碼會在程序中執行,因此會假設較高的信任層級。 您可以選擇不向第三方公開這種擴充性。
UX 資產 (字串/影像)
使用者介面資產,例如本地化字串、影像以及您想要根據區域設定或任何其他原因考慮的任何其他 UI 內容。
隨選內容
您想要稍後下載的內容。 例如,可讓您下載新層級、面板或功能的應用程式內購買。
個別授權和取得
授權和取得內容的能力,與應用程式無關。
應用程式內擷取
指示是否有編程支援從應用程式內獲取內容。
最佳化安裝時間
提供減少從商店獲取應用程式並開始執行所需時間的功能。
減少磁碟使用量僅包含必要的應用程式或資源,以減少應用程式的大小。
最佳化封裝最佳化大規模或複雜應用程式的應用程式封裝程式。
減少發佈時間最小化在市集、本機共用或網頁伺服器中發佈應用程式所需的時間。
技術描述 (上表中的資料行)
資源套件
資源套件是純資產套件,可讓您的應用程式適應多種顯示尺寸和系統語言。 資源套件以使用者語言、系統規模和 DirectX 功能為目標,可讓應用程式針對各種使用者案例量身打造。 儘管應用程式套件可以包含多個資源,但作業系統只會下載每個使用者裝置的相關資源,從而節省頻寬和磁碟空間。
資產套件資產套件是一般、集中的可執行檔來源,或可供您的應用程式使用的非可執行檔。 這些通常是非處理器或特定於語言的檔案。 例如,這可能包括一個資源包中的一組圖片和另一個資源包中的影片集合,這兩者均由應用程式使用。 如果您的應用程式支援多種架構和多種語言,這些資產可以包含在架構包或資源包中,但這也意味著資產將在各種架構包中重複多次,從而佔用磁碟空間。 如果使用資產套件,只需在整個應用程式包中包含一次即可。 若要深入瞭解,請參閱資產套件簡介。
選用套件
選用套件可用來補充或擴充應用程式套件的原始功能。 您可以發佈應用程式、稍後再發佈選用套件,或同時發佈應用程式和選擇性套件。 透過透過可選套件擴展您的應用程式,您可以將內容作為單獨的應用程式套件進行分發和貨幣化。 可選包通常由原始應用程式開發人員開發,因為它們以主應用程式的身份執行 (與應用程式延伸模組不同)。 根據您定義選擇性套件的方式,您可以將程式代碼、資產或程式代碼和資產從選擇性套件載入至主要應用程式。 如果您需要使用可分別獲利、授權和散發的內容來增強您的應用程式,則選擇性套件可能是您的正確選擇。 如需實作詳細資料,請參閱選擇性套件和相關集合撰寫。
一般組合包一般組合包應用程式套件與常規應用程式套件類似,不同之處在於一般組合包不包含資料夾中的所有應用程式套件,而是僅包含對這些應用程式套件的參考。 透過包含對應用程式套件的參考資料而不是檔案本身,一般組合包將減少打包和下載應用程式所需的時間。
應用程式延伸模組
應用程式延伸模組您的 UWP 應用程式裝載其他 UWP 應用程式所提供的內容。 探索、列舉並存取來自那些應用程式的唯讀內容。
如果應用程式支援延伸模組,任何開發人員都可以提交應用程式的延伸模組。 因此,當主機應用程式載入尚未預先測試的延伸模組時,主機應用程式必須健全。 延伸模組應該視為不受信任。
應用程式無法從延伸模組載入程式代碼。 如果您需要程式代碼執行,請考慮使用應用程式服務。
應用程式服務
Windows 應用程式服務可讓 UWP 應用程式為另一個通用 Windows 應用程式提供服務,從而實現應用程式間通訊。 應用程式服務可讓您建立應用程式可以在相同裝置上呼叫的無 UI 服務,並從遠端裝置上的 Windows 10 版本 1607 開始。 有關詳細資訊,請參閱建立和使用應用程式服務。
應用程式服務是向其他 UWP 應用程式提供服務的 UWP 應用程式。 它們類似於裝置上的 Web 服務。 應用程式服務在主控 App 中以背景工作方式執行,並且可以將其服務提供給其他 App。 例如,應用程式服務可能會提供其他 App 可以使用的條碼掃描器服務。 或者,企業應用程式套件有常見的拼字檢查應用程式服務,可供套件中的其他應用程式使用。
UWP 應用程式串流安裝
串流安裝是將應用程式傳遞給使用者方式最佳化的方式。 使用者不必等到整個應用程式下載才能使用,而是只要下載必要的部分,使用者就可以與應用程式互動。 身為開發人員,您必須將應用程式分割成基本啟用和啟動的必要區段,以及其餘應用程式的其他內容。 如需詳細資訊和實作詳細數據,請參閱 UWP App 串流安裝。
另請參閱
建立和使用應用程式服務
資產套件簡介
使用封裝配置的套件建立
選用套件及相關集合的製作
使用資產套件與套件摺疊進行開發
UWP 應用程式串流安裝
一般套件組合應用程式套件
Windows.ApplicationModel.AppService 命名空間
Windows.ApplicationModel.Extensions 命名空間