Bewerken

Delen via


Veelgestelde vragen over Windows-ontwikkelaars

Dit artikel is bedoeld om een gemeenschappelijk begrip van de Windows-ontwikkelervaring en productrichting te bevorderen.

Het ontwikkellandschap van windows-apps biedt een verscheidenheid aan frameworks en technologieën waaruit u kunt kiezen. Deze veelgestelde vragen bevatten richtlijnen voor het bepalen van het framework dat moet worden gebruikt voor uw Windows-app-ontwikkelingsprojecten. Hierin worden de volgende onderwerpen behandeld:

  • Aan de slag en het ontwikkellandschap van windows-apps.
  • Ontwikkeling van systeemeigen Windows-apps met WinUI, Windows Presentation Foundation (WPF) en Windows Forms (WinForms).
  • De Windows Software Development Kit (SDK) en Windows App SDK.
  • Gericht op Windows als onderdeel van uw platformoverschrijdende ontwikkelstrategie.
  • Ontwikkeling van hybride en web-apps met .NET MAUI, Blazor en ASP.NET Core.
  • Hoe u een benadering kiest terwijl u de investeringen van Microsoft begrijpt.

Het ontwikkellandschap van de Windows-app

Waar vind ik een eenvoudig overzicht van Windows-ontwikkeltechnologieën?

Bekijk de meest recente Windows Dev Chat aflevering, Uw ideale ontwikkelplatform kiezen, waar ze WinUI, .NET MAUI, React Native, Blazor en Progressive Web Apps (PBA's) bespreken voor een geweldige beoordeling van de opties van vandaag voor Windows-ontwikkelaars.

U kunt ook verwijzen naar het overzicht van app-ontwikkelopties voor Windows-ontwikkelaars.

Waarom is de ontwikkeling van client-apps nog steeds cruciaal voor moderne digitale transformatie in het tijdperk van cloudservices?

In de leeftijd van cloudservices blijft de ontwikkeling van client-apps een essentieel onderdeel van moderne digitale transformatie. Voor ontwikkelaars is het bouwen van clienttoepassingen essentieel, niet alleen voor bereik, maar voor het leveren van responsieve, zinvolle interacties op gebruikersapparaten.

Hier ziet u waarom client-apps nog steeds van belang zijn:

  • Device Reach: Met meer dan 1,5 miljard Windows-apparaten en meer dan 5 miljard Android- en iOS-apparaten wereldwijd kunt u met client-apps uw toepassingen rechtstreeks naar gebruikers brengen op hun apparaten.
  • Gateway to Intelligent Services: Client-apps zijn vaak de eerste interactie die gebruikers met uw services hebben. Ze bieden een uitgebreide, interactieve interface waarmee u intelligente functies kunt presenteren en uw product kunt onderscheiden van anderen.
  • schaalbaarheid met cloudintegratie: Een goed geïntegreerde client-app kan moeiteloos worden gesynchroniseerd met back-endcloudservices, waardoor realtime gegevenstoegang en naadloze schaalbaarheid mogelijk zijn naarmate uw gebruikersbestand groeit.
  • Verbeterde productiviteit en gebruikersloyaliteit: Een zorgvuldig ontworpen app kan de productiviteit verbeteren en gebruikers in de loop van de tijd betrokken houden bij uw product of service.

Ontwikkeling van systeemeigen Windows-apps

Wat is de Windows App SDK?

De Windows App SDK is een ontwikkelplatform voor Windows-toepassingen waarmee u prachtige, moderne, achterwaarts compatibele bureaublad-apps (omlaag naar Windows 10 1809) kunt maken. WinUI 3 is het UI-framework dat wordt geleverd met Windows App SDK.

Wat is het verschil tussen de Windows App SDK en de Windows SDK?

Beide zijn SDK's (Software Development Kits) waarmee u Windows-apps kunt bouwen.

De Windows App SDK- is een nieuw ontwikkelplatform waarmee u moderne bureaublad-apps kunt bouwen die kunnen worden geïnstalleerd in Windows-versies (omlaag naar Windows 10 1809). Wanneer u Windows App SDK gebruikt om een app te bouwen, hebt u toegang tot de nieuwste functies van het Windows-ontwikkelplatform. De Windows App SDK bevat WinUI 3.

De Windows SDK is een ontwikkelplatform waarmee u UWP-apps en Win32-/desktop-apps kunt bouwen. Het is ontworpen rond Windows-API's die zijn gekoppeld aan bepaalde versies van het besturingssysteem.

De Windows App SDK vervangt de Windows SDK-niet. In plaats daarvan is de Windows App SDK een aanvulling op de Windows SDK. Het biedt een handige, losgekoppelde abstractie van het besturingssysteem rond de uitgebreide catalogus met Windows OS-API's die u al kunt openen met behulp van de Windows SDK. Wanneer u apps bouwt met Windows App SDK, gebruikt u mogelijk enkele Windows SDK-API's, afhankelijk van de functionaliteit die u nodig hebt. Na verloop van tijd wordt meer Windows SDK-functionaliteit in de Windows App SDK opgeheven.

Ik bouw een nieuw team om een windows-app te ontwikkelen. Waarom zou ik ervoor kiezen om te ontwikkelen met een systeemeigen Windows-framework, zoals WinUI, WPF of WinForms?

Hier volgen enkele redenen om een systeemeigen Windows-framework te kiezen voor uw windows-app:

  • Prestaties: Systeemeigen Windows-frameworks zijn geoptimaliseerd om gebruik te maken van de volledige kracht van de Windows-hardware van vandaag en bieden snelle en responsieve gebruikerservaringen.
  • Integratie: Windows wordt geleverd met een breed scala aan API's om geavanceerde ervaringen te bouwen die alleen beschikbaar zijn in Windows. De systeemeigen frameworks bieden diepgaande integratie met deze functies en API's.
  • Systeemeigen gebruikerservaring: Systeemeigen Windows-frameworks bieden een consistente gebruikerservaring op Windows-apparaten, zodat uw app er op alle Windows-apparaten uitziet en uitstekend werkt.
  • Offline-ondersteuning: Systeemeigen Windows-frameworks bieden ondersteuning voor offlinescenario's, zodat uw app kan werken, zelfs wanneer de gebruiker niet is verbonden met internet.
  • Inkomsten genereren: Systeemeigen Windows-frameworks worden actief onderhouden en ondersteund door Microsoft, zodat u toegang hebt tot de nieuwste updates en functies.

Welk framework moet ik gebruiken om gebruik te maken van de nieuwste investeringen van Microsoft in de ontwikkeling van Windows-apps?

Als u een nieuwe windows-app bouwt, raden we u aan WinUI te gebruiken. WinUI is het nieuwste systeemeigen UI-framework voor het ontwikkelen van Windows-apps en is ontworpen om te werken op een breed scala aan Windows-apparaten. WinUI biedt een modern en flexibel UI-framework waarmee u visueel aantrekkelijke en interactieve Windows-apps kunt maken. WinUI maakt deel uit van de Windows App SDK en is ontworpen om het beste te werken met de nieuwste versies van Windows.

Kan ik Windows App SDK/WinUI gebruiken in mijn bestaande Windows-app?

Houd er rekening mee dat WinUI (een UI-framework) wordt geleverd met Windows App SDK- (een Windows-platformontwikkelingsframework).

Over het algemeen kunt u WinUI alleen gebruiken als u klaar bent om uw UI-framework volledig te migreren. We werken aan een functie met de naam XAML-eilanden waarmee u WinUI-inhoud kunt hosten in andere UI-frameworks (WPF, Win32).

U moet elementen van de Windows App SDK in elke bureaublad-app kunnen gebruiken, afhankelijk van de manier waarop uw bestaande app is gebouwd. UWP-apps worden niet ondersteund door Windows App SDK.

Dit betekent dat WPF/MFC/WinForms-apps Windows App SDK-API's kunnen gebruiken die niet zijn gerelateerd aan WinUI. Voorbeelden van dergelijke API's zijn app-levenscyclus, venstering en pop-upmeldingen.

Zie De Windows App SDK gebruiken in een bestaand project voor meer informatie.

Moet ik Visual Studio gebruiken om WinUI-apps te bouwen?

We raden u ten zeerste aan Visual Studio 2022 versie 17.10 en hoger te gebruiken om WinUI-apps te ontwikkelen. Met behulp van de nieuwste versie van Visual Studio krijgt u toegang tot uitgebreide ontwikkelfuncties zoals Hot Reload. De nieuwste Visual Studio-installatieprogramma's bevatten een Windows-toepassingsontwikkeling workload, zodat u eenvoudig aan de slag kunt met WinUI-ontwikkeling.

Mogelijk kunt u andere IDE's en ontwikkelwerkstromen gebruiken, maar Visual Studio momenteel de enige officieel ondersteunde IDE voor WinUI is. Houd er rekening mee dat MSBuild is vereist om projecten te compileren die gebruikmaken van XAML of WinUI.

Wanneer ik een app bouw met de Windows App SDK en WinUI 3, bouw ik een WinUI-app?

Ja: 'WinUI-app' is de term die u wordt aangeraden te gebruiken. WinUI 3-apps worden over het algemeen 'WinUI-apps' genoemd, omdat WinUI 2 geen type app is, maar een set onderdelen die kunnen worden gebruikt in UWP-apps.

Kan ik mijn UWP-app incrementeel bijwerken met WinUI 2-besturingselementen naar WinUI 3 door WinUI 2-onderdelen geleidelijk te vervangen door WinUI 3-onderdelen?

Nee. Windows App SDK kan niet worden gebruikt in UWP-apps en WinUI 2 kan niet worden gecombineerd met WinUI 3. Zie Migreren van UWP naar de Windows App SDK-.

Hoe moeilijk is het om een UWP-app te migreren naar WinUI?

Het migreren van UI-onderdelen is over het algemeen eenvoudig (voor C# en C++/WinRT-). Anders zijn de kosten voor het migreren van UWP naar WinUI voornamelijk afhankelijk van deze factoren:

  1. Project-bestand en MSBuild-aanpassing: Het migreren van uw project vereist mogelijk een aanzienlijk inspanningsniveau, afhankelijk van of u geavanceerde MSBuild-functies gebruikt.
  2. .NET API-migratie: Als uw UWP-app afhankelijk is van .NET, moet u een upgrade uitvoeren naar .NET 6 of hoger. In de meeste gevallen is de overstap naar .NET 6 rechtdoor.
  3. UI-onderdeelbibliotheken: Als u UI-onderdeelbibliotheken gebruikt, hebt u nieuwe versies nodig die gericht zijn op WinUI 3.
  4. Als uw UWP-broncode is geschreven in de nu vervangen C++/CX, wordt er een aantal broncodeoverdrachten uitgevoerd. Zie Verplaatsen naar C++/WinRT vanuit C++/CX.

Zie Migreren van UWP naar de Windows App SDK-voor meer informatie over UWP-migratie.

Als ik een bestaande UWP-app in de Store heb, kan ik een nieuwe verpakte WinUI-app publiceren met dezelfde id's?

Ja, bijgewerkte apps kunnen worden gepubliceerd zonder de identiteit van uw toepassing bij te werken. Gebruikers met de oude versie worden bijgewerkt naar de nieuwe versie. Deze richtlijnen zijn alleen van toepassing op desktop-apps. Xbox-, HoloLens- en Surface Hub-apps kunnen niet worden gemigreerd naar WinUI.

Hoe kan ik mijn WinUI-app verpakken/distribueren?

Waar vind ik migratierichtlijnen voor Windows App SDK?

Moet ik XAML-markeringen gebruiken als ik WinUI wil gebruiken?

Nee. Ui-besturingselementen kunnen worden gemaakt in code. Maar er zijn veel voordelen voor het vertegenwoordigen van uw WinUI-gebruikersinterface in de vorm van declaratieve XAML-markeringen, zoals verbeterde ontwikkelaarservaring.

Als u migreert van UWP naar WinUI, kunt u waarschijnlijk veel van uw XAML-markeringen en ui-gerelateerde code hergebruiken (maar u moet een deel van de syntaxis bijwerken). Als u migreert van WPF naar WinUI, kunt u veel concepten opnieuw gebruiken, maar de besturingsset en API's verschillen.

Heeft Visual Studio een ontwerpoppervlak/UI-ontwerpfunctie voor WinUI?

Nog niet. We erkennen dat dit een kloof is in de WinUI-ontwikkelaarservaring. Hulpprogramma's zoals XAML Hot Reload kunnen in veel scenario's helpen. Work is gestart op een Visual Studio UI Designer voor WinUI in Windows App SDK 1.7, maar er is nog geen tijdlijn voor de release van deze functie.

Bevat de Windows App SDK WinUI 3?

Ja. WinUI 3 wordt geleverd als onderdeel van de Windows App SDK.

Bevat de Windows App SDK WinUI 2?

Nee. WinUI 2 maakt deel uit van het UWP-platform.

Zijn WinUI 2 en WinUI 3 gebouwd op dezelfde technologie?

Nagenoeg. Hoewel WinUI 3 is gestart vanuit de WinUI 2-codebasis, zijn dit verschillende technologieën. Zowel WinUI 2 als WinUI 3 zijn op XAML gebaseerde UI-frameworks die werken in .NET en C++. Houd er rekening mee dat WinUI 2 en WinUI 3 niet compatibel zijn met elkaar.

Kan ik WinUI 3 gebruiken zonder Windows App SDK te gebruiken?

Nee. WinUI 3 wordt geleverd als onderdeel van de Windows App SDK.

Kan ik WinUI 3 gebruiken in een uitgepakte app?

Ja. Alle technologieën in de Windows App SDK werken in uitgepakte apps, waaronder WinUI 3.

Wat is het verschil tussen XAML-eilanden en WinUI 3?

Met XAML-eilanden kunt u moderne WinUI-besturingselementen hosten naast de bestaande Win32-gebruikersinterface van andere frameworks, zoals WinForms en WPF. Tegenwoordig worden XAML-eilanden ondersteund met meeste systeem XAML- en WinUI 2-besturingselementen. Zie Host WinRT XAML-besturingselementen in desktop-apps (XAML-eilanden) voor meer informatie. XAML Islands-ondersteuning voor WinUI 3-besturingselementen is beschikbaar vanaf Windows App SDK 1.4.

Als ik een WinUI-app maak, ziet deze er modern uit in zowel Windows 11 als Windows 10?

Ja, de gebruikersinterface van uw app neemt de nieuwste Fluent UI-ontwerpprincipes over in alle ondersteunde versies van Windows 11 en Windows 10 tot versie 1809 in zowel verpakte als uitgepakte scenario's.

Kan ik Mica- of Acrylachtergronden gebruiken in apps die zijn gebouwd met Windows App SDK?

Waar vind ik WinUI-voorbeelden?

Zie voorbeeld en resources. Enkele belangrijke opslagplaatsen:

Als ik al veel heb geïnvesteerd in WPF, moet ik WPF blijven gebruiken of moet ik overwegen om te migreren naar WinUI?

Als u al veel hebt geïnvesteerd in WPF, kunt u WPF blijven gebruiken voor uw bestaande apps. WPF is een volwassen en stabiel framework dat veel wordt gebruikt door ontwikkelaars om Windows-bureaublad-apps te bouwen.

Overweeg gebruik te maken van de .NET Upgrade Assistant om uw .NET Framework WPF-apps te migreren naar het nieuwste .NET-platform. De .NET Upgrade Assistant is een hulpprogramma waarmee u uw .NET Framework-apps kunt migreren naar de nieuwste ondersteunde versies van .NET. De .NET Upgrade Assistant analyseert uw bestaande codebase en biedt richtlijnen voor het bijwerken van uw code.

Als ik een nieuwe WPF-app bouw, ziet deze er dan uit in vergelijking met andere nieuwe Windows-apps?

Wanneer u een WPF-toepassing ontwikkelt met .NET 9 of hoger, kunt u ervoor zorgen dat uw app overeenkomt met het strakke, moderne uiterlijk van Windows 11. Het nieuwe Fluent-thema voor WPF introduceert een hedendaagse Windows 11-esthetische versie voor WPF-toepassingen, compleet met geïntegreerde licht-/donkere modus en systeemaccentkleurondersteuning. Deze update moderniseert niet alleen het uiterlijk van uw app, maar verbetert ook de betrokkenheid van gebruikers door een professionele en samenhangende gebruikerservaring te bieden.

Mijn team is comfortabel bij het bouwen van WinForms-apps en het past bij onze behoeften. Moeten we overwegen om te migreren naar WinUI of een ander framework?

Als uw team vertrouwd is met het bouwen van WinForms-apps en WindForms voldoet aan uw behoeften, kunt u WinForms blijven gebruiken voor uw bestaande apps. WinForms is een volwassen en stabiel framework dat veel wordt gebruikt door ontwikkelaars om Windows-bureaublad-apps te bouwen.

Het WinForms-team investeert in functies en heeft een actieve community met inzenders. Enkele huidige investeringsgebieden zijn:

  • Asynchrone ondersteuning met algemene besturingselementen
  • Donkere modus
  • Flexibiliteit van indeling
  • Bureaubladbeveiligingsfuncties, zoals klembordtoegang

Platformoverschrijdende systeemeigen ontwikkeling

Wat zijn enkele redenen voor het bouwen van platformoverschrijdende, systeemeigen apps die gericht zijn op Windows?

Als u gebruikers op meerdere besturingssysteemplatforms richt, kan het bouwen van platformoverschrijdende apps met .NET MAUI of React Native verschillende voordelen bieden:

  • Reach: Met het bouwen van platformoverschrijdende apps kunt u een groter publiek van gebruikers op verschillende platforms bereiken.
  • Code hergebruiken: Met het bouwen van platformoverschrijdende apps kunt u code op verschillende platforms hergebruiken, waardoor ontwikkeltijd en kosten worden verminderd. Het kan verboden duur zijn om afzonderlijke apps te bouwen voor Windows, iOS, Android, macOS, enzovoort.
  • Consistente gebruikerservaring: Met het bouwen van platformoverschrijdende apps kunt u een consistente gebruikerservaring bieden op verschillende platforms, zodat uw app er op alle apparaten uitziet en uitstekend werkt.
  • Integratie: Met het bouwen van platformoverschrijdende apps kunt u integreren met verschillende platforms en services, zodat u een uitgebreidere gebruikerservaring kunt bieden.

Kan ik erop vertrouwen dat .NETOW-apps goed werken in Windows?

Wanneer u een .NET MAUI-app voor Windowsbouwt, is uw uitvoer een WinUI-app. Tijdens het ontwikkelen biedt .NET MAUI één .NET-ervaring op alle platforms, waaronder Windows, maar onder de schermen, genereert het platformspecifieke code. Dit zorgt ervoor dat uw .NET MAUI-app goed wordt uitgevoerd op elk platform en een systeemeigen gebruikerservaring biedt.

Hoe kan .NET MAUI systeemeigen apparaat-API's bieden voor elk platform?

.NET MAUI biedt één .NET-ervaring op alle platforms, waaronder Windows, iOS, Android en macOS. .NET MAUI abstraheert meer dan 60 platformspecifieke API's in één platformoverschrijdende API die u kunt gebruiken in uw .NET MAUI-app. Deze API's hebben betrekking op toegang tot opslag, netwerken, apparaatspecifieke sensoren en meer. Indien nodig hebt u ook toegang tot aanvullende platformspecifieke API's met behulp van afhankelijkheidsinjectie om de code voor elk platform te abstraheren.

Kan ik beginnen met WinUI en later .NET MAUI integreren als ik uiteindelijk op platformoverschrijdende scenario's wil toepassen?

Niet op dit moment. Hoewel .NET MAUI-apps WinUI gebruiken wanneer ze worden uitgevoerd in Windows, raden we u aan te beginnen met .NET MAUI of React Native for Desktop als u verwacht dat u meerdere platforms moet targeten.

Ons team heeft sterke vaardigheden op het gebied van webfront-endontwikkeling. Moeten we overwegen React Native voor Desktop te gebruiken?

Als uw team sterke vaardigheden voor webontwikkeling heeft, kunt u overwegen Om React Native voor Desktop te gebruiken. React Native voor Desktop omvat de React Native voor Windows en macOS frameworks. Het motto van React Native is 'Learn once, write anywhere', wat betekent dat u uw bestaande vaardigheden voor webontwikkeling kunt gebruiken om systeemeigen Windows-apps te bouwen met React Native. React Native for Desktop is een opensource-project waarmee u systeemeigen Windows- en macOS-apps kunt bouwen met React Native. React Native voor Desktop biedt een set API's waarmee u toegang hebt tot de functies en mogelijkheden van het bureaubladbesturingssysteem in uw React Native-apps.

Uw team kan gebruikmaken van hun JavaScript-, TypeScript- en React-vaardigheden om de UI-laag te bouwen, die rechtstreeks naar systeemeigen primitieven wordt weergegeven. Dit biedt systeemeigen app-prestaties en toegang tot de mogelijkheden van het systeemeigen platform.

Lees meer over het aan de slag gaan met React Native-ontwikkeling voor Windows in de React Native for Desktop-documentatie.

Worden er andere Windows-apparaten ondersteund door React Native voor Desktop?

React Native-apps kunnen worden geïmplementeerd op alle apparaten die worden ondersteund door Windows 10 en hoger, waaronder pc's, tablets, 2-in-1-apparaten, Xbox- en Mixed reality-apparaten.

Wat moet ik gebruiken als ik apps wil bouwen die werken op Windows en Xbox?

Als uw app Ondersteuning moet bieden voor Xbox, HoloLens of IoT, raden we u aan UWP te gebruiken. Windows App SDK biedt geen ondersteuning voor deze platforms. Voor gameontwikkeling raden we u aan om Microsoft Game Development Kitte gebruiken.

Wat moet ik gebruiken als ik apps wil bouwen die werken op Windows en Surface Hub?

Als u zich richt op zowel Windows als Surface Hub, raden we u aan UWP te gebruiken.

Hybride ontwikkeling en webontwikkeling

Wat zijn hybride apps en waarom zou ik overwegen om er een te bouwen?

Hybride apps combineren het beste van web- en systeemeigen app-ontwikkeling. De kern van de app is gebouwd met behulp van webtechnologieën zoals HTML, CSS en JavaScript, en vervolgens verpakt in een systeemeigen container waarmee de app gebruik kan maken van bepaalde systeemeigen platformfuncties en -hardware. Ze kunnen ook worden gedistribueerd via app stores.

Het belangrijkste voordeel van hybride apps is dat u hiermee één app kunt bouwen die kan worden uitgevoerd op meerdere systeemeigen platforms en op internet, waardoor ontwikkeltijd en kosten worden verminderd. Enkele voorbeelden van het antwoord op hybride app-ontwikkelplatforms:

  • Electron voor desktop-apps
  • Ionic voor mobiele apps
  • .NET MAUI Blazor hybride voor platformoverschrijdende apps

Hoe bouw ik native-feeling progressieve web-apps (PWA's) in Windows?

Wat is een hybride .NET MAUI Blazor-app?

Met .NET MAUI kunnen Blazor-apps ook systeemeigen worden uitgevoerd op Windows, iOS, Android en macOS. Dit betekent dat u hybride client-apps kunt maken die Blazor- en .NET TOGETHER-onderdelen combineren in één systeemeigen client-app. Dit biedt volledige toegang tot dezelfde systeemeigen platformmogelijkheden die beschikbaar zijn voor andere .NET MAUI-apps.

Zie ASP.NET Core Blazor Hybridvoor meer informatie over hoe Blazor kan worden gehost in een .NET MAUI-app.

Moeten de webonderdelen van een hybride .NET MAUI-app worden gemaakt met Blazor?

Nee, de webonderdelen van een hybride .NET MAUI-app hoeven niet te worden gemaakt met Blazor. Vanaf .NET 9 biedt .NET MAUI een HybridWebView-besturingselement waarmee u andere JavaScript-URL's in uw systeemeigen app kunt hosten.

Dit betekent dat u uw Angular-, React-, Vue- of andere HTML-& JavaScript-web-app kunt gebruiken en hosten in uw .NET MAUI-app. Het hybride besturingselement biedt interop tussen de C#- en JavaScript-lagen, zodat u JavaScript-functies vanuit C# en vice versa kunt aanroepen.

Kunnen andere systeemeigen app-typen blazor hybride onderdelen hosten?

Ja, WPF- en WinForms-apps kunnen ook hybride blazor-onderdelen hosten. Hiermee kunt u moderne webinterfaceonderdelen toevoegen aan uw bestaande WPF- en WinForms-apps. Houd er rekening mee dat dit niet mogelijk is met WPF- of WinForms-apps die zijn gebouwd op .NET Framework.

Moet mijn hele app een hybride app zijn of kan ik systeemeigen en hybride onderdelen combineren en matchen?

U kunt systeemeigen en hybride onderdelen combineren en vergelijken in uw app. U kunt bijvoorbeeld de kern van uw app bouwen met behulp van .NET MAUI-onderdelen en vervolgens hybride onderdelen toevoegen om extra functionaliteit te bieden. Hierdoor kunt u gebruikmaken van het beste van beide werelden: de prestaties en mogelijkheden van systeemeigen onderdelen en de flexibiliteit en kostenbesparingen van hybride onderdelen.

Wat zijn mijn keuzes voor het bouwen. Web-apps op basis van NET die er geweldig uitzien in moderne browsers in Windows?

Web-apps hebben het breedste bereik van elk client-app-platform. Als u prachtige .NET-web-apps in Windows wilt maken, hebt u verschillende opties:

  • ASP.NET Core-apps met Razor Pages
  • ASP.NET Core MVC-apps
  • ASP.NET Core Blazor-apps, met hostingmodelopties, waaronder:
    • Blazor WebAssembly-apps
    • Blazor Server-apps

Houd er rekening mee dat het hostingmodel voor Blazor nu kan worden geconfigureerd op onderdeelniveau. U kunt dus een Blazor WebAssembly-onderdeel hebben dat wordt gehost in een Blazor Server-app.

Lees meer over ASP.NET Core-ontwikkelopties in de ASP.NET Core-documentatie.

Kies een benadering en begrijp de investeringen van Microsoft

Er zijn zoveel frameworkopties voor het bouwen van apps die gericht zijn op Windows. Hoe kan ik beslissen?

Windows is een open platform dat ondersteuning biedt voor veel technologieën. Hier volgen enkele criteria waarmee u kunt bepalen welk platform u wilt gebruiken:

  • Bouwt u Windows-first of platformoverschrijdend?
  • Hebt u ervaring met .NET? JavaScript? Andere talen?
  • Hebt u toegang nodig tot Windows-specifieke API's?
  • Welke frameworkmogelijkheden komen het beste overeen met de vereisten van uw app?
  • Zie deze tabel voor andere beslissingsfactoren.

Als het gaat om zakelijke apps, willen de meeste teams kiezen op basis van bestaande vaardigheden en wat het team comfortabel gebruikt.

Hoe kies ik de beste ontwikkelbenadering voor mijn web-app?

Enkele aandachtspunten bij het kiezen van een ontwikkelbenadering voor uw web-app zijn:

  • Blazor wordt aanbevolen voor het bouwen van front-end-web-apps met .NET. Door Blazor te gebruiken, kunt u nu uw volledige front-end en back-end bouwen met .NET, waardoor u tijd en geld bespaart. Het is met name geschikt voor zakelijke Line-Of-Business-apps op de huidige apparaten.
  • JavaScript-web-apps zijn nog steeds zinvol als u gebruik wilt maken van de bestaande vaardigheden of investeringen in JavaScript van uw team, of als u moet integreren met bestaande JavaScript-bibliotheken of -frameworks.
  • Bestaande apps die gebruikmaken van oudere frameworks, zoals Web Forms, MVC of Razor Pages, worden nog steeds ondersteund en kunnen nog steeds worden ontwikkeld en onderhouden met behulp van deze frameworks.

Wie bouwt momenteel apps met WinUI?

Veel klanten bouwen vandaag nog met WinUI, waaronder Adobe en Apple:

Microsoft heeft ook verschillende apps gemaakt met WinUI, waaronder de Apps Windows 11 Verkenner en Foto's.

Wie bouwt vandaag nog .NET MAUI-apps?

Veel klanten gebruiken .NET MAUI om hun platformoverschrijdende apps te bouwen, waaronder Microsoft. De mobiele Microsoft Azure-app is bijvoorbeeld gebouwd met behulp van .NET MAUI.

Ontdek wie er nog meer apps bouwt met .NET MAUI op de .NET-klanten site.

Wie bouwt momenteel WPF-apps?

De meeste gebruikersinterface van Microsoft Visual Studio is gebouwd met WPF. De Visual Studio IDE is een goed voorbeeld van een complexe, krachtige WPF-app.

Wie bouwt momenteel Blazor-apps?

Ge Digital's FlightPulse luchtvaartmaatschappij brengt sensorgegevens en analyses in handen van piloten om de veiligheid en efficiëntie te verbeteren. De back-endconfiguratie van alles wat de piloten zien, wordt uitgevoerd met Blazor.

U kunt meer Blazor-klantverhalen lezen op de .NET-site.

UWP en WinUI 2

Kunnen UWP-apps buiten de Microsoft Store worden gedistribueerd?

Ja. Als uw MSIX--pakket is ondertekend, moet het handtekeningcertificaat geldig en vertrouwd zijn op het doelapparaat.

Kan ik UWP XAML UI-besturingselementen combineren met Win32-, WPF- of WinForms UI-besturingselementen?

Ja- XAML-eilanden kunt u dit doen. Meer informatie over XAML-eilanden.

Pakketten, implementatie en updates

Wat is het verschil tussen apps die zijn verpakt, uitgepakt en verpakt met externe locatie?

Zie Implementatieoverzichtvoor definities van apps die zijn verpakt, uitgepakt en verpakt met externe locatie. In dit onderwerp worden ook de voor- en nadelen van elke optie uitgelegd.

Wordt mijn WinUI-app automatisch bijgewerkt voor eindgebruikers?

Een WinUI-app kan worden geleverd via de Store, een .appinstaller-bestand of in uw bestaande MSI- of setup.exe-pakket. De Store en AppInstaller ondersteunen automatische updates voor eindgebruikers die automatisch bijwerken hebben ingeschakeld, maar uw MSI/setup.exe-app moet een eigen updater hebben.

Kan ik Windows App SDK gebruiken zonder MSBuild te gebruiken?

Over het algemeen, nee. WinUI en Windows App SDK vereisen MSBuild. Daarom is Visual Studio een vereiste voor het ontwikkelen met WinUI en Windows App SDK. Hoewel het technisch mogelijk is om Windows App SDK-apps te bouwen die geen WinUI gebruiken met andere hulpprogrammaketens, wordt dit niet ondersteund.

Prestaties en optimalisatie

Wat kan ik doen om mijn Windows-app geweldig te maken voor eindgebruikers?

Compatibiliteit

Moeten mijn gebruikers Windows ooit bijwerken om mijn WinUI-app te gebruiken?

Gebruikers met Windows 10 versie 1809 en hoger kunnen uw WinUI-apps installeren zonder hun besturingssysteem bij te werken.

Kan ik Arm64 targeten met mijn WinUI-app?

Ja.

Afschaffingen en migraties

Zijn UWP/WinUI 2 afgeschaft?

Nee. UWP en WinUI 2 worden nog steeds ondersteund en ontvangen bug-, betrouwbaarheids- en beveiligingsoplossingen. De meeste nieuwe functies en mogelijkheden worden echter alleen toegevoegd aan WinUI 3.

Notitie

UWP-ondersteuning voor .NET 9 is beschikbaar in preview. Deze preview-ondersteuning biedt een pad voor UWP-apps om te moderniseren met behulp van de nieuwste versie van .NET.

Er zijn twee belangrijke doelen van de .NET 9 UWP-ondersteuning. Ten eerste biedt het een beter migratiepad voor UWP-ontwikkelaars die willen migreren naar WinUI 3. Ten tweede kunnen ontwikkelaars hiermee afhankelijkheden van .NET Native verwijderen, zodat ze kunnen profiteren van de nieuwste functies van .NET en C#, ongeacht hun app-model.

Zie de Uw UWP-app moderniseren met preview-UWP-ondersteuning voor .NET 9 en Native AOT blogbericht voor meer informatie.

Wanneer moet ik een UWP/WinUI 2-app migreren naar WinUI 3?

UWP-ontwikkelaars moeten zich geen druk voelen om hun apps naar de WinUI 3 te migreren, als ze tevreden zijn met UWP en de bijbehorende functieset. De beste keuze voor sommige apps is misschien om nooit te migreren. Voor apps die willen profiteren van het nieuwste Windows-platform en .NET-investeringen van Microsoft, moeten deze apps overwegen om over te stappen naar de Windows App SDK. Zie Migreren van UWP naar de Windows App SDK).

Wanneer moet ik *niet* een UWP + WinUI 2-app migreren naar WinUI 3?

We raden u aan uw UWP te blijven gebruiken als u bouwt voor Xbox, Surface Hub of HoloLens.

Is WPF afgeschaft?

Nee. WPF wordt nog steeds ondersteund, aanbevolen en ontvangt ook functie-updates. Zie de WPF-roadmap op GitHub.

Is WinForms afgeschaft?

Nee. WinForms wordt nog steeds ondersteund en ontvangt functie-updates. Zie de Roadmap voor Windows Forms op GitHub.

Is Windows Runtime (WinRT) afgeschaft?

Nee. WinRT- verwijst naar een ABI (Application Binary Interface) waarmee u tussen meerdere talen kunt interoperabiliteit. WinRT is de evolutie van COM. Windows App SDK biedt de meeste functionaliteit via WinRT-API's.

Opmerkingen bij de release

Waar vind ik releaseopmerkingen voor Windows App SDK?