Den här artikeln är avsedd att främja en gemensam förståelse av Windows utvecklingsupplevelse och produktriktning.
Dagens utvecklingslandskap för Windows-appar erbjuder en mängd olika ramverk och tekniker att välja mellan. De här vanliga frågorna ger vägledning om hur du bestämmer vilket ramverk som ska användas för dina Utvecklingsprojekt för Windows-appar. Den beskriver följande ämnen:
- Komma igång och utvecklingslandskapet för Windows-appar.
- Inbyggd windowsbaserad apputveckling med WinUI, Windows Presentation Foundation (WPF) och Windows Forms (WinForms).
- Windows Software Development Kit (SDK) och Windows App SDK.
- Att rikta in sig på Windows som en del av din plattformsoberoende utvecklingsstrategi.
- Hybrid- och webbappsutveckling med .NET MAUI, Blazor och ASP.NET Core.
- Så här väljer du en metod samtidigt som du förstår Microsofts investeringar.
Utvecklingslandskapet för Windows-appen
Var hittar jag en enkel översikt över Windows-utvecklingstekniker?
Varför är utveckling av klientappar fortfarande avgörande för modern digital omvandling i molntjänsternas era?
I molntjänsternas tidsålder är utveckling av klientappar fortfarande en viktig del av den moderna digitala omvandlingen. För utvecklare är det viktigt att skapa klientprogram inte bara för räckvidd utan för att leverera dynamiska, meningsfulla interaktioner på användarenheter.
Därför spelar klientappar fortfarande roll:
- Device Reach: Med över 1,5 miljarder Windows-enheter och mer än 5 miljarder Android- och iOS-enheter globalt kan du med klientappar ta med dina program direkt till användare på valfria enheter.
- Gateway to Intelligent Services: Klientappar är ofta den första interaktionen som användarna har med dina tjänster. De erbjuder ett omfattande, interaktivt gränssnitt som gör att du kan visa upp intelligenta funktioner och skilja din produkt från andra.
- skalbarhet med molnintegrering: En välintegrerad klientapp kan synkroniseras utan problem med serverdelsmolntjänster, vilket möjliggör dataåtkomst i realtid och smidig skalbarhet när användarbasen växer.
- Förbättrad produktivitet och användarlojalitet: En genomtänkt app kan förbättra produktiviteten och hålla användarna delaktiga i din produkt eller tjänst över tid.
Inbyggd utveckling av appar med endast Windows
Vad är Windows App SDK?
Windows App SDK är en Windows-programutvecklingsplattform som gör att du kan skapa snygga, moderna, bakåtkompatibla (ned till Windows 10 1809) skrivbordsappar. WinUI 3 är UI-ramverket som levereras med Windows App SDK.
Vad är skillnaden mellan Windows App SDK och Windows SDK?
Båda är programutvecklingspaket (SDK:er) som gör att du kan skapa Windows-appar.
Windows App SDK är en ny utvecklingsplattform som gör att du kan skapa moderna skrivbordsappar som kan installeras i Windows-versioner (ned till Windows 10 1809). När du använder Windows App SDK för att skapa en app har du åtkomst till de senaste funktionerna i Windows-utvecklingsplattformen. Windows App SDK innehåller WinUI 3.
Windows SDK är en utvecklingsplattform som gör att du kan skapa UWP-appar och Win32-/skrivbordsappar. Den är utformad kring Windows-API:er som är kopplade till vissa versioner av operativsystemet.
Windows App SDK ersätter inte Windows SDK. I stället är Windows App SDK ett komplement till Windows SDK. Det ger en bekväm, OS-frikopplad abstraktion runt den omfattande katalogen med Windows OS-API:er som du redan kan komma åt med Hjälp av Windows SDK. När du skapar appar med Windows App SDK kan det hända att du använder vissa Windows SDK-API:er beroende på vilka funktioner du behöver. Med tiden kommer fler Windows SDK-funktioner att lyftas till Windows App SDK.
Jag skapar ett nytt team för att utveckla en Windows-app. Varför ska jag välja att utveckla med ett internt Windows-ramverk som WinUI, WPF eller WinForms?
Här följer några anledningar till att välja ett internt Windows-ramverk för din Windows-app:
- Prestanda: interna Windows-ramverk är optimerade för att utnyttja den fulla kraften i dagens Windows-maskinvara och ge snabba och dynamiska användarupplevelser.
- Integration: Windows levereras med många olika API:er för att skapa avancerade upplevelser som endast är tillgängliga i Windows. De inbyggda ramverken ger djup integrering med dessa funktioner och API:er.
- intern användarupplevelse: interna Windows-ramverk ger en konsekvent användarupplevelse på Windows-enheter, vilket säkerställer att din app ser ut och fungerar bra på alla Windows-enheter.
- Offline-stöd: interna Windows-ramverk ger stöd för offlinescenarier, vilket gör att appen kan fungera även när användaren inte är ansluten till Internet.
- Monetarisering: interna Windows-ramverk underhålls aktivt och stöds av Microsoft, vilket säkerställer att du har åtkomst till de senaste uppdateringarna och funktionerna.
Vilket ramverk ska jag använda för att utnyttja Microsofts senaste investeringar i Utveckling av Windows-appar?
Om du skapar en ny Windows-app rekommenderar vi att du använder WinUI. WinUI är det senaste interna användargränssnittsramverket för utveckling av Windows-appar och är utformat för att fungera på en mängd olika Windows-enheter. WinUI tillhandahåller ett modernt och flexibelt gränssnittsramverk som gör att du kan skapa visuellt tilltalande och interaktiva Windows-appar. WinUI är en del av Windows App SDK och är utformat för att fungera bäst med de senaste versionerna av Windows.
Kan jag använda Windows App SDK/WinUI i min befintliga Windows-app?
Observera att WinUI (ett UI-ramverk) levereras med Windows App SDK (ett utvecklingsramverk för Windows-plattformen).
Generellt sett kan du inte använda WinUI om du inte är redo att migrera ditt gränssnittsramverk helt och hållet. Vi arbetar med en funktion som heter XAML-öar som gör att du kan vara värd för WinUI-innehåll i andra UI-ramverk (WPF, Win32).
Du bör kunna använda element i Windows App SDK i valfri skrivbordsapp, beroende på hur din befintliga app har skapats. UWP-appar stöds inte av Windows App SDK.
Det innebär att WPF/MFC/WinForms appar kan använda Windows App SDK-API:er som inte är relaterade till WinUI. Exempel på sådana API:er är applivscykel, fönster och popup-meddelanden.
Mer information finns i Använda Windows App SDK i ett befintligt projekt.
Behöver jag använda Visual Studio för att skapa WinUI-appar?
Vi rekommenderar starkt att du använder Visual Studio 2022 version 17.10 och senare för att utveckla WinUI-appar. Med den senaste versionen av Visual Studio får du tillgång till omfattande utvecklingsfunktioner som Hot Reload. De senaste Visual Studio-installationsprogrammet innehåller en Windows-programutveckling arbetsbelastning, vilket gör det enkelt att komma igång med WinUI-utveckling.
Du kanske kan använda andra IDE:er och arbetsflöden för utveckling, men Visual Studio är för närvarande den enda officiellt stödda IDE:en för WinUI. Observera att MSBuild- krävs för att kompilera projekt som använder XAML eller WinUI.
Skapar jag en "WinUI-app" när jag skapar en app med Windows App SDK och WinUI 3?
Ja – "WinUI-app" är den term som vi rekommenderar att du använder. WinUI 3-appar kallas vanligtvis "WinUI-appar", eftersom WinUI 2 inte är en typ av app utan en uppsättning komponenter som kan användas i UWP-appar.
Kan jag stegvis uppdatera min UWP-app med WinUI 2-kontroller till WinUI 3 genom att gradvis ersätta WinUI 2-komponenter med WinUI 3-komponenter?
Nej. Windows App SDK kan inte användas i UWP-appar och WinUI 2 kan inte blandas med WinUI 3. Se Migrera från UWP till Windows App SDK.
Hur svårt är det att migrera en UWP-app till WinUI?
Det är vanligtvis enkelt att migrera gränssnittskomponenter (för C# och C++/WinRT). I annat fall beror kostnaden för att migrera från UWP till WinUI främst på följande faktorer:
- Project-fil och MSBuild-anpassning: Migrering av projektet kan kräva en betydande nivå av arbete, beroende på om du använder avancerade MSBuild-funktioner.
- .NET API-migrering: Om UWP-appen förlitar sig på .NET måste du uppgradera till .NET 6 eller senare. I de flesta fall är införandet av .NET 6 direkt.
- komponentbibliotek för användargränssnittet: Om du använder komponentbibliotek för användargränssnittet behöver du nya versioner av dem som är avsedda för WinUI 3.
- Om UWP-källkoden skrivs i den nu ersatta C++/CX kommer viss källkodsportning att ingå. Se Flytta till C++/WinRT från C++/CX.
Mer information om UWP-migrering finns i Migrera från UWP till Windows App SDK.
Kan jag publicera en ny paketerad WinUI-app med samma identifierare om jag har en befintlig UWP-app i Store?
Ja, uppgraderade appar kan publiceras utan att behöva uppdatera programmets identitet. Användare som har den gamla versionen uppdateras till den nya versionen. Den här vägledningen gäller endast för skrivbordsappar. Xbox-, HoloLens- och Surface Hub-appar kan inte migreras till WinUI.
Hur paket/distribuerar jag min WinUI-app?
Var hittar jag migreringsvägledningen för Windows App SDK?
Behöver jag använda XAML-kod om jag vill använda WinUI?
Nej. Användargränssnittskontroller kan skapas i kod. Men det finns många fördelar med att representera ditt WinUI-användargränssnitt i form av deklarativ XAML-markering, till exempel förbättrad utvecklarupplevelse.
Om du migrerar från UWP till WinUI kan du förmodligen återanvända mycket av din XAML-kod och UI-relaterade kod (men du måste uppdatera en del av syntaxen). Om du migrerar från WPF till WinUI kan du återanvända många av begreppen, men kontrolluppsättningen och API:erna skiljer sig åt.
Har Visual Studio en designyta/användargränssnittsdesigner för WinUI?
Inte ännu. Vi inser att detta är en lucka i WinUI-utvecklarupplevelsen. Verktyg som XAML Hot Reload kan vara till hjälp i många scenarier. Work har börjat på en Visual Studio UI-designer för WinUI i Windows App SDK 1.7, men det finns ingen tidslinje för lanseringen av den här funktionen ännu.
Innehåller Windows App SDK WinUI 3?
Ja. WinUI 3 levereras som en del av Windows App SDK.
Innehåller Windows App SDK WinUI 2?
Nej. WinUI 2 är en del av UWP-plattformen.
Bygger WinUI 2 och WinUI 3 på samma teknik?
Närapå. Även om WinUI 3 startades från WinUI 2-kodbasen är de distinkta tekniker. Både WinUI 2 och WinUI 3 är XAML-baserade gränssnittsramverk som fungerar i .NET och C++. Observera att WinUI 2 och WinUI 3 inte är kompatibla med varandra.
Kan jag använda WinUI 3 utan att använda Windows App SDK?
Nej. WinUI 3 levereras som en del av Windows App SDK.
Kan jag använda WinUI 3 i en uppackad app?
Ja. Alla tekniker i Windows App SDK fungerar i uppackade appar, inklusive WinUI 3.
Vad är skillnaden mellan XAML-öarna och WinUI 3?
Med XAML Islands kan du vara värd för moderna WinUI-kontroller tillsammans med befintligt Win32-användargränssnitt från andra ramverk, till exempel WinForms och WPF. I dag stöds XAML-öarna med de flesta XAML- och WinUI 2-kontroller för system. Mer information finns i Host WinRT XAML-kontroller i skrivbordsappar (XAML Islands). XAML Islands-stöd för WinUI 3-kontroller är tillgängligt från och med Windows App SDK 1.4.
Kommer det att se modernt ut för både Windows 11 och Windows 10 om jag skapar en WinUI-app?
Ja, appens användargränssnitt ärver de senaste designprinciperna för Fluent UI på alla versioner av Windows 11 och Windows 10 ned till version 1809 i både paketerade och uppackade scenarier.
Kan jag använda Mica- eller Akrylbakgrunder i appar som skapats med Windows App SDK?
Var hittar jag WinUI-exempel?
Se exempel och resurser. Några viktiga lagringsplatser:
- WindowsAppSDK-Samples: Visar hur du använder specifika Windows App SDK API-uppsättningar.
- WinUI 3 Demos: Innehåller demonstrationer som används under Microsofts WinUI-presentationer.
- WinUI Gallery: Visar WinUI och Windows App SDK. Du kan också hämta WinUI-galleriet i Microsoft Store.
Om jag redan har investerat mycket i WPF, bör jag fortsätta att använda WPF eller bör jag överväga att migrera till WinUI?
Om du redan har investerat mycket i WPF kan du fortsätta att använda WPF för dina befintliga appar. WPF är ett moget och stabilt ramverk som ofta används av utvecklare för att skapa Windows-skrivbordsappar.
Överväg att använda .NET Upgrade Assistant för att migrera dina .NET Framework WPF-appar till den senaste .NET-plattformen. .NET Upgrade Assistant är ett verktyg som hjälper dig att migrera .NET Framework-appar till de senaste versionerna av .NET som stöds. .NET Upgrade Assistant analyserar din befintliga kodbas och ger vägledning om hur du uppdaterar koden.
Kommer den att se daterad ut jämfört med andra nya Windows-appar om jag skapar en ny WPF-app?
När du utvecklar ett WPF-program med .NET 9 eller senare kan du se till att din app matchar det eleganta, moderna utseendet i Windows 11. Det nya Fluent-temat för WPF introducerar en modern Windows 11-estetik för WPF-program, komplett med integrerat ljust/mörkt läge och stöd för systemaccenterfärg. Den här uppdateringen moderniserar inte bara appens utseende utan förbättrar även användarnas engagemang genom att tillhandahålla en polerad och sammanhängande användarupplevelse.
Mitt team är bekvämt med att skapa WinForms-appar och det passar våra behov. Bör vi överväga att migrera till WinUI eller något annat ramverk?
Om ditt team är bekvämt med att skapa WinForms-appar och WindForms uppfyller dina behov kan du fortsätta att använda WinForms för dina befintliga appar. WinForms är ett moget och stabilt ramverk som ofta används av utvecklare för att skapa Windows-skrivbordsappar.
WinForms-teamet investerar i olika funktioner och har en aktiv community med deltagare. Några aktuella investeringsområden är:
- Async-stöd med vanliga kontroller
- Mörkt läge
- Layoutflexitet
- Skrivbordssäkerhetsfunktioner som åtkomst till Urklipp
Plattformsoberoende utveckling
Vilka är några orsaker till att skapa plattformsoberoende, inbyggda appar som riktar sig mot Windows?
Om du riktar in dig på användare på flera os-plattformar kan det ge flera fördelar att skapa plattformsoberoende appar med .NET MAUI eller React Native:
- Reach: Att skapa plattformsoberoende appar gör att du kan nå en större publik av användare på olika plattformar.
- Kod återanvändning: Att skapa plattformsoberoende appar gör att du kan återanvända kod på olika plattformar, vilket minskar utvecklingstiden och kostnaderna. Det kan vara oöverkomligt dyrt att skapa separata appar för Windows, iOS, Android, macOS osv.
- Konsekvent användarupplevelse: Skapa plattformsoberoende appar kan du ge en konsekvent användarupplevelse på olika plattformar, vilket säkerställer att din app ser ut och fungerar bra på alla enheter.
- Integration: Att skapa plattformsoberoende appar gör att du kan integrera med olika plattformar och tjänster så att du kan ge en mer omfattande användarupplevelse.
Kan jag vara säker på att .NET MAUI-appar kommer att köras bra i Windows?
När du skapar en .NET MAUI-app för Windowsär dina utdata en WinUI-app. Under utvecklingen ger .NET MAUI en enda .NET-upplevelse på alla plattformar, inklusive Windows, men under huven genererar den plattformsspecifik kod. Detta säkerställer att din .NET MAUI-app fungerar bra på varje plattform och ger en inbyggd användarupplevelse.
Hur kan .NET MAUI tillhandahålla interna enhets-API:er på alla plattformar?
.NET MAUI ger en enda .NET-upplevelse på alla plattformar, inklusive Windows, iOS, Android och macOS. .NET MAUI abstraherar över 60 plattformsspecifika API:er till ett enda plattformsoberoende API som du kan använda i .NET MAUI-appen. Dessa API:er omfattar åtkomst till lagring, nätverk, enhetsspecifika sensorer med mera. Om det behövs kan du också komma åt ytterligare plattformsspecifika API:er med hjälp av beroendeinmatning för att abstrahera koden för varje plattform.
Kan jag börja med WinUI och senare integrera .NET MAUI om jag så småningom vill rikta in mig på plattformsoberoende scenarier?
Inte just nu. Även om .NET MAUI-appar använder WinUI när de körs i Windows rekommenderar vi att du börjar med .NET MAUI eller React Native for Desktop om du räknar med att du behöver rikta in dig på flera plattformar.
Vårt team har starka utvecklingskunskaper på klientsidan. Bör vi överväga att använda React Native för Desktop?
Om ditt team har starka webbutvecklingskunskaper kan du överväga att använda React Native for Desktop. React Native for Desktop omfattar React Native for Windows och macOS frameworks. Mottot för React Native är "Learn once, write anywhere", vilket innebär att du kan använda dina befintliga webbutvecklingskunskaper för att skapa interna Windows-appar med React Native. React Native for Desktop är ett projekt med öppen källkod som gör att du kan skapa interna Windows- och macOS-appar med React Native. React Native for Desktop innehåller en uppsättning API:er som gör att du kan komma åt os-specifika funktioner för stationära datorer i dina React Native-appar.
Ditt team kan använda sina kunskaper i JavaScript, TypeScript och React för att skapa användargränssnittslagret, som återges direkt till ursprungliga primitiver. Detta ger inbyggd appprestanda och åtkomst till funktionerna i den interna plattformen.
Läs mer om att komma igång med React Native-utveckling för Windows i dokumentationen React Native for Desktop.
Stöds andra Windows-enheter av React Native for Desktop?
React Native-appar kan distribueras till alla enheter som stöds av Windows 10 och senare, inklusive datorer, surfplattor, 2-i-1-enheter, Xbox- och Mixed Reality-enheter.
Vad ska jag använda om jag vill skapa appar som fungerar på Windows och Xbox?
Om din app behöver stöd för Xbox, HoloLens eller IoT rekommenderar vi att du använder UWP. Windows App SDK stöder inte dessa plattformar. För spelutveckling rekommenderar vi att du använder Microsoft Game Development Kit.
Vad ska jag använda om jag vill skapa appar som fungerar på Windows och Surface Hub?
Om du riktar in dig på både Windows och Surface Hub rekommenderar vi att du använder UWP.
Hybrid- och webbutveckling
Vad är hybridappar och varför bör jag överväga att skapa en?
Hybridappar blandar det bästa av webb- och intern apputveckling. Kärnan i appen bygger på webbtekniker som HTML, CSS och JavaScript och omsluts sedan i en inbyggd container som gör att appen kan använda vissa inbyggda plattformsfunktioner och maskinvara. De kan också distribueras via appbutiker.
Den största fördelen med hybridappar är att de gör att du kan skapa en enda app som kan köras på flera interna plattformar och på webben, vilket minskar utvecklingstiden och kostnaderna. Några exempel på hybridappsutvecklingsplattformar svarar:
- Elektron för skrivbordsappar
- Ionic för mobilappar
- .NET MAUI Blazor-hybrid för plattformsoberoende appar
Hur skapar jag inbyggda progressiva webbappar (PWA) i Windows?
Vad är en .NET MAUI Blazor-hybridapp?
Med .NET MAUI kan Blazor-appar också köras internt i Windows, iOS, Android och macOS. Det innebär att du kan skapa hybridklientappar som kombinerar Blazor- och .NET MAUI-komponenter till en enda intern klientapp. Detta ger fullständig åtkomst till samma inbyggda plattformsfunktioner som är tillgängliga för andra .NET MAUI-appar.
Mer information om hur Blazor kan hanteras i en .NET MAUI-app finns i ASP.NET Core Blazor Hybrid.
Behöver webbkomponenterna i en .NET MAUI-hybridapp skapas med Blazor?
Nej, webbkomponenterna i en .NET MAUI-hybridapp behöver inte skapas med Blazor. Från och med .NET 9 tillhandahåller .NET MAUI en HybridWebView-kontroll som gör att du kan vara värd för andra JavaScript-UIs i din interna app.
Det innebär att du kan använda din Webbapp för Angular, React, Vue eller andra HTML-& JavaScript och vara värd för den i din .NET MAUI-app. Hybridkontrollen ger interop mellan C#- och JavaScript-lagren så att du kan anropa JavaScript-funktioner från C# och vice versa.
Kan andra inbyggda apptyper vara värdar för Blazor-hybridkomponenter?
Ja, WPF- och WinForms-appar kan också vara värdar för Blazor-hybridkomponenter. På så sätt kan du lägga till moderna webbgränssnittskomponenter i dina befintliga WPF- och WinForms-appar. Observera att detta inte är möjligt med WPF- eller WinForms-appar som bygger på .NET Framework.
Behöver hela min app vara en hybridapp, eller kan jag blanda och matcha inbyggda komponenter och hybridkomponenter?
Du kan blanda och matcha inbyggda komponenter och hybridkomponenter i din app. Du kan till exempel skapa kärnan i din app med hjälp av .NET MAUI-komponenter och sedan lägga till hybridkomponenter för att tillhandahålla ytterligare funktioner. På så sätt kan du utnyttja det bästa av två världar: prestanda och funktioner för inbyggda komponenter och flexibilitet och kostnadsbesparingar för hybridkomponenter.
Vilka är mina val för att skapa . NET-baserade webbappar som ser bra ut i moderna webbläsare i Windows?
Webbappar har den bredaste räckvidden för alla klientappsplattformar. Om du vill skapa snygga .NET-webbappar i Windows har du flera alternativ:
- ASP.NET Core-appar med Razor Pages
- ASP.NET Core MVC-appar
- ASP.NET Core Blazor-appar, med värdmodellalternativ som:
- Blazor WebAssembly-appar
- Blazor Server-appar
Observera att värdmodellen för Blazor nu kan konfigureras på komponentnivå. Därför kan du ha en Blazor WebAssembly-komponent i en Blazor Server-app.
Läs mer om ASP.NET Core-utvecklingsalternativ i ASP.NET Core-dokumentationen.
Välj en metod och förstå Microsofts investeringar
Det finns så många ramverksalternativ för att skapa appar som är avsedda för Windows! Hur bestämmer jag mig?
Windows är en öppen plattform som stöder många tekniker. Här följer några kriterier som kan hjälpa dig att avgöra vilken plattform som ska användas:
- Skapar du Windows-första eller plattformsoberoende?
- Har du erfarenhet av .NET? JavaScript? Andra språk?
- Behöver du komma åt Windows-specifika API:er?
- Vilka ramverksfunktioner matchar bäst appens krav?
- Se den här tabellen för andra beslutsfaktorer.
När det gäller företagsappar vill de flesta team välja baserat på befintliga kunskaper och vad teamet är bekvämt med att använda.
Hur väljer jag den bästa utvecklingsstrategin för min webbapp?
Några saker att tänka på när du väljer en utvecklingsmetod för din webbapp är:
- Blazor rekommenderas för att skapa klientwebbappar med .NET. Genom att använda Blazor kan du nu skapa hela klientdelen och serverdelen med .NET, vilket sparar tid och pengar. Den passar särskilt bra för företagsspecifika appar på dagens enheter.
- JavaScript-webbappar är fortfarande meningsfulla om du vill utnyttja teamets befintliga kunskaper eller investeringar i JavaScript, eller om du behöver integrera med befintliga JavaScript-bibliotek eller ramverk.
- Befintliga appar som använder äldre ramverk, till exempel webbformulär, MVC eller Razor Pages, stöds fortfarande och kan fortsätta att utvecklas och underhållas med dessa ramverk.
Vem skapar appar med WinUI idag?
Många kunder bygger med WinUI idag, inklusive Adobe och Apple:
- Adobe Fresco, en kostnadsfri ritnings- och målningsapp för Windows.
- Apple skapade Apple Music, Apple TVoch Apple Devices appar med WinUI och Windows App SDK.
Microsoft har också skapat flera appar med WinUI, inklusive windows 11-utforskaren och fotoapparna.
Vem skapar .NET MAUI-appar idag?
Många kunder använder .NET MAUI för att skapa sina plattformsoberoende appar idag, inklusive Microsoft. Till exempel skapades Microsoft Azure-mobilappen med hjälp av .NET MAUI.
Ta reda på vem mer som skapar appar med .NET MAUI på .NET-kunder visar upp webbplats.
Vem skapar WPF-appar idag?
Det mesta av Microsoft Visual Studio-användargränssnittet är byggt med WPF. Visual Studio IDE är ett bra exempel på en komplex WPF-app med höga prestanda.
Vem skapar Blazor-appar idag?
GE Digitals FlightPulse flygbolagssystem lägger sensordata och analys i händerna på piloter för att förbättra säkerheten och effektiviteten. Serverdelskonfigurationen av allt som piloterna ser görs med Blazor.
Du kan läsa mer Blazor-kundberättelser på .NET-webbplatsen.
UWP och WinUI 2
Kan UWP-appar distribueras utanför Microsoft Store?
Ja. Om ditt MSIX- paket är signerat måste signeringscertifikatet vara giltigt och betrott på målenheten.
Kan jag blanda UWP XAML-användargränssnittskontroller med win32-, WPF- eller WinForms-användargränssnittskontroller?
Ja – med XAML-öarna kan du göra detta. Läs mer om XAML Islands.
Paketering, distribution och uppdateringar
Vad är skillnaden mellan appar som paketeras, packas upp och paketeras med extern plats?
Definitioner av appar som paketeras, packas upp och paketeras med extern plats finns i Distributionsöversikt. Det avsnittet förklarar också fördelarna och nackdelarna med varje alternativ.
Kommer min WinUI-app automatiskt att uppdateras för slutanvändare?
En WinUI-app kan levereras via Store, en .appinstaller-fil eller i ditt befintliga MSI- eller setup.exe-paket. Store och AppInstaller stöder automatiska uppdateringar för slutanvändare som har automatisk uppdatering aktiverat, men din MSI/setup.exe-app måste ha en egen uppdatering.
Kan jag använda Windows App SDK utan att använda MSBuild?
Generellt sett, nej. WinUI och Windows App SDK kräver MSBuild, vilket är anledningen till att Visual Studio är en förutsättning för att utveckla med WinUI och Windows App SDK. Det är tekniskt möjligt att skapa Windows App SDK-appar som inte använder WinUI med hjälp av andra verktygskedjor, men detta stöds inte.
Prestanda och optimering
Vad kan jag göra för att få min Windows-app att kännas bra för slutanvändarna?
Kompatibilitet
Kommer mina användare någonsin att behöva uppdatera Windows för att använda min WinUI-app?
Användare som har Windows 10 version 1809 och senare kommer att kunna installera dina WinUI-appar utan att uppdatera operativsystemet.
Kan jag rikta in mig på Arm64 med min WinUI-app?
Ja.
Utfasningar och migreringar
Är UWP/WinUI 2 inaktuellt?
Nej. UWP och WinUI 2 stöds fortfarande och får bugg-, tillförlitlighets- och säkerhetskorrigeringar. De flesta nya funktioner, inklusive stöd för de senaste .NET-körningarna, läggs dock bara till i WinUI 3.
När ska jag migrera en UWP/WinUI 2-app till WinUI 3?
UWP-utvecklare bör inte känna någon press att migrera sina appar till WinUI 3, om de är nöjda med UWP och dess funktionsuppsättning. Det bästa valet för vissa appar kan vara att aldrig migrera. För appar som vill dra nytta av den senaste Windows-plattformen och .NET-investeringar från Microsoft bör dessa appar överväga att flytta till Windows App SDK. Se Migrera från UWP till Windows App SDK).
När ska jag *inte* migrera en UWP + WinUI 2-app till WinUI 3?
Vi rekommenderar att du fortsätter att använda UWP om du skapar för Xbox, Surface Hub eller HoloLens.
Är WPF inaktuellt?
Nej. WPF stöds fortfarande och får även vissa funktionsuppdateringar.
Är WinForms inaktuellt?
Nej. WinForms stöds fortfarande och får även vissa funktionsuppdateringar.
Är Windows Runtime (WinRT) inaktuell?
Nej. WinRT- refererar till ett program binärt gränssnitt (ABI) som gör att du inte kan använda flera språk. WinRT är utvecklingen av COM. Windows App SDK tillhandahåller de flesta av sina funktioner via WinRT-API:er.
Utgåvan
Var hittar jag viktig information för Windows App SDK?
Se viktig information om stable channel och preview channel release notes.