Novità di Windows 10 per sviluppatori, build 15063

Windows 10 build 15063 (noto anche come Creators Update o versione 1703), in combinazione con Visual Studio 2019 e l'SDK aggiornato, fornisce strumenti, funzionalità ed esperienze per creare straordinarie app della piattaforma 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.

Si tratta di una raccolta di funzionalità, nuove e migliorate, di interesse per gli sviluppatori. 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 15063. 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.

Windows 10 build 15063 - Marzo 2017

Funzionalità Descrizione
Attività in background Le attività in background possono ora essere registrate in gruppi, che forniscono l'equivalente approssimativo di uno spazio dei nomi per le attività in background. È possibile registrare o annullare la registrazione delle attività in background come parte di un gruppo per isolare tali registrazioni. Questo isolamento è utile per garantire che i diversi componenti di un'app o le varie librerie non interferiscano reciprocamente con le relative registrazioni delle attività in background.

Le aziende possono abilitare o disabilitare l'attività in background per le app UWP in base al nome descrittivo del pacchetto.

Le attività in background possono ora essere di più istanze. È possibile specificare l'esecuzione di ogni istanza in un nuovo processo con limiti di CPU e memoria personalizzati.
Bluetooth a basso consumo La pubblicazione di servizi GATT è ora supportata in primo piano nella classe GattServiceProvider, e in background nella classe GattServiceProviderTrigger.

Il ruolo della periferica Bluetooth è ora disponibile nelle radio supportate. Usare IsPeripheralRoleSupported per verificare il supporto.

È possibile comunicare con dispositivi Bluetooth a basso consumo senza dover prima associare i dispositivi. Vedere Windows.Devices.Bluetooth.BluetoothLEDevice e le API che sono abilitate per le connessioni non associate nello spazio dei nomi GenericAttributeProfile.
Composizione Esistono molte API, nuove o aggiornate, nello spazio dei nomi Windows.UI.Composition:
* enumerazione AnimationDelayBehavior
* classe CompositionCapabilities
* classe CompositionDrawingSurface
* classe CompositionGraphicsDevice
* classe CompositionVirtualDrawingSurface
* classe Compositor
* classe KeyFrameAnimation
* classe Visual
* classe CompositionConditionalValue
* classe InteractionTracker
* classe VisualInteractionSource
Contatti Per aggiungere contatti alla barra delle applicazioni o al menu Start. Per visualizzare le informazioni sul contatto nel nuovo e semplice pannello contatti che viene aperto quando gli utenti possono scegliere un contatto aggiunto. Abilitare gli utenti a selezionare un collegamento nel pannello contatti per visualizzare un contatto nell'app.
Aggiornamento di esempio del database degli ordini dei clienti L'esempio di database degli ordini dei clienti su GitHub è stato aggiornato per usare il controllo della griglia dei dati e la convalida dell'immissione dei dati da Telerik, che fa parte dell'interfaccia utente per la suite della piattaforma UWP. La famiglia di interfacce utente per UWP è una raccolta composta da più di 20 controlli disponibile come progetto open source tramite .NET Foundation.
Desktop Bridge Le nuove estensioni per l'app consentono di far passare gli utenti alla versione convertita dell'app, integrare Esplora risorse, permettere agli utenti di avviare l'app in altri modi ed eseguire l'integrazione con altre app. Vedere Da desktop a UWP Bridge: estensioni app.

Avviare i processi esterni al pacchetto dell'app ed eseguirli all'interno dell'ambiente virtualizzato dell'app convertita. Tali processi avranno accesso a risorse dell'app, ad esempio file dll. Vedere l'attributo PROC_THREAD_ATTRIBUTE_DESKTOP_APP_POLICY nella funzione UpdateProcThreadAttribute.
Direct3D Sono state aggiunte nuove API a Direct3D 12 per supportare le copie atomiche del buffer (abilita le tecniche late-latch), le posizioni di esempio programmabili, i test depth-bound, le priorità di residenza e altro ancora.

Le API di limitazione sono state aggiunte per supportare scenari con più dispositivi in Direct3D 11 e scenari di interoperabilità tra Direct3D 11 e Direct3D 12. Il runtime supporta ora la memorizzazione nella cache gestita dal sistema operativo di shader per migliorare la fase di caricamento e le prestazioni dell'applicazione.
EdgeHTML 15 La piattaforma Web alla base di Microsoft Edge e delle app della piattaforma UWP basate su JS è stata aggiornata a EdgeHTML 15 e include ora, tra le altre cose, il supporto per l'API per richieste di pagamento, WebVR e i criteri di sicurezza del contenuto 2. Per un elenco completo delle modifiche, vedere la pagina relativa alla Guida per gli sviluppatori di Microsoft Edge.
FlightStick e RawGameController Sono state aggiunte nuove API allo spazio dei nomi Windows.Gaming.Input, incluso il supporto per joystick volo, nonché controller di gioco non elaborati, che consentono di raccogliere input da qualsiasi tipo di controller e permettono al giocatore di scegliere mapping di input personalizzati.
Valori DPI alti in Win32 Il nuovo contesto di sensibilità DPI "Per-Monitor v2" è stato aggiunto alle applicazioni desktop. Per Monitor v2 continua a regolare automaticamente il fattore di scala delle finestre ogni volta che il valore DPI pertinente cambia, ma consente anche alle applicazioni di accedere ai nuovi comportamenti di ridimensionamento DPI in base a una finestra di primo livello.
Disegna Input penna aggiunge ulteriore supporto per gli stencil goniometro e righello, timestamp input penna, l'evidenziatore di contrasto elevato ottimizzato, nonché la creazione di tratti input penna a livello di codice. L'

analisi di input penna può fornire un'analisi del tratto input penna per app Windows Ink tra cui il rilevamento e il riconoscimento della forma, il riconoscimento della grafia e l'interpretazione e classificazione del layout.

Sono stati apportati perfezionamenti alla barra degli strumenti Input penna, incluso il pulsante stencil (per righello e goniometro), tipi di controllo per il riquadro a comparsa e posizione/orientamento del riquadro a comparsa.

È ora possibile specificare le app Input penna nell'area di lavoro Input penna.
Inserimento di input L'inserimento di Input fornisce il supporto per la generazione e l'automatizzazione a livello di codice dell'input da una vasta gamma di dispositivi.
IoT Gli aggiornamenti a Windows IoT Core includono il supporto per Cortana, miglioramenti al Dashboard IoT, il supporto per Gestione dispositivi di Azure e Device Guard per IoT. Per una panoramica completa delle funzionalità più recenti, vedi la pagina relativa alle novità di Windows 10 IoT Core.
Mappe Per aggiungere un'immagine a una mappa, ad esempio un'immagine di un ristorante. La visualizzazione delle dimensioni e della dissolvenza in entrata e in uscita di queste immagini cambierà in base al livello di zoom della mappa. Vedere la classe MapBillboard.

È possibile ottenere gli elementi su una mappa tramite l'area che un utente tocca con il dito o con una penna. Vedere MapControl.FindMapElementsAtOffset.

È possibile aggiungere le funzionalità che consentono agli utenti di fare una panoramica verso l'alto, il basso o laterale su una mappa. Vedere MapControl.StartContinuousPan, MapControl.TryPanAsync e MapControl.TryPanToAsync.

È possibile aggiungere una spaziatura all'interno di un controllo mappa. Vedere MapControl.ViewPadding.

È possibile personalizzare l'aspetto di una mappa tramite fogli di stile. Usare fogli di stile predefiniti o crearne di personalizzati tramite JSON. Combinare fogli di stile per creare solo l'aspetto desiderato. Vedere MapControl.StyleSheet e MapStyleSheet.
Servizi per le mappe Per scaricare i pacchetti di mappe per l'uso offline. Vedere Windows.Services.Maps.OfflineMaps.

È possibile aggiungere punti percorso che consentono agli utenti di controllare il percorso che desiderano intraprendere tra tali punti. Vedere la classe EnhancedWayPoint.

È possibile ottenere stime dei tempi di percorrenza senza traffico. Vedere MapRouteLeg.DurrationWithoutTraffic e MapRoute.DurationWithoutTraffic.

È possibile ottenere i livelli di congestione del traffico. Vedere MapRouteLeg.TrafficCongestion e MapRoute.TrafficCongestion.

È possibile identificare i potenziali problemi lungo un percorso o una diramazione, ad esempio una strada non asfaltata, le condizioni meteorologiche lungo la strada o eventi programmati nell'area. Vedere MeneuverWarning.
Acquisizione elementi multimediali L'evento CaptureDeviceExclusiveControlStatusChanged è stato introdotto per abilitare l'ascolto quando altre app acquisiscono e rilasciano il controllo esclusivo del dispositivo di acquisizione.

MultiSourceMediaFrameReader è stato introdotto per consentire di ricevere fotogrammi correlati al tempo da più dispositivi di acquisizione.

Gli oggetti DepthMediaFrame forniscono ora MinReliableDepth e proprietà MaxReliableDepth per consentire il blocco di valori di profondità a un intervallo affidabile.
Codifica multimediale Usare la nuova classe CodecQuery per eseguire query su codificatori e decodificatori audio e video installati nel dispositivo corrente.

Sono stati aggiunti nuovi metodi statici per la creazione di proprietà di codifica per video HEVC, CreateHevc e audio FLAC e ALAC, CreateFlac e CreateAlac.
Riproduzione di contenuti multimediali CurrentMediaPlaybackItemChangedEventArgs.Reason consente di sapere perché la traccia al momento in riproduzione nell'elenco è stata modificata, ad esempio l'app che cambia elementi a livello di codice, l'elemento in riproduzione in precedenza che raggiunge la fine o il verificarsi di un errore.

MaxPlayedItemsToKeepOpen consente di specificare il numero massimo di oggetti MediaPlaybackItem che il sistema manterrà aperti dopo la riproduzione.

IsDisabledInPlaybackList consente di disabilitare la riproduzione di singoli oggetti MediaPlaybackItem in un MediaPlaybackItemList.

MediaSource ora supporta ChapterCue che consente all'app di rispondere quando cambia il capitolo corrente (ad esempio quelli nel video MKV). La classe SpeechCue è quella che consente all'app di rispondere ai confini di parola, ai limiti di frasi e ai segnalibri SSML nei supporti di sintesi vocale. Inoltre, i sottotitoli basati su immagini (ad esempio VobSub e PGS) sono supportati con la classe ImageCue.

Per lo streaming adattivo, sono state aggiunte le classi AdaptiveMediaSourceDownloadStatistics e AdaptiveMediaSourceDiagnostics per fornire informazioni di telemetria sulle richieste multimediali adattive. Gli argomenti dell'evento per gli eventi di stato e diagnostica includono una proprietà RequestId, che può essere usata per correlare i vari eventi per una singola richiesta.

MediaBinder, che consente di rinviare il contenuto multimediale a un MediaSource finché non viene riprodotto, supporta ora AdaptiveMediaSource.

MediaPlayer ora supporta ora il progetto video sferico, inclusa l'impostazione a livello di codice del campo di visualizzazione e l'orientamento della visualizzazione per la riproduzione.

MediaPlayer può essere impostato in modalità server frame impostando la proprietà IsVideoFrameServerEnabled. In questa modalità, il lettore multimediale non presenta fotogrammi video ma genera l'evento VideoFrameAvailable per ogni fotogramma. Usare il metodo CopyFrameToVideoSurface nel gestore dell'evento per copiare il fotogramma in un oggetto IDirect3DSurface per l'elaborazione personalizzata con gli shader. L'oggetto CopyFrameToStereoscopicVideoSurfaces consente di copiare il contenuto dell'occhio sinistro e destro di un frame per separare le superfici.
Pacchetti Gli sviluppatori possono componentizzare le applicazioni dividendo il contenuto e le funzionalità in pacchetti facoltativi. Vedere PackageCatalog.AddOptionalPackageAsync per la modalità di installazione di pacchetti facoltativi da un'app e Package.SetInUse per la modalità di controllo dei pacchetti aggiornati automaticamente dallo Store quando l'app è in esecuzione. Per informazioni su come creare pacchetti facoltativi e set correlati in Visual Studio, vedere la pagina relativa alla creazione di pacchetti facoltativi e set correlati.
Pagamenti La nuova API per richieste di pagamento per le app UWP consente agli sviluppatori di semplificare la procedura di completamento della transazione nelle proprie app.
Semplificare i pagamenti nelle app UWP
Windows.ApplicationModel.Payments
Punto di servizio Sono state aggiunte nuove API allo spazio dei nomi Windows.Devices.PointOfService, incluso il supporto per dispositivi schermo POS line, attributi di simbologia codice a barre espansi e un nuovo metodo per la selezione di dispositivi che può essere definito per tipi specifici di connessioni.
SDK di Project Rome per Android La funzionalità relativa al Project Rome per la piattaforma UWP è arrivata nella piattaforma Android. È ora possibile usare un dispositivo Windows o Android per avviare le app in modo remoto e continuare le attività su uno qualsiasi dei dispositivi Windows. Guarda il repository Project Rome per gli scenari multipiattaforma per iniziare.
Surface Dial Lo spazio dei nomi RadialController è stato aggiornato con maggior controllo sulla visualizzazione del menu, sugli eventi del pulsante di menu RadialController, sugli eventi di contatto dello schermo, sui glifi dei tipi di carattere del pulsante di menu e su altri controller aptici.

Usare l'elaborazione in background del controller radiale per gestire l'input del controller radiale in un thread in background.
Sintesi vocale Lo streaming sintesi vocale supporta ora i limiti di parole e frasi.
Attività Per creare elenchi di attività tipo Exchange e aggiungervi attività. L'app può anche leggere ed eseguire azioni su attività che vengono create da altre app, ad esempio: attività che vengono create in Microsoft Outlook. Vedere Windows.ApplicationModel.UserDataTasks e lo spazio dei nomi Windows.ApplicationModel.UserDataTask.DataProvider. La forma e la gerarchia di queste API sono simili alla forma e alla gerarchia degli spazi dei nomi di API per appuntamenti, contatti e posta elettronica.
Riquadri e notifiche Le nuove API del riquadro principale consentono di controllare se l'app è aggiunta e di richiedere l'aggiunta dell'app a Start.

Usare un indicatore di stato nelle notifiche di tipo avviso popup, assegnare un timestamp personalizzato e raggruppare gli avvisi popup all'interno di intestazioni.

Gli avvisi popup che usano lo scenario delle sveglie verranno interrotti tramite la funzionalità Non disturbare.
Installazione streaming di app UWP Installazione streaming consente agli utenti di avviare l'app prima che sia stata completamente installata, permettendo aa questi di interagire con l'app più rapidamente. È possibile definire i file necessari che devono essere scaricati prima che l'app possa essere avviata e assegnare priorità ai file che saranno scaricati in background a seconda di come gli utenti interagiscono con l'app. Vedere la pagina relativa all'installazione streaming di app UWP per una panoramica dei concetti di installazione streaming e la pagina relativa alla creazione e conversione di mapping di gruppo di contenuto di origine per la modalità di suddivisione dell'app in gruppi di file da riprodurre in streaming.
Visual Studio 2017 È in arrivo un nuovo aggiornamento per Visual Studio 2017, che fornisce miglioramenti per gli strumenti della piattaforma UWP per supportare la versione di Creators Update e l'aggiunta di strumenti Python. Esplorare una panoramica delle nuove funzionalità che saranno disponibili in questo aggiornamento.
Windows Information Protection (WIP) Per ottenere l'identità principale più agevolmente, usando una proprietà o un'identità secondaria o figlio.

È possibile stabilire facilmente se un determinato file non deve essere protetto. Ciò consente di proteggere file come file dll, file eseguibili o altri file di configurazione.

Se si è protetto un file a cui è necessario rimuovere la protezione, è ora possibile rimuovere facilmente la protezione.

È possibile richiedere l'accesso temporaneo a un contenuto protetto per conto di un altro processo o app in esecuzione. Ciò risulta utile nei casi in cui l'app interagisce con i dati protetti sia con processi protetti sia con quelli non protetti o se l'app interagisce con altre che non rientrano nell'elenco di criteri autorizzati.

Vedere la classe ProtectionPolicyManager e la classe FileProtectionManager.
Windows Mixed Reality Per supportare la crescita della piattaforma Windows Mixed Reality, sono state aggiunte nuove API agli spazi dei nomi Windows.Graphic.Holographic, Windows.Perception.Spatial e Windows.UI.Input.Spatial.
Controlli XAML ContentDialog ora dispone di tre pulsanti: Primario, Secondario e Chiudi. È inoltre possibile impostare uno dei pulsanti in modo che sia l'azione predefinita.

È possibile usare la proprietà ShowAsMonochrome per mostrare le icone di bitmap con un singolo colore o a colori.

È possibile usare il nuovo SelectionChangedTrigger per modificare il modo in cui ComboBox gestisce la selezione da tastiera.

Le nuove API PrepareConnectedAnimation e TryStartConnectedAnimationAsync in ListViewBase semplificano l'uso di animazioni connesse con le visualizzazioni elenco e griglia.

È possibile usare la nuova proprietà Icon per aggiungere un'icona a un oggetto MenuFlyoutItem o MenuFlyoutSubItem.

È possibile usare la classe SvgImageSource per aggiungere un'immagine SVG in XAML.

È possibile usare la classe LoadedImageSurface per aggiungere una superficie di composizione in XAML.
È possibile usare la classe XAMLLight e la proprietà UIElement.Lights per aggiungere effetti CompositionLight in XAML.

È possibile usare XamlCompositionBrushBase per usare i pennelli di composizione in XAML.