Espandere l'app con servizi, estensioni e pacchetti

In Windows 10 sono disponibili molte tecnologie per estendere e componentizzare l'app. Questa tabella dovrebbe essere utile per determinare la tecnologia da usare in base ai requisiti. È seguita da una breve descrizione degli scenari e delle tecnologie.

Scenario Risorsa pacchetto Pacchetto di asset Pacchetto facoltativo Bundle flat Estensione dell'app Servizio app Streaming Install
Plug-in di codice di terzi ✔️
Plug-in di codice in-proc ✔️
Asset dell'esperienza utente (stringhe/immagini) ✔️ ✔️ ✔️ ✔️ ✔️
Contenuto on demand
(ad esempio, livelli aggiuntivi)
✔️ ✔️ ✔️
Licenze e acquisizioni separate ✔️ ✔️ ✔️
Acquisizione in-app ✔️ ✔️
Ottimizzare il tempo di installazione ✔️ ✔️ ✔️ ✔️
Ridurre il footprint del disco ✔️ ✔️
Ottimizzare la creazione di pacchetti ✔️ ✔️ ✔️
Ridurre il tempo di pubblicazione ✔️ ✔️ ✔️ ✔️

Descrizioni degli scenari (le righe nella tabella precedente)

Plug-ins di terzi

Codice che è possibile scaricare dallo Store ed eseguire dall'app. Ad esempio, le estensioni per il browser Microsoft Edge.

Plug-in di codice in-proc

Codice eseguito in-process con l'app. Può includere anche contenuto. Poiché il codice viene eseguito in-process, si presuppone un livello di attendibilità superiore. È possibile scegliere di non esporre questo tipo di estendibilità a terzi.

Asset dell'esperienza utente (stringa/immagini)

Asset dell'interfaccia utente, ad esempio stringhe localizzate, immagini e qualsiasi altro contenuto dell'interfaccia utente da considerare in base alle impostazioni locali o a qualsiasi altro motivo.

Contenuto on demand

Contenuto da scaricare in un secondo momento. Ad esempio, gli acquisti in-app che consentono di scaricare nuovi livelli, interfacce o funzionalità.

Licenze e acquisizioni separate

Possibilità di concedere in licenza e acquisire il contenuto indipendentemente dall'app.

Acquisizione in-app

Indica se è disponibile un supporto a livello di codice per acquisire il contenuto dall'interno dell'app.

Ottimizzare il tempo di installazione

Fornisce funzionalità per ridurre il tempo necessario per acquisire l'app dallo Store e avviare l'esecuzione.

Ridurre il footprint del disco Riduce le dimensioni di un'app includendo solo le app o le risorse necessarie.

Ottimizzare la creazione di pacchetti Ottimizza il processo di creazione di pacchetti delle app per app su larga scala o complesse.

Ridurre il tempo di pubblicazione Ridurre al minimo il tempo necessario per pubblicare l'app nello Store, nella condivisione locale o nel server Web.

Descrizioni delle tecnologie (le colonne della tabella precedente)

Risorsa pacchetto

I pacchetti di risorse sono pacchetti solo asset che consentono all'app di adattarsi a più dimensioni di visualizzazione e lingue di sistema. Il pacchetto di risorse è destinato alla lingua utente, alla scalabilità di sistema e alle funzionalità DirectX, consentendo di personalizzare l'app in base a diversi scenari utente. Anche se un pacchetto dell'app può contenere diverse risorse, il sistema operativo scaricherà solo le risorse pertinenti per ogni dispositivo utente, risparmiando larghezza di banda e spazio su disco.

I pacchetti asset del pacchetto di asset sono un'origine comune centralizzata di file eseguibili o non eseguibili da usare dall'app. Si tratta in genere di file non specifici del processore o del linguaggio. Ad esempio, può includere una raccolta di immagini in un pacchetto di asset e video in un altro pacchetto di asset, entrambi usati dall'app. Se l'app supporta più architetture e più lingue, questi asset potrebbero essere inclusi nel pacchetto di architettura o nel pacchetto di risorse, ma ciò significa anche che gli asset verranno duplicati più volte nei vari pacchetti di architettura, occupando spazio su disco. Se vengono usati pacchetti di asset, devono essere inclusi nel pacchetto dell'app generale una sola volta. Per meggiori informazioni, vedere Introduzione ai pacchetti di asset.

Pacchetto facoltativo

I pacchetti facoltativi vengono usati per integrare o estendere la funzionalità originale di un pacchetto dell'app. È possibile pubblicare un'app, seguita dalla pubblicazione di pacchetti facoltativi in un secondo momento o dalla pubblicazione simultanea dell'app e dei pacchetti facoltativi. Estendendo l'app tramite un pacchetto facoltativo, si hanno i vantaggi della distribuzione e della monetizzazione del contenuto come pacchetto di app separato. I pacchetti facoltativi sono in genere progettati per essere sviluppati dallo sviluppatore di app originale, poiché vengono eseguiti con l'identità dell'app principale (a differenza delle estensioni dell'app). A seconda della modalità di definizione del pacchetto facoltativo, è possibile caricare codice, asset o codice e asset dal pacchetto facoltativo all'app principale. Se si deve migliorare l'app con contenuti che possono essere monetizzati, concessi in licenza e distribuiti separatamente, i pacchetti facoltativi potrebbero essere la scelta giusta. Per informazioni dettagliate sull'implementazione, vedere Pacchetti facoltativi e creazione di set correlati.

Flat bundleI pacchetti di app flat bundle flat sono simili ai normali bundle di app, ad eccezione del fatto che invece di includere tutti i pacchetti dell'app all'interno della cartella, il bundle flat contiene solo riferimenti a tali pacchetti dell'app. Contenente riferimenti ai pacchetti dell'app anziché ai file stessi, un bundle flat ridurrà la quantità di tempo necessario per creare il pacchetto e scaricare un'app.

Estensione dell'app

Estensioni dell'app consentire all'app UWP di ospitare contenuto fornito da altre app UWP. È possibile individuare, enumerare e accedere a contenuto di sola lettura da queste app.

Se un'app supporta le estensioni, qualsiasi sviluppatore può inviare un'estensione per l'app. Pertanto, l'app host deve essere affidabile quando carica un'estensione con cui non è stata sottoposta a test preliminare. Le estensioni devono essere considerate non attendibili.

Le applicazioni non possono caricare il codice dalle estensioni. Se è necessaria l'esecuzione del codice, prendere in considerazione servizio app.

Servizio app

I servizi app di Windows consentono la comunicazione da app a app consentendo all'app UWP di fornire servizi a un'altra app di Windows universale. I servizi app consentono di creare servizi senza interfaccia utente che le app possono chiamare sullo stesso dispositivo e a partire da Windows 10, versione 1607, nei dispositivi remoti. Per informazioni dettagliate, vedere Creare e utilizzare un servizio app.

I servizi app sono app UWP che forniscono servizi ad altre app UWP. Sono analoghi ai servizi Web in un dispositivo. Un servizio app è eseguito come attività in background nell'app host e può fornire il proprio servizio ad altre app. Ad esempio, un servizio app potrebbe fornire un servizio scanner di codice a barre utilizzabile da altre app. O forse una suite enterprise di app ha un servizio app di controllo ortografico comune disponibile per le altre app nella suite.

Installazione in streaming di app UWP

Streaming Install è un modo per ottimizzare la modalità di distribuzione dell'app agli utenti. Invece di attendere il download dell'intera app prima di poterla usare, gli utenti possono interagire con l'app non appena è stata scaricata una parte necessaria. Spetta allo sviluppatore segmentare l'app in una sezione obbligatoria per l'attivazione e l'avvio di base e il contenuto aggiuntivo per il resto dell'app. Per altre informazioni e dettagli sull'implementazione, vedere Installazione streaming di app UWP.

Vedi anche

Creare e utilizzare un servizio app
Introduzione ai pacchetti di asset
Creazione del pacchetto con il layout di creazione di pacchetti
Pacchetti facoltativi e creazione di set correlati
Sviluppo con pacchetti di asset e riduzione dei pacchetti
Installazione streaming di app UWP
Creare bundle flat di pacchetti dell'app
Windows.ApplicationModel.AppService namespace
Spazio dei nomi Windows.ApplicationModel.Extensions