Modifica

Condividi tramite


Domande frequenti per sviluppatori Windows

Questo articolo è destinato a promuovere una conoscenza comune dell'esperienza di sviluppo e della direzione del prodotto di Windows.

Il panorama di sviluppo di app windows di oggi offre un'ampia gamma di framework e tecnologie tra cui scegliere. Queste domande frequenti forniscono indicazioni su come decidere quale framework usare per i progetti di sviluppo di app Di Windows. Vengono illustrati gli argomenti seguenti:

  • Introduzione all'ambiente di sviluppo di app di Windows.
  • Sviluppo nativo di app solo Windows con WinUI, Windows Presentation Foundation (WPF) e Windows Form (WinForms).
  • Windows Software Development Kit (SDK) e Windows App SDK.
  • Destinazione di Windows come parte della strategia di sviluppo multipiattaforma.
  • Sviluppo di app Web e ibride con .NET MAUI, Blazor e ASP.NET Core.
  • Come scegliere un approccio durante la comprensione degli investimenti di Microsoft.

Panorama dello sviluppo di app di Windows

Dove è possibile trovare una panoramica semplice delle tecnologie di sviluppo di Windows?

Per una panoramica delle opzioni attuali per gli sviluppatori Windows, guardare l'episodio più recente windows Dev Chat, Scelta della piattaforma di sviluppo ideale, in cui illustrano WinUI, .NET MAUI, React Native, Blazor e Progressive Web Apps (PWA).

È anche possibile fare riferimento alla panoramica delle opzioni di sviluppo delle app per sviluppatori Windows.

Perché lo sviluppo di app client è ancora fondamentale per la trasformazione digitale moderna nell'era dei servizi cloud?

Nell'era dei servizi cloud, lo sviluppo di app client rimane un componente fondamentale della trasformazione digitale moderna. Per gli sviluppatori, la creazione di applicazioni client è essenziale non solo per raggiungere ma per offrire interazioni reattive e significative sui dispositivi degli utenti.

Ecco perché le app client sono ancora importanti:

  • Copertura dei dispositivi: Con oltre 1,5 miliardi di dispositivi Windows e più di 5 miliardi di dispositivi Android e iOS a livello globale, le app client consentono di portare le applicazioni direttamente agli utenti nei dispositivi scelti.
  • Gateway a Servizi intelligenti: le app client sono spesso i primi utenti che interagiscono con i servizi. Offrono un'interfaccia ricca e interattiva che consente di presentare funzionalità intelligenti e differenziare il prodotto dagli altri.
  • scalabilità con l'integrazione cloud: Un'app client ben integrata può essere sincronizzata senza problemi con i servizi cloud back-end, consentendo l'accesso ai dati in tempo reale e la scalabilità senza interruzioni man mano che la base utente cresce.
  • produttività avanzata e fedeltà degli utenti: Un'app progettata in modo ponderato può migliorare la produttività e mantenere gli utenti impegnati con il prodotto o il servizio nel tempo.

Sviluppo di app solo Windows nativo

Che cos'è Windows App SDK?

Windows App SDK è una piattaforma di sviluppo di applicazioni Windows che consente di creare app desktop belle, moderne e compatibili con le versioni precedenti (fino a Windows 10 1809). WinUI 3 è il framework dell'interfaccia utente fornito con Windows App SDK.

Qual è la differenza tra Windows App SDK e Windows SDK?

Entrambi sono software development kit (SDK) che consentono di creare app di Windows.

Windows App SDK è una nuova piattaforma di sviluppo che consente di creare app desktop moderne che possano essere installate tra le versioni di Windows (fino a Windows 10 1809). Quando usi Windows App SDK per creare un'app, potrai accedere alle funzionalità più recenti della piattaforma di sviluppo di Windows. Windows App SDK include WinUI 3.

Windows SDK è una piattaforma di sviluppo che consente di creare app UWP e app win32/desktop. È progettato per le API Windows associate a versioni specifiche del sistema operativo.

SDK per app di Windows non sostituisce Windows SDK. Windows App SDK è invece un complemento a Windows SDK. Fornisce un'astrazione comoda e disaccoppiata del sistema operativo intorno al ricco catalogo di API del sistema operativo Windows a cui è già possibile accedere tramite Windows SDK. Quando crei app con Windows App SDK, potresti finire con l’usare alcune API di Windows SDK a seconda delle funzionalità necessarie. Nel corso del tempo, verranno elevate altre funzionalità di Windows SDK in Windows App SDK.

Sto creando un nuovo team per sviluppare un'app solo Windows. Perché è consigliabile scegliere di sviluppare con un framework Windows nativo, ad esempio WinUI, WPF o WinForms?

Ecco alcuni motivi per scegliere un framework windows nativo per l'app solo Windows:

  • prestazioni: framework Nativi di Windows sono ottimizzati per sfruttare la potenza completa dell'hardware Windows di oggi e offrire esperienze utente veloci e reattive.
  • integrazione : Windows include numerose API per creare esperienze sofisticate disponibili solo in Windows. I framework nativi offrono un'integrazione approfondita con queste funzionalità e API.
  • Esperienza utente nativa: framework Nativi di Windows offrono un'esperienza utente coerente tra i dispositivi Windows, assicurando che l'app abbia un aspetto ottimale in tutti i dispositivi Windows.
  • supporto offline: framework nativi di Windows forniscono supporto per scenari offline, consentendo all'app di funzionare anche quando l'utente non è connesso a Internet.
  • Monetizzazione: framework nativi di Windows vengono gestiti e supportati attivamente da Microsoft, assicurandoti di avere accesso agli aggiornamenti e alle funzionalità più recenti.

Quale framework è consigliabile usare per sfruttare gli investimenti più recenti di Microsoft nello sviluppo di app di Windows?

Se stai creando una nuova app solo Windows, ti consigliamo di usare WinUI. WinUI è il framework dell'interfaccia utente nativo più recente per lo sviluppo di app di Windows ed è progettato per funzionare in un'ampia gamma di dispositivi Windows. WinUI offre un framework dell'interfaccia utente moderno e flessibile che consente di creare app di Windows visivamente accattivanti e interattive. WinUI fa parte di Windows App SDK ed è progettato per funzionare meglio con le versioni più recenti di Windows.

È possibile usare Windows App SDK/WinUI nell'app di Windows esistente?

Si noti che WinUI (un framework dell'interfaccia utente) viene fornito con windows App SDK (un framework di sviluppo della piattaforma Windows).

In generale, non è possibile usare WinUI a meno che non si sia pronti per eseguire completamente la migrazione del framework dell'interfaccia utente. Stiamo lavorando a una funzionalità denominata isole XAML che consente di ospitare contenuto WinUI in altri framework dell'interfaccia utente (WPF, Win32).

Dovresti essere in grado di usare gli elementi di Windows App SDK in qualsiasi app desktop, a seconda della modalità di compilazione dell'app esistente. Le app UWP non sono supportate da Windows App SDK.

Ciò significa che app WPF/MFC/WinForms possono usare le API di Windows App SDK non correlate a WinUI. Esempi di queste API includono il ciclo di vita dell'app, il windowing e le notifiche di tipo avviso popup.

Per altre informazioni, vedere Usare Windows App SDK in un progetto esistente.

È necessario usare Visual Studio per compilare app WinUI?

È consigliabile usare Visual Studio 2022 versioni 17.10 e successive per sviluppare app WinUI. L'uso della versione più recente di Visual Studio consente di accedere a funzionalità di sviluppo avanzate, ad esempio Ricaricamento rapido. I programmi di installazione più recenti di Visual Studio includono un carico di lavoro di sviluppo di applicazioni Windows , semplificando l'introduzione allo sviluppo winUI.

È possibile usare altri IDE e flussi di lavoro di sviluppo, ma Visual Studio è attualmente l'unico IDE ufficialmente supportato per WinUI. Si noti che MSBuild è necessario per compilare progetti che usano XAML o WinUI.

Quando si compila un'app con Windows App SDK e WinUI 3, si crea un'app WinUI?

Sì: "App WinUI" è il termine che ti consigliamo di usare. Le app WinUI 3 sono in genere denominate "app WinUI", perché WinUI 2 non è un tipo di app, ma un set di componenti che possono essere usati nelle app UWP.

È possibile aggiornare in modo incrementale l'app UWP con i controlli WinUI 2 a WinUI 3 sostituendo gradualmente i componenti WinUI 2 con componenti WinUI 3?

N.: Windows App SDK non può essere usato nelle app UWP e WinUI 2 non può essere combinato con WinUI 3. Vedere Eseguire la migrazione da UWP a Windows App SDK.

Quanto è difficile eseguire la migrazione di un'app UWP a WinUI?

La migrazione dei componenti dell'interfaccia utente è in genere semplice (per C# e C++/WinRT). In caso contrario, il costo della migrazione da UWP a WinUI dipende principalmente da questi fattori:

  1. Personalizzazione di file di progetto e MSBuild: la migrazione del progetto potrebbe richiedere un impegno notevole, a seconda che si usino funzionalità MSBuild avanzate o meno.
  2. Migrazione dell'API .NET: se l'app UWP si basa su .NET, è necessario eseguire l'aggiornamento a .NET 6 o versioni successive. Nella maggior parte dei casi, l'adozione di .NET 6 è semplice.
  3. Librerie dei componenti dell'interfaccia utente: se usi le librerie dei componenti dell'interfaccia utente, saranno necessarie nuove versioni di queste librerie destinate a WinUI 3.
  4. Se il codice sorgente della piattaforma UWP è scritto nell’ormai superato C++/CX, sarà necessario eseguire alcune operazioni di conversione del codice sorgente. Consulta Passare a C++/WinRT da C++/CX.

Per altre informazioni sulla migrazione UWP, vedere Eseguire la migrazione da UWP a Windows App SDK.

Se si dispone di un'app UWP esistente nello Store, è possibile pubblicare una nuova app WinUI in pacchetto usando gli stessi identificatori?

Sì, le app aggiornate possono essere pubblicate senza dover aggiornare l'identità dell'applicazione. Gli utenti che hanno la versione precedente verranno aggiornati alla nuova versione. Queste indicazioni si applicano solo alle app desktop. Le app Xbox, HoloLens e Surface Hub non possono eseguire la migrazione a WinUI.

Come si crea un pacchetto o si distribuisce l'app WinUI?

Dove posso trovare le linee guida per la migrazione di Windows App SDK?

È necessario usare il markup XAML se si vuole usare WinUI?

N.: I controlli dell'interfaccia utente possono essere creati nel codice. Esistono tuttavia molti vantaggi per rappresentare l'interfaccia utente winUI sotto forma di markup XAML dichiarativo, ad esempio un'esperienza di sviluppo migliorata.

Se esegui la migrazione da UWP a WinUI, probabilmente sarai in grado di riutilizzare un sacco di markup XAML e codice correlato all'interfaccia utente (ma dovrai aggiornare alcune delle sintassi). Se si esegue la migrazione da WPF a WinUI, sarà possibile riutilizzare molti concetti, ma il set di controlli e le API saranno diversi.

Visual Studio ha un'area di progettazione o una finestra di progettazione dell'interfaccia utente per WinUI?

Non ancora. Sappiamo che questo è un divario nell'esperienza di sviluppo winUI. Gli strumenti come il ricaricamento rapido XAML possono essere utili in molti scenari. Work ha avviato in una finestra di progettazione dell'interfaccia utente di Visual Studio per WinUI in Windows App SDK 1.7, ma non esiste ancora una sequenza temporale per il rilascio di questa funzionalità.

Windows App SDK include WinUI 3?

Sì. WinUI 3 viene fornito come parte di Windows App SDK.

Windows App SDK include WinUI 2?

N.: WinUI 2 fa parte della piattaforma UWP.

WinUI 2 e WinUI 3 sono basati sulla stessa tecnologia?

Non esattamente. Anche se WinUI 3 è stato avviato dal codebase winUI 2, sono tecnologie distinte. WinUI 2 e WinUI 3 sono framework dell'interfaccia utente basati su XAML che funzionano in .NET e C++. Tieni presente che WinUI 2 e WinUI 3 non sono compatibili tra loro.

Posso usare WinUI 3 senza usare Windows App SDK?

N.: WinUI 3 viene fornito come parte di Windows App SDK.

Posso usare WinUI 3 in un'app non in pacchetto?

Sì. Tutte le tecnologie in Windows App SDK funzionano in app non in pacchetto, tra cui WinUI 3.

Qual è la differenza tra le isole XAML e WinUI 3?

Le isole XAML consentono di ospitare controlli WinUI moderni insieme all'interfaccia utente Win32 esistente da altri framework, ad esempio WinForms e WPF. Attualmente, le isole XAML sono supportate con la maggior parte dei controlli XAML di sistema e WinUI 2. Vedere Ospitare controlli XAML WinRT nelle app desktop (isole XAML). per altre informazioni. Il supporto delle isole XAML per i controlli WinUI 3 è disponibile a partire da Windows App SDK 1.4.

Se creo un'app WinUI, sarà moderna sia in Windows 11 che in Windows 10?

Sì, l'interfaccia utente dell'app erediterà i principi di progettazione dell'interfaccia utente Fluent più recenti in tutte le versioni supportate di Windows 11 e Windows 10 fino alla versione 1809 negli scenari in pacchetto e non in pacchetto.

Posso usare sfondi Mica o Acrilici nelle app create con Windows App SDK?

Dove è possibile trovare esempi di WinUI?

Vedere Esempi e risorse. Alcuni repository rilevanti:

Se ho già investito molto in WPF, devo continuare a usare WPF o dovrei prendere in considerazione la migrazione a WinUI?

Se si è già investito molto in WPF, è possibile continuare a usare WPF per le app esistenti. WPF è un framework maturo e stabile ampiamente usato dagli sviluppatori per creare app desktop di Windows.

Valutare la possibilità di sfruttare Assistente aggiornamento .NET per eseguire la migrazione delle app WPF di .NET Framework alla piattaforma .NET più recente. .NET Upgrade Assistant è uno strumento che consente di eseguire la migrazione delle app .NET Framework alle versioni più recenti supportate di .NET. .NET Upgrade Assistant analizza la codebase esistente e fornisce indicazioni su come aggiornare il codice.

Se si compila una nuova app WPF, l'aspetto sarà datato rispetto ad altre nuove app di Windows?

Quando si sviluppa un'applicazione WPF con .NET 9 o versione successiva, è possibile assicurarsi che l'app corrisponda all'aspetto elegante e moderno di Windows 11. Il nuovo tema Fluent per WPF introduce un'estetica contemporanea di Windows 11 alle applicazioni WPF, completa di supporto integrato per la modalità Chiaro/Scuro e il supporto del colore principale del sistema. Questo aggiornamento non solo modernizzare l'aspetto della tua app, ma migliora anche l'engagement degli utenti offrendo un'esperienza utente lucida e coesa.

Il mio team è a proprio agio nella creazione di app WinForms e soddisfa le nostre esigenze. È consigliabile eseguire la migrazione a WinUI o a un altro framework?

Se il team ha familiarità con la creazione di app WinForms e WindForms soddisfa le proprie esigenze, è possibile continuare a usare WinForms per le app esistenti. WinForms è un framework maturo e stabile ampiamente usato dagli sviluppatori per creare app desktop di Windows.

Il team di WinForms investe in tutte le funzionalità e ha una community attiva di collaboratori. Alcune aree di investimento attuali includono:

  • Supporto asincrono con controlli comuni
  • Modalità scura
  • Flessibilità del layout
  • Funzionalità di sicurezza desktop come l'accesso negli Appunti

Sviluppo nativo multipiattaforma

Quali sono alcuni motivi per creare app native multipiattaforma destinate a Windows?

Se si è destinati agli utenti in più piattaforme del sistema operativo, la creazione di app multipiattaforma con .NET MAUI o React Native può offrire diversi vantaggi:

  • Reach: Creazione di app multipiattaforma consente di raggiungere un pubblico più ampio di utenti su piattaforme diverse.
  • Riutilizzo del codice: Creazione di app multipiattaforma consente di riutilizzare il codice in piattaforme diverse, riducendo i tempi e i costi di sviluppo. Può essere eccessivamente costoso creare app separate per Windows, iOS, Android, macOS e così via.
  • 'esperienza utente coerente: Creazione di app multipiattaforma consente di offrire un'esperienza utente coerente su piattaforme diverse, assicurando che l'app abbia un aspetto ottimale in tutti i dispositivi.
  • integrazione : Creazione di app multipiattaforma consente di integrarsi con piattaforme e servizi diversi, consentendo di offrire un'esperienza utente più completa.

È possibile assicurarsi che le app MAUI .NET vengano eseguite correttamente in Windows?

Quando si compila un'app MAUI .NET per Windows, l'output è un'app WinUI. Durante lo sviluppo, .NET MAUI offre un'unica esperienza .NET in tutte le piattaforme, tra cui Windows, ma sotto le quinte, genera codice specifico della piattaforma. Ciò garantisce che l'app .NET MAUI funzioni correttamente in ogni piattaforma e fornisca un'esperienza utente nativa.

In che modo .NET MAUI può fornire API native per dispositivi in ogni piattaforma?

.NET MAUI offre una singola esperienza .NET in tutte le piattaforme, tra cui Windows, iOS, Android e macOS. .NET MAUI astrae oltre 60 API specifiche della piattaforma in una singola API multipiattaforma che è possibile usare nell'app MAUI .NET. Queste API coprono l'accesso all'archiviazione, alla rete, ai sensori specifici del dispositivo e altro ancora. Se necessario, è anche possibile accedere ad API aggiuntive specifiche della piattaforma usando l'inserimento delle dipendenze per astrarre il codice per ogni piattaforma.

È possibile iniziare con WinUI e successivamente integrare .NET MAUI se alla fine si vogliono usare scenari multipiattaforma?

Non al momento. Anche se le app MAUI .NET usano WinUI durante l'esecuzione in Windows, è consigliabile iniziare con .NET MAUI o React Native for Desktop se si prevede la necessità di usare più piattaforme.

Il nostro team ha forti competenze di sviluppo front-end Web. È consigliabile usare React Native per Desktop?

Se il team ha competenze avanzate di sviluppo Web, è consigliabile prendere in considerazione l'uso di React Native per Desktop. React Native for Desktop include react native per Windows e framework di macOS. Il motto di React Native è "Learn once, write anywhere", il che significa che è possibile usare le competenze di sviluppo Web esistenti per creare app di Windows native usando React Native. React Native for Desktop è un progetto open source che consente di creare app native di Windows e macOS usando React Native. React Native for Desktop offre un set di API che consentono di accedere a funzionalità e funzionalità specifiche del sistema operativo desktop nelle app React Native.

Il team può sfruttare le proprie competenze JavaScript, TypeScript e React per creare il livello dell'interfaccia utente, di cui viene eseguito il rendering direttamente nelle primitive native. In questo modo, le prestazioni delle app native e l'accesso alle funzionalità della piattaforma nativa.

Per altre informazioni su come iniziare a usare lo sviluppo nativo React per Windows, vedere la documentazione di React Native for Desktop.

Sono supportati altri dispositivi Windows da React Native per Desktop?

Le app React Native possono essere distribuite in tutti i dispositivi supportati da Windows 10 e versioni successive, inclusi PC, tablet, 2 in-1, Xbox e dispositivi di realtà mista.

Cosa devo usare per creare app che funzionino su Windows e Xbox?

Se l'app deve supportare Xbox, HoloLens o IoT, ti consigliamo di usare la piattaforma UWP. Windows App SDK non supporta queste piattaforme. Per lo sviluppo di giochi, è consigliabile usare Microsoft Game Development Kit.

Cosa devo usare per creare app che funzionino su Windows e Surface Hub?

Se stai puntando sia a Windows che a Surface Hub, ti consigliamo di usare la piattaforma UWP.

Sviluppo ibrido e Web

Cosa sono le app ibride e perché è consigliabile compilarne una?

Le app ibride combinano il meglio dello sviluppo di app Web e native. Il nucleo dell'app viene creato usando tecnologie Web come HTML, CSS e JavaScript e quindi sottoposto a wrapping in un contenitore nativo che consente all'app di sfruttare determinate funzionalità e hardware della piattaforma nativa. Possono anche essere distribuiti tramite app store.

Il vantaggio principale delle app ibride è che consentono di creare una singola app che può essere eseguita su più piattaforme native e sul Web, riducendo i tempi e i costi di sviluppo. Alcuni esempi di piattaforme di sviluppo di app ibride rispondono:

  • Electron per le app desktop
  • Intune per le app per dispositivi mobili
  • .NET MAUI Blazor ibrido per app multipiattaforma

Come posso creare app Web progressive native-feeling (PWA) su Windows?

Che cos'è un'app ibrida .NET MAUI Blazor?

Con .NET MAUI, le app Blazor possono essere eseguite in modo nativo anche in Windows, iOS, Android e macOS. Ciò significa che è possibile creare app client ibride che combinano i componenti Blazor e .NET MAUI in un'unica app client nativa. In questo modo è possibile accedere completamente alle stesse funzionalità della piattaforma nativa disponibili per qualsiasi altra app MAUI .NET.

Per altre informazioni su come Blazor può essere ospitato in un'app MAUI .NET, vedere ASP.NET Core Blazor Hybrid.

I componenti Web di un'app ibrida .NET MAUI devono essere creati con Blazor?

No, i componenti Web di un'app ibrida .NET MAUI non devono essere creati con Blazor. A partire da .NET 9, .NET MAUI fornisce un controllo HybridWebView che consente di ospitare altre interfacce utente JavaScript nell'app nativa.

Ciò significa che è possibile usare Angular, React, Vue o un'altra app Web JavaScript & e ospitarla all'interno dell'app MAUI .NET. Il controllo ibrido fornisce interoperabilità tra i livelli C# e JavaScript, in modo da poter chiamare funzioni JavaScript da C# e viceversa.

Qualsiasi altro tipo di app nativa può ospitare componenti ibridi Blazor?

Sì, le app WPF e WinForms possono anche ospitare componenti ibridi Blazor. In questo modo è possibile aggiungere componenti moderni dell'interfaccia utente Web alle app WPF e WinForms esistenti. Si noti che questo non è possibile con le app WPF o WinForms basate su .NET Framework.

L'intera app deve essere un'app ibrida oppure è possibile combinare e associare componenti nativi e ibridi?

È possibile combinare e associare componenti nativi e ibridi nell'app. Ad esempio, è possibile compilare il core dell'app usando i componenti MAUI .NET e quindi aggiungere componenti ibridi per fornire funzionalità aggiuntive. In questo modo è possibile sfruttare il meglio di entrambi i mondi: le prestazioni e le funzionalità dei componenti nativi e la flessibilità e i risparmi sui costi dei componenti ibridi.

Quali sono le mie scelte per la creazione di . App Web basate su NET che hanno un aspetto ottimale nei browser moderni in Windows?

Le app Web hanno la massima portata di qualsiasi piattaforma di app client. Se si vogliono creare belle app Web .NET in Windows, sono disponibili diverse opzioni:

  • app core ASP.NET con Razor Pages
  • app MVC core ASP.NET
  • ASP.NET le app Blazor core, con opzioni del modello di hosting tra cui:
    • App WebAssembly Blazor
    • App Blazor Server

Si noti che il modello di hosting per Blazor può ora essere configurato a livello di componente. È quindi possibile avere un componente WebAssembly Blazor ospitato in un'app Blazor Server.

Altre informazioni sulle opzioni di sviluppo di ASP.NET Core sono disponibili nella documentazione di ASP.NET Core.

Scegliere un approccio e comprendere gli investimenti di Microsoft

Sono disponibili tante opzioni di framework per la creazione di app destinate a Windows. Come si decide?

Windows è una piattaforma aperta che supporta molte tecnologie. Ecco alcuni criteri che consentono di decidere quale piattaforma usare:

  • Stai creando Windows-first o multipiattaforma?
  • Si ha esperienza con .NET? JavaScript? Altre lingue?
  • È necessario accedere alle API specifiche di Windows?
  • Quali funzionalità del framework soddisfano meglio i requisiti dell'app?
  • Per altri fattori decisionali, vedere questa tabella.

Quando si tratta di app aziendali, la maggior parte dei team vuole scegliere in base alle competenze esistenti e a ciò che il team ha familiarità con l'uso.

Come scegliere l'approccio di sviluppo migliore per l'app Web?

Ecco alcuni aspetti da considerare quando si sceglie un approccio di sviluppo per l'app Web:

  • Blazor è consigliato per la creazione di app Web front-end con .NET. Usando Blazor, è ora possibile creare l'intero front-end e il back-end con .NET, risparmiando tempo e denaro. È particolarmente adatto per le app line-of-business aziendali nei dispositivi attuali.
  • Le app Web JavaScript hanno comunque senso se si vogliono sfruttare le competenze o gli investimenti esistenti del team in JavaScript o se è necessario integrarsi con librerie o framework JavaScript esistenti.
  • Le app esistenti che usano framework meno recenti, ad esempio Web Form, MVC o Razor Pages, sono ancora supportate e possono continuare a essere sviluppate e gestite usando tali framework.

Chi sta creando app con WinUI oggi?

Molti clienti stanno creando con WinUI oggi, tra cui Adobe e Apple:

Microsoft ha anche creato diverse app con WinUI, tra cui le app Esplora file e Foto di Windows 11.

Chi sta creando app .NET MAUI oggi?

Molti clienti usano .NET MAUI per creare attualmente le app multipiattaforma, tra cui Microsoft. Ad esempio, la 'app per dispositivi mobili di Microsoft Azure è stata compilata usando .NET MAUI.

Scoprire chi altro sta creando app con .NET MAUI nel i clienti .NET presentano sito.

Chi sta creando app WPF oggi?

La maggior parte dell'interfaccia utente di Microsoft Visual Studio è compilata con WPF. L'IDE di Visual Studio è un ottimo esempio di un'app WPF complessa e ad alte prestazioni.

Chi sta creando app Blazor oggi?

Ge Digital FlightPulse sistema aereo inserisce i dati dei sensori e l'analisi nelle mani dei piloti per migliorare la sicurezza e l'efficienza. La configurazione back-end di tutti i progetti pilota visualizzati viene eseguita con Blazor.

È possibile leggere altre storie dei clienti Blazor nel sito .NET.

Piattaforma UWP e WinUI 2

Le app UWP possono essere distribuite al di fuori del Microsoft Store?

Sì. Se il pacchetto MSIX è firmato, il certificato di firma deve essere valido e attendibile nel dispositivo di destinazione.

Posso combinare controlli dell'interfaccia utente XAML UWP con controlli dell'interfaccia utente Win32, WPF o WinForms?

Sì: le isole XAML ti consentono di eseguire questa operazione. Ulteriori informazioni sulle isole XAML.

Creazione di pacchetti, distribuzione e aggiornamenti

Qual è la differenza tra le app in pacchetto, non in pacchetto e in pacchetto con la posizione esterna?

Per le definizioni di app in pacchetto, non in pacchetto e in pacchetto con la posizione esterna, consulta Panoramica della distribuzione. L’argomento spiega inoltre i vantaggi e gli svantaggi di ogni opzione.

L'app WinUI verrà aggiornata automaticamente per gli utenti finali?

Un'app WinUI può essere distribuita tramite lo Store, un file con estensione appinstaller o nel pacchetto MSI o setup.exe esistente. Lo Store e AppInstaller supportano gli aggiornamenti automatici per gli utenti finali che hanno abilitato l'aggiornamento automatico, ma l'app MSI/setup.exe deve avere un proprio updater.

Posso usare Windows App SDK senza usare MSBuild?

In linea generale, no. WinUI e Windows App SDK richiedono MSBuild, motivo per cui Visual Studio è un prerequisito per lo sviluppo con WinUI e Windows App SDK. Anche se tecnicamente è possibile creare app di Windows App SDK che non usano WinUI usando altre toolchain, questo non è supportato.

Prestazioni e ottimizzazione

Cosa posso fare per rendere l'app di Windows ideale per gli utenti finali?

Compatibilità

Gli utenti dovranno mai aggiornare Windows per usare l'app WinUI?

Gli utenti con Windows 10 versione 1809 e successive potranno installare le app WinUI senza aggiornare il sistema operativo.

È possibile scegliere Arm64 come destinazione con l'app WinUI?

Sì.

Deprecazione e migrazioni

La piattaforma UWP/WinUI 2 è deprecata?

N.: UWP e WinUI 2 sono ancora supportati e riceveranno correzioni di bug, affidabilità e sicurezza. Tuttavia, la maggior parte delle nuove funzionalità verrà aggiunta solo a WinUI 3.

Nota

Il supporto UWP per .NET 9 è disponibile in anteprima. Questo supporto di anteprima fornisce un percorso per le app UWP da modernizzare usando la versione più recente di .NET.

Esistono due obiettivi principali del supporto UWP di .NET 9. In primo luogo, fornisce un percorso di migrazione migliore per gli sviluppatori UWP che vogliono eseguire la migrazione a WinUI 3. In secondo luogo, consente agli sviluppatori di rimuovere le dipendenze da .NET Native, in modo che possano trarre vantaggio dalle funzionalità più recenti di .NET e C#, indipendentemente dal modello di app.

Per altre informazioni, vedi il post di blog Modernizzare l'app UWP con supporto UWP in anteprima per .NET 9 e Native AOT.

Quando dovrei eseguire la migrazione di un'app UWP/WinUI 2 a WinUI 3?

Gli sviluppatori UWP non dovrebbero avere alcuna pressione per eseguire la migrazione delle app a WinUI 3, se sono soddisfatti della piattaforma UWP e del set di funzionalità. La scelta migliore per alcune app potrebbe essere quella di non eseguire mai la migrazione. Le app che vogliono trarre vantaggio dalla piattaforma Windows e dagli investimenti .NET più recenti di Microsoft, devono prendere in considerazione il passaggio a Windows App SDK. Vedere Eseguire la migrazione da UWP a Windows App SDK).

Quando *non* dovrei eseguire la migrazione di un'app UWP/WinUI 2 a WinUI 3?

Ti consigliamo di continuare a usare la piattaforma UWP se stai creando per Xbox, Surface Hub o HoloLens.

WPF è deprecato?

N.: WPF è ancora supportato, consigliato e riceve anche gli aggiornamenti delle funzionalità. Vedere la roadmap WPF in GitHub.

WinForms è deprecato?

N.: WinForms è ancora supportato e riceve gli aggiornamenti delle funzionalità. Vedere la roadmap di Windows Forms in GitHub.

Windows Runtime (WinRT) è deprecato?

N.: WinRT fa riferimento a un'interfaccia ABI (Application Binary Interface) che consente di interagire tra più lingue. WinRT è l'evoluzione di COM. Windows App SDK offre la maggior parte delle funzionalità tramite le API WinRT.

Note sulla versione

Dove posso trovare le note sulla versione per Windows App SDK?