Condividi tramite


Che cos'è un'app UWP (Universal Windows Platform)?

UWP è uno dei numerosi modi per creare applicazioni client per Windows.

Nota

Se stai iniziando a sviluppare app di Windows, ti consigliamo di usare Windows App SDK e WinUI anziché UWP. Sebbene ancora supportata, la piattaforma UWP non è in fase di sviluppo attivo. Per altre informazioni, vedi Iniziare a sviluppare app di Windows .

Per scaricare gli strumenti necessari per iniziare a creare app di Windows, vedi Installare gli strumenti per Windows App SDK e quindi scrivere la prima app.

Quale posto occupa UWP nel progetto di sviluppo Microsoft?

UWP è la soluzione ideale per creare app che vengono eseguite nei dispositivi Windows 10 e Windows 11 e può essere combinato con altre piattaforme. Le app UWP possono usare le API Win32 e le classi .NET (vedi Set di API per app UWP, Dll per app UWP e .NET per app UWP).

Caratteristiche di un'app UWP

Un'app UWP è:

  • Sicura: le app UWP dichiarano le risorse del dispositivo e i dati a cui accedono. L'utente deve autorizzare tale accesso.
  • In grado di usare un'API comune in tutti i dispositivi che eseguono Windows.
  • In grado di usare funzionalità specifiche del dispositivo e di adattare l'interfaccia utente alle dimensioni, alle risoluzioni e ai DPI dello schermo di dispositivi diversi.
  • Disponibile nel Microsoft Store in tutti i dispositivi (o solo a quelli specificati) che eseguono Windows 10 o Windows 11. Il Microsoft Store offre diversi modi per realizzare profitti con un'app.
  • In grado di essere installata e disinstallata senza rischi o provocare il fenomeno della "degradazione del sistema".
  • Coinvolgente: è possibile usare riquadri animati, notifiche push e attività utente che interagiscono con Sequenza temporale di Windows e la funzionalità di ripristino della ricerca dal punto in cui è stata interrotta di Cortana per coinvolgere gli utenti.
  • Programmabile in C#, C++, Visual Basic e JavaScript. Per l'interfaccia utente usare WinUI, XAML, HTML o DirectX.

Diamo un'occhiata a queste caratteristiche nel dettaglio.

Protezione

Le app UWP dichiarano nel proprio manifesto le funzionalità del dispositivo di cui necessitano, ad esempio l'accesso al microfono, alla posizione, alla Webcam, ai dispositivi USB, ai file e così via. L'utente deve accettare e autorizzare tale accesso prima che all'app sia consentito l'uso della funzionalità.

Una superficie API comune per tutti i dispositivi

Windows 10 introduce la piattaforma UWP (Universal Windows Platform), una piattaforma per app comune disponibile per tutti i dispositivi che eseguono Windows 10. Le API di base UWP sono le stesse in tutti i dispositivi Windows. Se l'app usa solo le API di base, funzionerà in qualsiasi dispositivo Windows, indipendentemente dal fatto che sia destinata a un PC desktop, a Xbox o a un visore VR realtà mista e così via.

Un'app UWP scritta in C++/WinRT ha accesso alle API Win32 che fanno parte della piattaforma UWP. Queste API Win32 sono implementate in tutti i dispositivi Windows.

Gli SDK di estensione espongono le funzionalità esclusive di tipi di dispositivi specifici

Se la destinazione sono le API universali, l'app può essere eseguita in tutti i dispositivi con sistema operativo Windows 10 o versione successiva. Tuttavia, se desideri che la tua app UWP sfrutti le API specifiche del dispositivo, puoi farlo anche tu.

Gli SDK di estensione permettono di chiamare API specializzate per dispositivi diversi. Se, ad esempio, l'app UWP è destinata a un dispositivo IoT, è possibile aggiungere l'SDK di estensione IoT al progetto per usufruire delle funzionalità specifiche dei dispositivi IoT. Per altre informazioni sull'aggiunta di SDK di estensione, vedere la sezione SDK di estensione in Programmazione con SDK di estensione.

L'app può essere scritta in modo che venga eseguita solo su un particolare tipo di dispositivo, quindi limitarne la distribuzione nel Microsoft Store a solo quel tipo di dispositivo. In alternativa, è possibile eseguire test condizionali sulla presenza di un'API in fase di esecuzione e adattare il comportamento dell'app di conseguenza. Per altre informazioni, vedere la sezione Scrittura di codice in Programmazione con SDK di estensione.

Input e controlli adattivi

Gli elementi dell'interfaccia utente rispondono alle dimensioni e ai DPI dello schermo regolando il layout e le proporzioni dell'app. Le app UWP funzionano bene con più tipi di input, ad esempio tastiera, mouse, tocco, penna e periferiche di gioco. Se è necessario personalizzare ulteriormente l'interfaccia utente in base a dimensioni di schermo o dispositivi specifici, sono disponibili nuovi strumenti e pannelli di layout che permettono di progettare un'interfaccia utente in grado di adattarsi ai vari dispositivi e fattori di forma su cui l'app potrebbe essere in esecuzione.

Dispositivi Windows

Con le funzionalità seguenti Windows ti aiuta a progettare l'interfaccia utente per più dispositivi di destinazione:

  • Controlli universali e pannelli di layout facilitano l'ottimizzazione dell'interfaccia utente in base alla risoluzione dello schermo del dispositivo. I controlli come i pulsanti e i dispositivi di scorrimento, ad esempio, si adattano automaticamente alla densità DPI e alle dimensioni dello schermo del dispositivo. I pannelli di layout aiutano a regolare il layout del contenuto in base alle dimensioni dello schermo. Il ridimensionamento adattivo si modifica in base alle differenze di risoluzione e DPI di più dispositivi.
  • La gestione comune dell'input permette di ricevere l'input tramite tocco, una penna, un mouse, una tastiera oppure una periferica di gioco.
  • Strumenti che facilitano la progettazione dell'interfaccia utente in modo che si adatti alle diverse risoluzioni dello schermo.

Alcuni aspetti dell'interfaccia utente della tua app si adatteranno automaticamente a più dispositivi. Potrebbe tuttavia essere necessario adattare la progettazione dell'esperienza utente della tua app in base al dispositivo su cui viene eseguita. Un'app di foto, ad esempio, dovrebbe adattare l'interfaccia utente quando viene eseguita su un piccolo dispositivo palmare, per garantirne un utilizzo ideale con una sola mano. Quando l'app di foto viene eseguita su un computer desktop, l'interfaccia utente dovrebbe adattarsi per sfruttare al meglio lo spazio aggiuntivo sullo schermo.

Esiste un solo Store per tutti i dispositivi

Uno Store per app unificato rende l'app disponibile ai dispositivi Windows, ad esempio PC, tablet, Xbox, HoloLens, Surface Hub e ai dispositivi Internet delle cose (IoT). È possibile inviare l'app allo Store e renderla disponibile per tutti i tipi di dispositivi o soltanto per quelli selezionati. In questo modo, invierai e gestirai tutte le tue app per i dispositivi Windows in un'unica posizione. Si desidera modernizzare un'app desktop C++ dotandola di funzionalità della piattaforma UWP e venderla nel Microsoft Store? Nessun problema.

Le app UWP si integrano con Application Insights per dati di telemetria e analisi dettagliati, uno strumento fondamentale per comprendere gli utenti e migliorare le app.

Le app UWP possono essere incluse in un pacchetto con MSIX e distribuite tramite Microsoft Store o in altri modi. MSIX consente l'aggiornamento delle app indipendentemente dalla modalità di distribuzione, vedere Aggiornare i pacchetti di app non pubblicati dallo Store dal codice.

Monetizzare la tua app

È possibile scegliere come monetizzare l'app. Esistono diversi modi per realizzare profitti con un'app. Tutto quello che occorre fare è scegliere il più adatto, ad esempio:

  • Il download a pagamento è la soluzione più semplice. Basta indicare il prezzo.
  • Le versioni di valutazione consentono agli utenti di provare l'app prima di acquistarla, offrendo una maggiore facilità di scoperta e conversione rispetto alle più tradizionali opzioni "freemium".
  • Prezzi scontati per incentivare gli utenti.
  • Acquisti in-app.

Consente di offrire informazioni pertinenti e in tempo reale agli utenti per invogliarli a tornare

Esistono molti modi per mantenere alto l'interesse degli utenti verso un'app UWP:

  • Riquadri animati e riquadri nella schermata di blocco che a colpo d'occhio presentano informazioni contestualmente rilevanti e tempestive dal tuo applicazione.
  • Notifiche push che visualizzano avvisi importanti in tempo reale per attirare l'attenzione dell'utente.
  • Le attività utente consentono agli utenti di riprendere da dove avevano lasciato, anche cambiando dispositivo.
  • Il Centro Operativo organizza le notifiche dalla tua app.
  • Con l'esecuzione in background e i trigger l'app si attiva quando serve all'utente.
  • La tua app può usare dispositivi vocali e Bluetooth a basso consumo per aiutare gli utenti a interagire con il mondo che li circonda.
  • Integra Cortana per aggiungere la funzionalità dei comandi vocali all'app.

Usa un linguaggio che già conosci

Le app UWP usano Windows Runtime, un'API nativa fornita dal sistema operativo. Questa API è implementata in C++ ed è supportata in C#, Visual Basic, C++ e JavaScript. Alcune opzioni per la scrittura di app UWP includono:

  • Interfaccia utente XAML e C#, VB o C++
  • Interfaccia utente DirectX e C++
  • JavaScript e HTML
  • WinUI

Effettuare la configurazione

Controlla Configurare per scaricare gli strumenti necessari per iniziare a sviluppare app e quindi scrivere la tua prima app.

Progettare l'app

Il sistema di progettazione Microsoft si chiama Fluent. Il sistema Fluent Design è un set di funzionalità UWP e procedure consigliate per la creazione di app che funzionano in modo ottimale in tutti i tipi di dispositivi Windows. Le esperienze con Fluent si adattano perfettamente su tutti i dispositivi, dai tablet ai portatili, dai PC ai televisori e ai dispositivi di realtà virtuale. Vedi il sistema Fluent Design per le app UWP per un'introduzione a Fluent Design.

Una buona progettazione è il processo di decidere come gli utenti interagiranno con l'app, oltre a come apparirà e funzionerà. L'esperienza utente ha un ruolo fondamentale nella determinazione del livello di gradimento dell'app da parte degli utenti, quindi non trascurare questo passaggio. Le nozioni di base sulla progettazione illustrano come progettare un'app di Windows universale. Consulta le informazioni introduttive sui dispositivi per aiutarti a riflettere sull'esperienza di interazione della tua app nei diversi fattori di forma che intendi prendere come riferimento.

Oltre all'interazione su dispositivi diversi, pianificare l'app per sfruttare i vantaggi dell'uso in più dispositivi. Ad esempio:

Aggiungere servizi

Invia l'app a Windows Store

Il Centro per i partner consente di gestire e inviare tutte le app per i dispositivi Windows in un'unica posizione. Vedi Pubblicare app e giochi di Windows per informazioni su come inviare le app per la pubblicazione in Microsoft Store.

Le nuove funzionalità semplificano i processi e al tempo stesso ti garantiscono un maggiore controllo. Troverai anche report analitici dettagliati combinati con i dettagli dei proventi, modi per promuovere la tua app e interagire con i tuoi clienti e molto altro ancora.

Per altre informazioni introduttive, vedi Introduzione alla creazione di app di Windows per dispositivi Windows 10

Argomenti più avanzati

Relazione tra la piattaforma UWP e le API di Windows Runtime

Se si sta creando un'app UWP (Universal Windows Platform), è possibile ottenere numerosi vantaggi trattando i termini "Universal Windows Platform (UWP)" e "Windows Runtime (WinRT)" come quasi sinonimi. Ma è possibile guardare sotto le quinte della tecnologia, e determinare esattamente qual è la differenza tra queste idee. L'ultima sezione è riservata a chi ha questa curiosità.

Windows Runtime, e le API WinRT, sono un'evoluzione delle API di Windows. Windows è stato programmato in origine con semplici API Win32 di tipo C. A questi sono state aggiunte API COM (DirectX è un esempio prominente). Windows Form, WPF, .NET e i linguaggi gestiti hanno dato il loro contributo alla modalità di scrittura delle app di Windows e integrato le proprie caratteristiche nella tecnologia API. Windows Runtime è, osservando in maniera più approfondita, la fase successiva di COM. A livello dell'interfaccia binaria dell'applicazione (ABI) effettiva, le sue radici in COM diventano visibili. Ma Windows Runtime è stato progettato per essere chiamato da un'ampia gamma di linguaggi di programmazione diversi. È possibile richiamarlo in un modo che è molto naturale per ciascuno di questi linguaggi. A tal fine, l'accesso a Windows Runtime viene reso disponibile tramite le cosiddette proiezioni di linguaggi. È presente una proiezione di linguaggio di Windows Runtime in C#, in Visual Basic, in C++, standard, in JavaScript e così via. Inoltre, una volta inseriti in un pacchetto in modo appropriato (vedi Desktop Bridge), puoi chiamare le API WinRT da un'app integrata in una vasta gamma di modelli di applicazione: Win32, .NET, WinForms e WPF.

E, naturalmente, è possibile chiamare le API di WinRT dall'app UWP. La piattaforma UWP è un modello di applicazione integrato in Windows Runtime. Tecnicamente, il modello di applicazione UWP è basato su CoreApplication, anche se questo dettaglio potrebbe essere nascosto dall'utente, a seconda del linguaggio di programmazione scelto. Come è illustrato in questo argomento, da un punto di vista della proposta di valore, la piattaforma UWP si presta alla scrittura di un unico file binario che è possibile, se lo si desidera, pubblicare nel Microsoft Store ed eseguire su uno qualsiasi di un'ampia gamma di fattori di forma dei dispositivi. La portata del tuo dispositivo per l'app UWP dipende dal subset delle API di Windows Runtime di cui limiti le chiamate nell'app o che chiami in modo condizionale.

Ci auguriamo che questa sezione sia riuscita a spiegare la differenza tra la tecnologia sottostante delle API di Windows Runtime e il meccanismo e il valore di business della piattaforma UWP.