Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Windows poskytuje několik technologií, které vaší aplikaci umožňují poskytovat funkce jiným aplikacím nebo využívat doplňky třetích stran. Tento článek porovnává dostupné možnosti rozšiřitelnosti pro desktopové aplikace Windows App SDK.
Přehled možností rozšiřitelnosti
| Technologie | Description | Požadovaná identita balíčku | Minimální operační systém |
|---|---|---|---|
| App Services | Komunikace požadavků a odpovědí mezi aplikacemi prostřednictvím AppServiceConnection |
Ano | Windows 10 1607 |
| Rozšíření aplikací | Model modulu plug-in – hostitelská aplikace zjišťuje obsah z balíčků rozšíření | Ano | Windows 10 1607 |
| Rozšíření balíčků | Širší rozšiřitelnost na úrovni balíčků s využitím uap17:PackageExtension |
Ano | Windows 11 |
| Volitelné balíčky | Další balíčky obsahu, které doplňují hlavní aplikaci | Ano | Windows 10 1709 |
| Balíčky prostředků | Jazykové zdroje, zdroje pro měřítko a přístupnost oddělené podle trhu | Ano | Systém Windows 10 |
Volba správné technologie
Použijte aplikační služby, když
- Potřebujete obousměrnou komunikaci mezi samostatnými aplikacemi.
- Aplikace příjemce odešle požadavek a čeká na odpověď.
- Chcete zpřístupnit rozhraní podobné rozhraní API pro jiné aplikace.
Příklad: Služba překladu, kterou můžou ostatní aplikace volat k překladu textu.
Používejte rozšíření aplikací, když
- Vaše aplikace potřebuje model modulů plug-in, kde třetí strany poskytují obsah, motivy nebo doplňky.
- Rozšíření jsou zjištěna za běhu z nainstalovaných balíčků.
- Rozšíření poskytují data nebo konfiguraci, ne spustitelný kód (spouštění kódu by mělo používat aplikační služby).
Příklad: Editor obrázků, který zjišťuje balíčky filtrů z nainstalovaných balíčků rozšíření.
Použití rozšíření balíčků v případech, kdy
- Pro Windows 11 potřebujete širší rozšiřitelnost na úrovni balíčků.
- Rozšíření potřebují přístup k více obsahu balíčku, než
PublicFoldermodel umožňuje.
Používejte volitelné balíčky, když
- Máte další obsah (DLC, prémiové funkce) distribuovaný jako samostatné balíčky.
- Obsah je vytvořený stejným vydavatelem.
Vzory architektury
App Service s vyhledáváním rozšíření
Kombinujte rozšíření aplikací se službami aplikací pro kompletní architekturu zásuvných modulů:
- Vaše hostitelská aplikace používá
AppExtensionCatalogke zjišťování nainstalovaných rozšíření. - Každé rozšíření deklaruje vlastnosti, které popisují jeho schopnosti.
- Když uživatel aktivuje rozšíření, hostitelská aplikace se připojí ke službě App Service rozšíření pro obousměrnou komunikaci.
┌─────────────────┐ ┌──────────────────┐
│ Host app │ │ Extension app │
│ │ │ │
│ AppExtension │◄────►│ AppExtension │
│ Catalog │ │ declaration │
│ │ │ │
│ AppService │◄────►│ AppService │
│ Connection │ │ provider │
└─────────────────┘ └──────────────────┘
Pouze rozšíření obsahu
Pro jednodušší scénáře, kdy rozšíření poskytují statický obsah (motivy, šablony, datové soubory):
- Hostitelská aplikace zjišťuje rozšíření prostřednictvím
AppExtensionCatalog. - Čte soubory z přípony
PublicFolder. - Není potřeba žádná aplikační služba.
Rozdíly od rozšiřitelnosti UPW
Technologie rozšiřitelnosti popsané zde fungují stejným způsobem jako desktopové aplikace Windows App SDK jako v UPW s jedním požadavkem: identita balíčku MSIX. Všechny funkce rozšiřitelnosti spoléhají na manifest balíčku pro deklarace a katalog balíčků ke zjišťování.
Pokud je vaše desktopová aplikace rozbalená, nemůžete tyto technologie rozšiřitelnosti použít. Zvažte alternativní přístupy, například:
- Rozhraní zásuvných modulů na bázi COM
- Zjišťování přípon založených na systému souborů
- Pojmenované kanály nebo jiné mechanismy IPC
Související obsah
Windows developer