Novità di Windows 10 per sviluppatori, build 16299

Windows 10 build 16299 (noto anche come Fall Creators Update o versione 1709), in combinazione con Visual Studio 2019 e l'SDK aggiornato, fornisce strumenti, funzionalità ed esperienze per creare straordinarie app UWP. Installa gli strumenti e l'SDK in Windows 10 e sarai pronto per creare una nuova app di Windows universale o per scoprire come usare il codice di app esistente in Windows.

Questo articolo include una raccolta di funzionalità nuove e migliorate e indicazioni interessanti per gli sviluppatori in questa versione di Windows. Per un elenco completo dei nuovi spazi dei nomi aggiunti a Windows SDK, vedere la pagina relativa alle modifiche delle API per Windows 10 build 16299. Per altre informazioni sulle funzionalità di rilievo di Windows 10, vedere Cosa rende così speciale Windows 10. Inoltre, vedi le funzionalità della piattaforma di sviluppo Windows per una panoramica generale delle aggiunte passate e future alla piattaforma Windows.

Progettazione e interfaccia utente

Funzionalità Descrizione
XAML condizionale Ora è possibile usare XAML condizionale per creare app adattive per la versione. L'XAML condizionale consente di usare il metodo ApiInformation.IsApiContractPresent nel markup XAML, in modo da poter impostare le proprietà e creare istanze degli oggetti nel markup in base alla presenza di un'API, senza dover impiegare code-behind.
Toolkit di progettazione I toolkit e le risorse di progettazione per le app UWP sono stati estesi con l'aggiunta dei toolkit Sketch e Adobe XD. I toolkit precedenti sono stati aggiornati e rinnovati e forniscono controlli e modelli di layout più solidi per le app UWP. Inoltre, nuovi esempi e strumenti sono stati aggiunti per fornire modelli e ispirazione.
Effetti di Fluent Design Questi nuovi effetti fanno parte del sistema di Fluent Design e usano la profondità, la prospettiva e il movimento per aiutare gli utenti a focalizzare la propria attenzione su elementi importanti dell'interfaccia utente. Il
* materiale acrilico è un tipo di pennello che crea trame trasparenti.
* L'effetto parallasse aggiunge profondità e prospettiva tridimensionale all'app.
* Reveal evidenzia gli elementi importanti dell'app.
Per altre informazioni, vedere la panoramica di Fluent Design.
Tasti di scelta rapida I tasti di scelta rapida o le abbreviazioni da tastiera migliorano l'accessibilità e l'usabilità dell'app. Offrono agli utenti un modo intuitivo per richiamare le azioni o i comandi comuni senza esplorare l'interfaccia utente dell'app e possono essere configurati proprio per l'ambito necessario alla loro funzione.
Input penna Le API CoreIncrementalInkStroke consentono la creazione di singoli tratti input penna che si possono sottoporre al rendering incrementale usando singoli oggetti InkPoint.

Le API CoreInkPresenterHost consentono di ospitare un oggetto InkPresenter senza un controllo InkCanvas associato.
Controller radiale Le API RadialControllerConfiguration sono state aggiornate per offrire la possibilità di definire l'ambito del menu RadialController per il processo o la visualizzazione di un'app.
Riquadri animati Aggiungere riquadri secondari dalle app Win32 per Desktop Bridge.
Notifiche di tipo avviso popup Usare l'aggiornamento in sospeso sui pulsanti per creare l'interattività a più passaggi all'interno degli avvisi di tipo popup.
Controlli dell'interfaccia utente Questi nuovi controlli rendono più semplice la compilazione rapida di un'interfaccia utente dall'aspetto ottimale.
* Il controllo selezione colori consente agli utenti di esplorare e selezionare colori.
* Il controllo visualizzazione struttura rende più semplice aggiungere uno spostamento di primo livello all'app.
* Il controllo immagine di persona consente di visualizzare l'immagine avatar di una persona.
* Il controllo valutazione consente agli utenti di visualizzare e impostare facilmente valutazioni che riflettono i gradi di soddisfazione per contenuto e servizi.
Voce e tono Abbiamo aggiunto nuove linee guida per la voce e il tono nelle app UWP per fornire consigli per la scrittura del testo nell'app. Indipendentemente dall'app creata, è importante usare una lingua semplice e amichevole, adatta a comunicare informazioni chiare e precise.

Giochi

Funzionalità Descrizione
Trasmissione di giochi Le nuove API dello spazio dei nomi Windows.Media.AppBroadcasting consentono all'app di avviare l'interfaccia utente di trasmissione del gioco fornita dal sistema.
Inoltre è possibile effettuare la registrazione per gli eventi che notificano all'app quando la trasmissione viene avviata o arrestata. Le nuove API nello spazio dei nomi Windows.Media.AppRecording consentono di registrare audio e video e di acquisire screenshot del gioco.
È possibile anche fornire i metadati che il sistema incorpora nei flussi di acquisizione e trasmissione, consentendo alle app di offrire esperienze di visualizzazione che vengono sincronizzate con gli eventi di gioco. Per altre informazioni su queste funzionalità, vedere Acquisizione e trasmissione dei giochi.
Sovrimpressione della chat di gioco La classe GameChatOverlay fornisce i metodi per ottenere l'istanza di sovrimpressione predefinita della chat di gioco, impostare la posizione della sovrimpressione desiderata e aggiungere i messaggi.
Informazioni sui dispositivi di gioco A causa della diversità delle funzionalità delle console, gli sviluppatori di giochi della piattaforma UWP (Universal Windows Platform) necessitano di un modo per determinare il tipo di console su cui è in esecuzione il gioco per poter effettuare le scelte in fase di esecuzione e usare al meglio l'hardware. Le API delle informazioni sul dispositivo di gioco in <gamingdeviceinformation.h> forniscono questa funzionalità.
Modalità gioco Con le API della Modalità gioco per la piattaforma UWP (Universal Windows Platform) è possibile produrre l'esperienza di gioco più ottimizzata sfruttando la modalità di gioco di Windows 10. Queste API si trovano nell'intestazione <expandedresources.h>.
Monitoraggio del gioco La classe GameMonitor consente a un'app di ottenere lo stato di autorizzazione a monitorare il gioco del dispositivo ed eventualmente richiedere all'utente di abilitare il monitoraggio del gioco.
TruePlay TruePlay offre agli sviluppatori un nuovo set di strumenti per combattere le frodi nei giochi per PC. Un gioco registrato in TruePlay verrà eseguito in un processo protetto che consente di contenere una classe di attacchi comuni. Le API TruePlay per la piattaforma UWP (Universal Windows Platform) consentono un'interazione limitata fra il gioco e il sistema di monitoraggio del gioco nei PC Windows 10. Queste API si trovano nell'intestazione <gamemonitor.h>. A partire da Windows 10, versione 1809 (10.0; Build 17763), TruePlay è stato rimosso. La documentazione di TruePlay non è pubblicata.
Xbox Live Abbiamo aggiunto la documentazione per gli sviluppatori di Xbox Live per i giochi della piattaforma UWP e di Xbox Developer Kit (XDK).
* Per imparare a usare le API Xbox Live per collegare il gioco alla rete di giochi social di Xbox Live, vedere la Guida per gli sviluppatori di Xbox Live.
* Grazie al Programma per creatori Xbox Live, qualsiasi sviluppatore di giochi per la piattaforma UWP è in grado di sviluppare e pubblicare un gioco abilitato per Xbox Live sia sul PC che su Xbox One.
* Per informazioni sui programmi e sulle funzionalità disponibili per gli sviluppatori di Xbox Live, vedere la Panoramica del programma per sviluppatori di Xbox Live.

Sviluppare app di Windows

Funzionalità Descrizione
Attivazione delle app UWP Sono ora disponibili le nuove funzionalità seguenti:
* Usare la classe StartupTask per specificare che un'app UWP viene avviata all'accesso dell'utente o all'avvio del sistema.
* Stabilire se un'app UWP è stata avviata dalla riga di comando.
* Richiedere a livello di codice che l'app UWP venga riavviata tramite le API RequestRestartAsync() e RequestRestartForUserAsync(). La sezione
* Avviare l'app Impostazioni di Windows è stata aggiornata per riflettere i nuovi schemi URI, ad esempio ms-settings:storagesense, ms-settings:cortana-notifications e altri.
Creazione di pacchetti dell'app Il Programma di installazione app è stato esteso per consentire il download dei pacchetti dell'app UWP da una pagina Web. Inoltre, ora con il Programma di installazione app possono essere scaricati i set correlati di un pacchetto dell'app. Vedere la nuova sezione Installare le app UWP con il programma di installazione app per altre informazioni.
Servizi ed estensioni delle app Abbiamo aggiunto una nuova guida, Creare e usare un'estensione di app, per aiutare a scrivere e ospitare estensioni di app UWP (Universal Windows Platform) che consentono di estendere l'app tramite pacchetti che gli utenti possono installare da Microsoft Store.

Abbiamo aggiunto una nuova guida Espandere l'app con servizi, estensioni e pacchetti, che classifica le diverse tecnologie in Windows 10 che consentono di estendere e componentizzare l'app.
Attività in background Sono state aggiunte tre guide che consentono di sfruttare le attività in background:

* Esecuzione in background a tempo indeterminato per usare tutte le risorse disponibili in un dispositivo senza alcuna limitazione dell'esecuzione in background o estesa. Questo vale per le app UWP aziendali e le app UWP che non saranno inviate a Microsoft Store.

* Attivare un'attività in background dall'interno dell'app per attivare un'attività in background dall'interno dell'app.

* Eseguire un'attività in background quando l'app UWP viene aggiornata per creare un'attività in background che viene eseguita quando l'app UWP viene aggiornata.
Cortana Usare Cortana Skills Kit per aggiungere e testare le competenze per estendere le funzionalità tipiche di Cortana e interagire con app e servizi.
Desktop Bridge Sono state aggiunte tre guide che consentono di aggiungere esperienze moderne alle applicazioni desktop in Windows 10: guida
* Migliorare l'applicazione desktop per Windows 10per trovare e fare riferimento ai file corretti e quindi scrivere codice per accendere le esperienze UWP per gli utenti di Windows 10.

* Estendere l'applicazione desktop con componenti UWP moderni per incorporare le interfacce utente XAML moderne e altre esperienze della piattaforma UWP che devono essere eseguite in un contenitore di app UWP.

* Eseguire la migrazione dell'applicazione alla piattaforma UWP per condividere il codice tra le applicazioni WPF, Windows Form, UWP, Android e iOS.
Creazione di pacchetti Desktop Bridge Visual Studio introduce un nuovo progetto per la creazione dei pacchetti che elimina tutti i passaggi manuali che erano necessari per creare il pacchetto di un'applicazione desktop attendibile. È sufficiente aggiungere un progetto di creazione del pacchetto, fare riferimento al progetto desktop e premere F5 per eseguire il debug dell'app. Non sono necessarie modifiche manuali. Questa nuova esperienza ottimizzata costituisce un notevole miglioramento rispetto all'esperienza disponibile nella versione precedente di Visual Studio.
Diagnostica e threading Le nuove API di diagnostica forniscono informazioni sulle app in esecuzione:

* la classe AppMemoryReport fornisce informazioni su un limite di commit totale previsto per le app, sull'utilizzo del commit privato e così via.
* La classe AppDiagnosticInfo può ora monitorare lo stato di esecuzione di un'app o di un'attività e fornisce le notifiche quando lo stato di esecuzione cambia.
* La classe MemoryManager include nuovi metodi per impostare il limite di utilizzo della memoria delle app e segnalare il limite d'uso previsto della memoria delle app.

È possibile inserire le attività nella coda, in ordine di priorità, ed eseguirle in un thread diverso con la classe DispatcherQueue. Questa funzionalità è disponibile anche in Win32 tramite la funzione CreateDispatcherQueueController.
EdgeHTML 16 La piattaforma Web alla base di Microsoft Edge e delle app UWP basate su JS è stata aggiornata a EdgeHTML 16 e include ora importanti miglioramenti per gli Strumenti di sviluppo F12, il supporto per il CSS Grid Layout e altre importanti funzionalità.

* Il CSS Grid Layout è ora supportato in Microsoft Edge. Grid Layout definisce un sistema di layout bidimensionale basato su griglia che consente più fluidità rispetto al posizionamento tramite valori float o script.

* La documentazione relativa agli strumenti di sviluppo F12 di Microsoft Edge è stata aggiornata per affidabilità e prestazioni migliorate. Inoltre sono state aggiunte nuove funzionalità per ottimizzare l'esperienza di sviluppo.

* Solo in Microsoft Edge, WebVR ha aggiunto il supporto per i controller di movimento e una varietà di cuffie Windows Mixed Reality. WebVR è stato anche ottimizzato per supportare fino a 90 fotogrammi al secondo.

Per un elenco completo delle modifiche e delle nuove API supportate, vedere la Guida per gli sviluppatori di Microsoft Edge.
Elementi 3D della mappa È possibile aggiungere oggetti tridimensionali a una mappa. È possibile usare la nuova classe MapModel3D per importare un oggetto 3D da un file 3D Manufacturing Format (3MF).
Stile dell'elemento della mappa È possibile personalizzare l'aspetto degli elementi della mappa con due nuove proprietà MapElement: MapStyleSheetEntrye MapStyleSheetEntryState.

* È possibile usare la proprietà MapStyleSheetEntry per rendere gli elementi della mappa come inclusi nella mappa di base (ad esempio: impostando uno stile di elemento su una voce esistente nel foglio di stile della mappa, come Water).

* È possibile usare la proprietà MapStyleSheetEntryState per modificare l'aspetto degli elementi della mappa sfruttando gli stati predefiniti come Hover e Selected nel foglio di stile della mappa o eseguirne l'override per creare stati personalizzati.
Livelli della mappa È possibile aggiungere elementi punti di interesse a un livello della mappa e quindi eseguire il binding di XAML direttamente al livello. Raggruppare gli elementi in livelli. Quindi, modificare ogni livello in modo indipendente l'uno dall'altro. Ad esempio, ogni livello ha un proprio set di eventi in modo da poter rispondere a un evento su un livello specifico ed eseguire un'azione specifica per l'evento.
Informazioni sulla posizione della mappa È possibile mostrare agli utenti una mappa all'interno di una finestra popup leggera sopra, sotto o accanto a un elemento dell'interfaccia utente oppure a un'area dell'app che viene toccata dall'utente. Questa finestra si chiude quando l'utente cambia contesto. In questo modo gli utenti non devono passare a un'altra finestra dell'app o del browser per ottenere le informazioni su una posizione.
Servizi per le mappe L'utente vuole fare un'escursione? Usare il nuovo valore MapRouteOptimization.Scenic per ottimizzare un percorso per includere le strade più panoramiche e MapRoute.IsScenic per scoprire se un percorso esistente include le strade panoramiche.
Acquisizione multimediale L'articolo Elaborare fotogrammi multimediali con MediaFrameReader è stato aggiornato per mostrare l'utilizzo del nuovo MultiOrigineMediaFrameLettore classe, che ti consente di ottenere fotogrammi correlati al tempo da più origini multimediali. L'articolo

Elaborare fotogrammi multimediali con MediaFrameReader è stato aggiornato per includere una descrizione della modalità di acquisizione dei frame memorizzati nel buffer che consente alle app di richiedere che i fotogrammi acquisiti vengano forniti all'app in sequenza, senza perdita dei fotogrammi acquisiti mentre l'app elabora un frame precedente.

Inoltre, se un oggetto MediaCapture è stato inizializzato con un gruppo di origini di fotogrammi multimediali contenente uno o più origini di fotogrammi multimediali, è possibile creare un oggetto MediaSource che consente di presentare i fotogrammi multimediali in un controllo MediaPlayerElement di una pagina XAML.

Per altri informazioni, vedere Elaborare fotogrammi multimediali con MediaFrameReader.
Riproduzione di contenuti multimediali All'articolo sulla riproduzione multimediale di base Riprodurre audio e video con MediaPlayer sono state aggiunte nuove sezioni.

* La sezione Riprodurre video sferici con MediaPlayer mostra come riprodurre sfericamente video codificati, compresa la modifica del campo di visualizzazione e dell'orientamento di visualizzazione per i formati supportati.

* La sezione Usare MediaPlayer in modalità server di fotogrammi mostra come copiare i fotogrammi dai file multimediali riprodotti con MediaPlayer su una superficie Direct3D. Ciò consente di gestire scenari quali l'applicazione di effetti in tempo reale con pixel shader. Il codice illustra un'implementazione rapida di esempio di un effetto di sfocatura per la riproduzione video con Win2D.
I miei contatti I miei contatti consente agli utenti di aggiungere contatti da un'applicazione direttamente alla barra delle applicazioni. Informazioni su come aggiungere il supporto My People all'applicazione.

* Condivisione My People consente agli utenti di condividere file tramite l'applicazione, direttamente dalla barra delle applicazioni. Le
* notifiche I miei contatti sono un nuovo tipo di notifica di tipo avviso popup che gli utenti possono inviare per i loro contatti bloccati.
.NET Standard 2.0 La piattaforma UWP implementa completamente .NET Standard 2.0. Questa nuova versione dello standard include un aumento notevole del numero di API .NET insieme a uno shim di compatibilità per i pacchetti NuGet preferiti e le librerie di terze parti.

Se si pensa di usare altre piattaforme, come iOS e Android, oppure se si dispone di un'applicazione desktop e si desidera creare un'app UWP, spostare il codice nelle librerie di classi .NET Standard 2.0 e quindi riusare il codice in ogni versione dell'app.
Aggiungere alla barra delle applicazioni La nuova classe TaskbarManager consente di chiedere all'utente di aggiungere l'app alla barra delle applicazioni.
Punto di servizio È stata aggiunta una nuova guida per consentire di acquisire familiarità con i dispositivi point of service. In tale guida vengono illustrati argomenti come l'enumerazione dei dispositivi, il controllo delle funzionalità dei dispositivi, la richiesta dei dispositivi e la condivisione dei dispositivi.
Riconoscimento vocale Ora è possibile usare un elemento SpeechRecognitionListConstraint in combinazione con un servizio Web SpeechRecognitionTopicConstraint per migliorare l'accuratezza della dettatura, fornendo un set di parole chiave specifiche del dominio che si ritiene possano essere usate durante la dettatura.
Attività utente La nuova API Windows.ApplicationModel.UserActivities permette di incapsulare un'attività dell'utente che può essere continuata in un secondo momento e potenzialmente su un altro dispositivo.

Pubblicare e monetizzare le app di Windows

Dopo il rilascio della versione precedente di Windows, 1703 sono state aggiunte funzionalità a questa sezione. Sono disponibili per tutti gli sviluppatori di Windows e non richiedono l'SDK aggiornato.

Funzionalità Descrizione
Gestione account Ora è prevista una maggiore flessibilità per l'associazione dei tenant di Azure AD all'account Centro per i partner per aggiungere più utenti dell'account. È possibile associare più tenant di Azure AD a un singolo account di Centro per i partner o associare un singolo tenant di Azure AD a più account di Centro per i partner.
Pubblicità Microsoft Advertising SDK ora consente di visualizzare annunci nativi nelle app. Un annuncio nativo è un formato di annuncio basato su componenti in cui ogni parte della creazione dell'annuncio (ad esempio il titolo, l'immagine, la descrizione e il testo di invito all'azione) viene fornita all'app come elemento individuale. Gli annunci nativi sono attualmente disponibili solo per gli sviluppatori che partecipano a un programma pilota, ma intendiamo rendere tale funzionalità presto disponibile per tutti gli sviluppatori.
Prezzi e disponibilità Nuove opzioni di prezzi e disponibilità consentono di pianificare le modifiche di prezzo e di impostare date di rilascio precise.
API di analisi dello Store L'API di analisi di Microsoft Store offre ora un metodo utilizzabile per scaricare il file CAB per un errore nell'app.
Presentazioni nello Store La presentazione nello Store è stata migliorata con nuove funzionalità per coinvolgere i potenziali utenti:
* La presentazione nello Store dell'app può ora includere trailer di video.

* È possibile importare ed esportare le presentazioni nello Store per apportare modifiche più velocemente, soprattutto se si dispone di elenchi in molte lingue.
API di invio L'API per l'invio in Microsoft Store ora consente di includere trailer video e opzioni di gioco con gli invii delle app.
Offerte mirate Offerte mirate consente di rivolgersi a segmenti specifici di clienti con contenuti accattivanti e personalizzati per aumentare il coinvolgimento, la fidelizzazione e la monetizzazione.

Esempi

Utilità di pianificazione Lunch

L'esempio Lunch Scheduler consente la pianificazione del pranzo con amici e colleghi. Crea un pranzo, invita gli amici a un ristorante che ti piace e l'app si occupa della gestione di tutte le parti interessate al pranzo. Questa app evidenzia le funzionalità seguenti:

  • Dimostra l'integrazione con servizi come Facebook, Microsoft Graph per l'autenticazione, le operazioni basate sul grafico e l'individuazione degli amici.
  • Funziona con Yelp e Bing Mappe per i consigli sui ristoranti.
  • Incorpora elementi del sistema di Fluent Design in un'app UWP, incluse le animazioni connesse, la rivelazione e l'acrilico.

Quiz

L'esempio Quiz Game App (API Remote System Sessions) illustra come usare l'API Remote System Sessions nel contesto di uno scenario di gioco quiz. Un host invia le domande ai dispositivi più vicini e i partecipanti rispondono alle domande nei loro dispositivi.

L'API Remote System Sessions consente a un dispositivo di ospitare una sessione individuabile da altri dispositivi nelle vicinanze che possono quindi partecipare alla sessione e inviare messaggi all'host e ad altri partecipanti.