Condividi tramite


domande frequenti sullo sviluppo di Windows App

Queste domande frequenti offrono risposte a domande comuni sullo sviluppo di applicazioni Windows, incluse le indicazioni sulla scelta del framework appropriato per i progetti. Gli argomenti trattati includono:

  • Introduzione e il panorama di sviluppo delle app di Windows.
  • Sviluppo nativo di app solo Windows con WinUI 3, Windows Presentation Foundation (WPF) e Windows Forms (WinForms).
  • Windows Software Development Kit (SDK) e Windows App SDK.
  • Puntare su 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 Windows

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

Per una grande recensione delle opzioni odierne per gli sviluppatori Windows, guardare l'ultimo Windows Dev Chat episodio, Choosing your ideal dev platform, dove 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.

Quando lo sviluppo di app client è ancora fondamentale per la trasformazione digitale moderna nell'era di cloud services?

Nell'era di cloud services, 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 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 ai Servizi Intelligenti: Le applicazioni client sono spesso il primo punto di contatto degli utenti con i tuoi servizi. Offrono un'interfaccia ricca e interattiva che consente di presentare funzionalità intelligenti e differenziare il prodotto dagli altri.
  • Scalability with Cloud Integration: Un'app client ben integrata può essere sincronizzata senza problemi con i cloud services back-end, consentendo access di dati in tempo reale e scalabilità senza problemi 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'è il Windows App SDK?

Il 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 è il framework dell'interfaccia utente fornito con Windows App SDK.

A differenza tra Windows App SDK e Windows SDK?

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

Il Windows App SDK è una nuova piattaforma di sviluppo che consente di creare app desktop moderne che possono essere installate tra le versioni di Windows (fino a Windows 10 1809). Quando si compila con Windows App SDK, sono disponibili le funzionalità più recenti della piattaforma di sviluppo di Windows. Il Windows App SDK include WinUI.

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.

Il Windows App SDK non sostituisce Windows SDK. Il Windows App SDK completa invece il Windows SDK. Fornisce un'astrazione comoda e disaccoppiata del sistema operativo intorno al ricco catalogo di API del sistema operativo Windows già accessibili tramite Windows SDK. Le app create con Windows App SDK possono comunque usare api di Windows SDK a seconda delle esigenze di funzionalità. Nel corso del tempo, più funzionalità di Windows SDK passeranno alla Windows App SDK.

I sta creando un nuovo team per sviluppare un'app solo Windows. Perché scegliere di sviluppare con un framework Windows nativo come WinUI, WPF o WinForms?

Ecco alcuni motivi per scegliere un framework Windows nativo per la tua app esclusiva per Windows:

  • Prestazione: I framework Nativi di Windows sono ottimizzati per sfruttare l'hardware Windows moderno, offrendo esperienze utente veloci e reattive.
  • Integrazione: Windows include un'ampia gamma di API che consentono esperienze sofisticate disponibili solo in Windows. I framework nativi offrono un'integrazione approfondita con queste funzionalità e API.
  • Esperienza utente nativa: I framework nativi offrono un'esperienza coerente tra i dispositivi Windows, assicurando che l'app abbia un aspetto ottimale ovunque.
  • Supporto offline: I framework nativi supportano scenari offline, consentendo alle app di funzionare anche senza connettività Internet.
  • Monetization: I framework nativi vengono gestiti e supportati attivamente da Microsoft, garantendo access agli aggiornamenti e alle funzionalità più recenti.
Quando è consigliabile usare il framework per sfruttare gli investimenti più recenti di Microsoft nello sviluppo Windows app?

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 Windows app ed è progettato per funzionare in un'ampia gamma di dispositivi Windows. Offre un framework dell'interfaccia utente moderno e flessibile per la creazione di app di Windows visivamente accattivanti e interattive. WinUI fa parte del Windows App SDK e funziona meglio con le versioni più recenti di Windows.

Posso usare Windows App SDK / WinUI nella mia app 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 genere, WinUI non può essere usato a meno che l'app non sia pronta per eseguire completamente la migrazione del framework dell'interfaccia utente. Una funzionalità denominata isole XAML è in fase di sviluppo per ospitare contenuti WinUI in altri framework dell'interfaccia utente (WPF, Win32).

Gli elementi del Windows App SDK possono essere spesso usati nelle app desktop, a seconda della modalità di compilazione dell'app esistente. Le app UWP non sono supportate da Windows App SDK.

Ciò significa che le app WPF/MFC/WinForms possono usare api Windows App SDK non correlate a WinUI. Alcuni esempi includono il ciclo di vita dell'app, il windowing e le notifiche toast.

Vedi Usare il Windows App SDK in un project per altre informazioni.

È necessario usare Visual Studio per compilare app WinUI?

È consigliabile usare Visual Studio 2022 versione 17.10 o successiva per lo sviluppo di WinUI. Le versioni Visual Studio più recenti offrono funzionalità di sviluppo avanzate come Hot Reload e includono un carico di lavoro WinUI che semplifica la configurazione.

Altri IDE e flussi di lavoro possono funzionare, ma Visual Studio è attualmente l'unico IDE ufficialmente supportato per WinUI. Si noti che MSBuild è necessario per compilare progetti XAML o WinUI.

Qual è la differenza tra WinUI e WinUI per UWP?

WinUI (noto in precedenza come WinUI 3) è il framework dell'interfaccia utente nativo più recente per lo sviluppo di Windows app. Offre un framework dell'interfaccia utente moderno e flessibile per la creazione di app di Windows visivamente accattivanti e interattive. WinUI fa parte del Windows App SDK e funziona meglio con le versioni più recenti di Windows.

WinUI per UWP (noto in precedenza come WinUI 2) è un set di controlli e stili dell'interfaccia utente basati su UWP. Offre un aspetto moderno per le app UWP ed è progettato per Windows 10.

Quando si sviluppa un'app usando Windows App SDK e WinUI, si sta creando un'app WinUI?

Sì: "App WinUI" è il termine consigliato. Le app WinUI vengono definite "app WinUI" perché WinUI per UWP non è un tipo di app, ma un set di componenti usati nelle app UWP.

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

No Windows App SDK non può essere usato nelle app UWP e WinUI per UWP non può essere combinato con WinUI. Vedi Migrate dalla piattaforma UWP al 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, i costi di migrazione dipendono principalmente da:

  1. Project file e personalizzazione di MSBuild: Il lavoro di migrazione varia a seconda dell'utilizzo avanzato di MSBuild.
  2. .NET migrazione API: le app UWP che usano .NET devono passare a .NET 6 o versione successiva. In molti casi, l'adozione di .NET 6 è semplice.
  3. Librerie dei componenti dell'interfaccia utente: Le librerie devono avere versioni destinate a WinUI.
  4. Se l'app UWP è scritta in C++/CX sostituito, è necessaria una conversione del codice sorgente. Consulta Passare a C++/WinRT da C++/CX.

Per altre info, vedi Migrate dalla piattaforma UWP al 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 aggiornare l'identità dell'applicazione. Gli utenti della versione precedente verranno aggiornati alla nuova versione. Questo vale solo per le app desktop. Le app Xbox, HoloLens e Surface Hub non possono eseguire la migrazione a WinUI.

Come faccio a impacchettare e distribuire la mia app WinUI?

Consulta Cenni preliminari sulla distribuzione.

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

Vedi Migrate dalla piattaforma UWP al Windows App SDK.

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

No I controlli dell'interfaccia utente possono essere creati nel codice. Tuttavia, la rappresentazione dell'interfaccia utente nel markup XAML dichiarativo offre molti vantaggi, tra cui un'esperienza di sviluppo migliorata.

  • Migrazione da UWP a WinUI: è possibile riutilizzare molti componenti XAML e dell'interfaccia utente, anche se sono necessarie alcune modifiche alla sintassi.
  • Migrazione da WPF a WinUI: molti concetti portano avanti, ma il set di controlli e le API differiscono.
Visual Studio ha un'area di progettazione/superficie progettuale per l'interfaccia utente di WinUI?

Non ancora. Si tratta di un divario noto nell'esperienza di sviluppo winUI. Strumenti come XAML Hot Reload possono essere utili in molti scenari. Il lavoro è stato avviato su un designer dell'interfaccia utente di Visual Studio per WinUI nel Windows App SDK 1.7, ma non è ancora stato definito un calendario per il rilascio.

Does Windows App SDK includono WinUI?

Sì. WinUI viene fornito come parte del Windows App SDK.

Il Windows App SDK include WinUI per UWP?

No WinUI per UWP fa parte della piattaforma UWP.

WinUI per UWP e WinUI si basano sulla stessa tecnologia?

Non esattamente. Anche se WinUI è stato originariamente avviato dalla codebase di WinUI per la piattaforma UWP, sono tecnologie distinte. Entrambi sono framework dell'interfaccia utente basati su XAML che funzionano tra .NET e C++, ma WinUI per UWP e WinUI non sono compatibili tra loro.

È possibile usare WinUI senza usare Windows App SDK?

No WinUI viene fornito come parte del Windows App SDK.

È possibile usare WinUI in un'app non in pacchetto?

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

Qual è la differenza tra le isole XAML e WinUI?

Le isole XAML consentono di ospitare controlli moderni basati su XAML insieme all'interfaccia utente Win32 esistente da altri framework, ad esempio WinForms e WPF.

Attualmente, le isole XAML supportano la maggior parte del sistema XAML e WinUI per i controlli UWP. Per ulteriori dettagli, vedi Integrare controlli XAML WinRT nelle app desktop (XAML Islands). Il supporto per l'hosting dei controlli WinUI è disponibile a partire da Windows App SDK 1.4.

Se creo un'app WinUI, avrà un aspetto moderno 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, sia in scenari in pacchetto che non in pacchetti.

Co usare sfondi Mica o Acrilico nelle app compilate con Windows App SDK?

Sì. Consulta Applica materiali Mica o Materiali Acrilici nelle app desktop per Windows 11.

Dove è possibile trovare esempi di WinUI?

Vedere Esempi e risorse. Alcuni repository rilevanti:

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

Se hai già investito molto in WPF, puoi continuare a usarlo per le app esistenti. WPF è un framework maturo e stabile ampiamente usato per creare app desktop di Windows.

È consigliabile usare .NET Upgrade Assistant per eseguire la migrazione di app WPF Framework .NET alla piattaforma .NET più recente. Analizza la codebase e fornisce indicazioni sull'aggiornamento.

Se creo una nuova app WPF, avrà un aspetto 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 dei Windows 11. Il nuovo tema Fluent per WPF introduce un'estetica Windows 11 contemporanea, con la modalità Light/Dark integrata e il supporto del colore principale del sistema. In questo modo l'aspetto dell'app viene modernizzato e offre un'esperienza utente lucida e coerente.

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 WinForms soddisfa le tue esigenze e il tuo team è a tuo agio con esso, puoi continuare a usare WinForms per le app esistenti. WinForms è un framework maturo e stabile ampiamente usato per lo sviluppo di desktop Windows.

Il team di WinForms continua a investire nella piattaforma. Alcune aree di investimento attuali includono:

  • Supporto asincrono per i controlli comuni
  • Modalità scura
  • Flessibilità del layout
  • Funzionalità di sicurezza desktop come l'accesso agli appunti

Sviluppo nativo multipiattaforma

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

Se si ha come destinazione utenti su più piattaforme del sistema operativo, la creazione di app multipiattaforma con .NET MAUI o React Native può offrire diversi vantaggi:

  • Raggiungere: Le app multipiattaforma raggiungono un pubblico più ampio tra dispositivi e sistemi operativi diversi.
  • Riutilizzo del codice: Il riutilizzo del codice tra piattaforme riduce i tempi e i costi di sviluppo. La compilazione di app separate per Windows, Android, iOS e macOS può essere eccessivamente costosa.
  • Esperienza utente coerente: I framework multipiattaforma consentono di offrire un aspetto coerente tra le piattaforme.
  • Integrazione: Le app multipiattaforma possono comunque integrarsi con servizi specifici della piattaforma per offrire un'esperienza completa.
È possibile assicurarsi che .NET app MAUI vengano eseguite correttamente in Windows?

Quando crei un'app MAUI .NET per Windows, l'output è un'app WinUI. Durante lo sviluppo, .NET MAUI offre un'unica esperienza .NET tra piattaforme, ma genera codice specifico della piattaforma sotto le quinte. Ciò garantisce che .NET app MAUI funzionino correttamente su ogni piattaforma e forniscano un'esperienza utente nativa.

Come .NET MAUI fornisce API native per dispositivi in ogni piattaforma?

.NET MAUI offre un'esperienza unificata di .NET in Windows, iOS, Android e macOS. Astrae oltre 60 API specifiche della piattaforma in un singolo set di API multipiattaforma, coprendo aree come archiviazione, networking e sensori dei dispositivi. È anche possibile accedere ad API aggiuntive specifiche della piattaforma usando l'inserimento delle dipendenze per fornire implementazioni specializzate per ogni piattaforma.

Posso iniziare con WinUI e successivamente integrare .NET MAUI se alla fine voglio usare scenari multipiattaforma?

Non in questo momento. Anche se .NET MAUI usa WinUI durante l'esecuzione in Windows, i team che prevedono la destinazione di più piattaforme devono iniziare con .NET MAUI o React Native for Desktop.

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

I team con un'esperienza di sviluppo Web avanzata possono voler prendere in considerazione React Native for Desktop. Include React Native per Windows e macOS. Con l'approccio "Learn once, write anywhere", le competenze JavaScript, TypeScript e React esistenti possono essere usate per creare app native di Windows e macOS.

React Native for Desktop esegue il rendering dell'interfaccia utente direttamente in primitive native, offrendo funzionalità native di prestazioni e piattaforma.

Per iniziare, 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 mixed reality dispositivi.

Cosa devo usare se vuoi creare app che funzionano in Windows e Xbox?

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

Che devo usare se voglio creare app che funzionino in Windows e Surface Hub?

Se hai come destinazione Sia Windows che Surface Hub, è consigliabile 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 loro nucleo è costruito utilizzando tecnologie web come HTML, CSS e JavaScript ed è incapsulato in un contenitore nativo che fornisce accesso a determinate funzionalità e all'hardware della piattaforma host. Possono anche essere distribuiti tramite app store.

Il vantaggio principale è che le app ibride 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. Esempi di piattaforme di sviluppo di app ibride includono:

  • Electron per le applicazioni desktop
  • Ionic per le app per dispositivi mobili
  • .NET MAUI Blazor Hybrid per le app multipiattaforma
Come posso creare applicazioni web progressive con esperienza nativa su Windows?

Vedi sviluppo Web su Windows e Panoramica delle App Web progressive.

Cos'è un'app ibrida .NET MAUI Blazor?

Con .NET MAUI, le app Blazor possono essere eseguite in modo nativo in Windows, iOS, Android e macOS. In questo modo è possibile creare app client ibride che combinano i componenti Blazor e .NET MAUI in un'unica app client nativa, con access complete alle funzionalità della piattaforma nativa.

Per altre informazioni, vedere ASP.NET Core Blazor Hybrid.

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

No A partire da .NET 9, .NET MAUI include un controllo HybridWebView che consente di ospitare altre interfacce utente basate su JavaScript all'interno di un'app nativa.

In questo modo è possibile ospitare Angular, React, Vue o altre app HTML/JavaScript all'interno di un'app MAUI .NET. Il controllo ibrido fornisce interoperabilità tra C# e JavaScript, quindi il codice C# può chiamare funzioni JavaScript e viceversa.

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

Sì. WPF e le app WinForms possono anche ospitare componenti ibridi Blazor, consentendo l'aggiunta dell'interfaccia utente Web moderna alle app esistenti. Questa opzione non è supportata per 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?

I componenti nativi e ibridi possono essere misti all'interno di un'app. Ad esempio, il nucleo di un'app può essere compilato con .NET componenti MAUI, mentre i componenti ibridi forniscono funzionalità aggiuntive. Ciò consente di combinare le prestazioni e le funzionalità dei componenti nativi con la flessibilità e l'efficienza dei costi dei componenti ibridi.

Che sono le mie scelte per la creazione di web apps basate su .NET che hanno un aspetto ottimale nei browser moderni in Windows?

Le web app offrono la portata massima di qualunque piattaforma di app client. Le opzioni per la creazione di .NET web apps belle includono:

  • Applicazioni ASP.NET Core con Razor Pages
  • applicazioni ASP.NET Core MVC
  • ASP.NET Core Blazor app, con opzioni per il modello di hosting:
    • Blazor WebAssembly
    • Blazor Server

I modelli di hosting Blazor possono ora essere configurati a livello di componente, abilitando scenari come l'hosting di un componente WebAssembly Blazor all'interno di un'app Blazor Server.

Per altre informazioni, vedere la documentazione ASP.NET Core.

Scegliere un approccio e comprendere gli investimenti di Microsoft

Esistono tante opzioni di framework per la creazione di app destinate a Windows! Come faccio a decidere?

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

  • Stai creando Windows-first o multipiattaforma?
  • Quali linguaggi o competenze si hanno già: .NET, JavaScript, qualcos'altro?
  • È necessario access alle API specifiche di Windows?
  • Quali funzionalità del framework soddisfano meglio i requisiti dell'app?
  • Per altri fattori di confronto, vedere questa tabella .

Per molte app aziendali, i team spesso scelgono in base alle competenze esistenti e a ciò che il team è più comodo usare.

Come posso scegliere l'approccio di sviluppo migliore per la mia app web?

Quando si sceglie un approccio di sviluppo per l'app Web, tenere presente quanto segue:

  • Blazor è consigliato per la creazione di web apps front-end con .NET. Consente di creare sia il front-end che il back-end usando .NET, risparmiando tempo e costi ed è particolarmente utile per le app aziendali.
  • Le applicazioni web in JavaScript hanno ancora senso se si vogliono sfruttare le competenze esistenti in JavaScript o se è necessario integrarsi con librerie o framework JavaScript consolidati.
  • Le app esistenti che usano framework meno recenti come Web Form, MVC o Razor Pages rimangono supportate e possono continuare a essere sviluppate e gestite.
Chi sta creando app con WinUI oggi?

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

Microsoft ha anche creato molte app WinUI, ad esempio Windows 11 File Explorer e l'app Foto.

Chi sta creando app .NET MAUI oggi?

Molti clienti, tra cui Microsoft, creano app multipiattaforma con .NET MAUI. Ad esempio, il Microsoft Azure'app per dispositivi mobili viene compilato usando .NET MAUI.

Per ulteriori informazioni, vedere la vetrina dei clienti .NET.

Chi sta sviluppando app WPF oggi?

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

Chi sta creando app Blazor oggi?

GE Digital FlightPulse sistema per compagnie aeree usa Blazor per la configurazione back-end di tutto ciò che i piloti vedono, portando direttamente ai piloti i dati dei sensori e l'analisi per migliorare la sicurezza e l'efficienza.

Guarda altre storie dei clienti Blazor sul sito .NET.

Creazione di pacchetti, distribuzione e aggiornamenti

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

Per le definizioni di applicazioni confezionate, non confezionate e confezionate con localizzazioni esterne, vedere 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 tramite un pacchetto MSI o setup.exe esistente. Store e AppInstaller supportano gli aggiornamenti automatici per gli utenti finali che dispongono di aggiornamenti automatici abilitati, ma le app MSI/setup.exe devono fornire il proprio meccanismo di aggiornamento.

È possibile usare Windows App SDK senza usare MSBuild?

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

Prestazioni e ottimizzazione

Che posso fare per rendere il mio Windows app ideale per gli utenti finali?

Vedere Sviluppo di applicazioni Windows - Pratiche consigliate e Panoramica delle prestazioni e dei concetti fondamentali delle app Windows.

Compatibility

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

Gli utenti con Windows 10 versione 1809 o successiva possono installare app WinUI senza aggiornare il sistema operativo.

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

Sì.

Deprecazione e migrazioni

La piattaforma UWP/WinUI per la piattaforma UWP è deprecata?

No La piattaforma UWP e WinUI per la piattaforma UWP sono ancora supportate e continuano a ricevere correzioni di bug, affidabilità e sicurezza. Tuttavia, la maggior parte delle nuove funzionalità e funzionalità viene aggiunta a WinUI.

È disponibile il supporto UWP per .NET 9. Questa opzione fornisce un percorso di modernizzazione per le app UWP che usano la versione .NET più recente.

Gli obiettivi del supporto UWP .NET 9 sono:

  1. Fornire un percorso di migrazione migliore per gli sviluppatori che vogliono passare a WinUI.
  2. Rimuovere le dipendenze da .NET Native in modo che gli sviluppatori possano trarre vantaggio dalle funzionalità di .NET e C# più recenti.

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

Quando è necessario eseguire la migrazione di un'app UWP/WinUI per la piattaforma UWP a WinUI?

Gli sviluppatori UWP non devono sentirsi sottoposti a pressione per eseguire la migrazione se sono soddisfatti della piattaforma UWP e del set di funzionalità: per molte app, la scelta giusta può essere quella di rimanere nella piattaforma UWP.

Le app che vogliono trarre vantaggio dalla piattaforma Windows più recente e dagli investimenti .NET dovrebbero prendere in considerazione il passaggio alla Windows App SDK. Vedi Migrate dalla piattaforma UWP al Windows App SDK.

Quando è consigliabile *non* eseguire la migrazione di un'app UWP + WinUI per UWP a WinUI?

Continuare a usare la piattaforma UWP se stai creando per Xbox, Surface Hub o HoloLens.

È WPF obsoleto?

No WPF è supportato, consigliato e continua a ricevere gli aggiornamenti delle funzionalità. Consulta la roadmap WPF su GitHub.

WinForms è deprecato?

No WinForms è supportato e continua a ricevere gli aggiornamenti delle funzionalità. Consulta la Roadmap di Windows Forms su GitHub.

È la Windows Runtime (WinRT) deprecata?

No WinRT è un'interfaccia ABI (Application Binary Interface) che consente l'interoperabilità tra più linguaggi. WinRT è l'evoluzione di COM e il Windows App SDK offre la maggior parte delle sue funzionalità tramite le API WinRT.

Note di rilascio

Dove è possibile trovare le note sulla versione per Windows App SDK?

Le note sulla versione più recenti sono disponibili nella pagina Novità .