Condividi tramite


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

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

Nota

Se inizi a sviluppare app Windows, ti consigliamo di usare SDK per app di Windows e WinUI anziché UWP. Sebbene ancora supportata, la piattaforma UWP non è in fase di sviluppo attivo. Per altre informazioni, vedere Start developing Windows apps (Guida introduttiva allo sviluppo di app Windows.

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

Dove si inserisce la piattaforma UWP nella storia dello sviluppo Microsoft?

La piattaforma UWP è una scelta per la creazione di app eseguite su dispositivi Windows 10 e Windows 11 e possono essere combinate con altre piattaforme. Le app UWP possono usare le API Win32 e le classi di .NET (vedi Set di API per le app UWP, Dlls per le app UWP e .NET per le 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.
  • È possibile 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 dal Microsoft Store in tutti i dispositivi (o solo quelli specificati) eseguiti in Windows 10 o Windows 11. Il Microsoft Store offre diversi modi per guadagnare denaro nella tua app.
  • In grado di essere installata e disinstallata senza rischi o provocare il fenomeno della "degradazione del sistema".
  • Coinvolgente: usare riquadri animati, notifiche push e attività utente che interagiscono con Windows Timeline e Pick Up Where I Left Off 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 ha introdotto la Piattaforma UWP (Universal Windows Platform), che fornisce una piattaforma applicativa comune su ogni dispositivo che esegue Windows. Le API di base UWP sono uguali in tutti i dispositivi Windows. Se l'app usa solo le API di base, verrà eseguita in qualsiasi dispositivo Windows indipendentemente dal fatto che tu abbia come destinazione un PC desktop, Xbox, 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 vengono implementate da tutti i dispositivi Windows.

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

Se hai come destinazione le API universali, l'app può essere eseguita in tutti i dispositivi che eseguono 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.

È possibile scrivere l'app in modo che venga eseguita solo in un determinato tipo di dispositivo e quindi limitarne la distribuzione dal Microsoft Store solo a 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 con sistema operativo Windows

Windows consente di indirizzare l'interfaccia utente a più dispositivi con le funzionalità seguenti:

  • 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

Un app store unificato rende disponibile l'app su dispositivi Windows come PC, tablet, Xbox, HoloLens, hub Surface e Internet delle cose (IoT). È possibile inviare l'app allo Store e renderla disponibile per tutti i tipi di dispositivi o soltanto per quelli selezionati. Puoi inviare e gestire tutte le tue app per dispositivi Windows in un'unica posizione. Hai un'app desktop C++ che vuoi modernizzare con le funzionalità UWP e vendere 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 il 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 il Windows Runtime, l'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 è denominato Fluent. Il sistema Fluent Design è un set di funzionalità UWP combinate con le procedure consigliate per la creazione di app che eseguono in modo ottimale su tutti i tipi di dispositivi basati su 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. Design basics introduce la progettazione di un'app universal Windows. 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

Partner Center consente di gestire e inviare tutte le app per i dispositivi Windows in un'unica posizione. Vedere Pubblicare Windows app e giochi per informazioni su come inviare le app per la pubblicazione nel 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, vedere An Introduction to Building Windows Apps for Windows 10 Devices

Argomenti più avanzati

Relazione tra l'piattaforma UWP (Universal Windows Platform) e le API di Windows Runtime

Se stai sviluppando un'app per la Piattaforma UWP (Universal Windows Platform), puoi trarne molti vantaggi e comodità trattando i termini "Piattaforma UWP (Universal Windows Platform)" e "Windows Runtime (WinRT)" come più o meno 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à.

Le API Windows Runtime e WinRT sono un'evoluzione delle API di Windows. Originariamente, le app Windows sono state scritte usando API Win32 in stile C flat e a quelle sono state aggiunte API COM, DirectX un esempio importante. Tecnologie successive, ad esempio Windows Forms, macchine virtuali Windows, .NET e linguaggi gestiti, offrono anche un modo unico per scrivere app Windows con il proprio gusto di tecnologia API. Sotto le quinte, il Windows Runtime è la fase successiva di COM. A livello dell'interfaccia binaria dell'applicazione (ABI) effettiva, le sue radici in COM diventano visibili. Tuttavia, a differenza di COM, il Windows Runtime è stato progettato per essere chiamabile da un'ampia gamma di linguaggi di programmazione in modo più naturale. Di conseguenza, l'accesso al Windows Runtime viene reso disponibile tramite le proiezioni del linguaggio. Una proiezione nasconde i dettagli COM e offre un'esperienza di programmazione più naturale per un determinato linguaggio. È disponibile una proiezione del linguaggio Windows Runtime in C#, Visual Basic, C++ standard, JavaScript e così via. Inoltre, una volta inseriti in un pacchetto in modo appropriato, vedi Desktop Bridge, puoi chiamare api WinRT da un'app integrata in un'ampia gamma di modelli di applicazione: Win32, .NET, WinForms, macchine virtuali Windows e UWP.

La piattaforma UWP è un modello di applicazione basato sul Windows Runtime. Tecnicamente, il modello di applicazione UWP è basato su CoreApplication, anche se questo dettaglio potrebbe essere nascosto a seconda del linguaggio di programmazione scelto. La piattaforma UWP si presta alla scrittura di un singolo file binario che, se si sceglie, deve essere pubblicato nel Microsoft Store ed eseguito su un'ampia gamma di fattori di forma del dispositivo, come illustrato in precedenza. La portata del dispositivo dell'app UWP dipende dal subset di API Windows Runtime che limita la tua app alla chiamata o che chiami in modo condizionale.

Si spera che questa sezione abbia avuto successo nella descrizione della differenza tra la tecnologia sottostante Windows Runtime API e il meccanismo e il valore aziendale del piattaforma UWP (Universal Windows Platform).