Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel bevat de informatie die u nodig hebt om aan de slag te gaan met het bouwen van apps voor Windows en het kiezen van het UI-framework dat past bij uw vaardighedenset en scenario.
Windows biedt een breed scala aan talen, frameworks en hulpprogramma's voor het bouwen van apps, waaronder WinUI, React Native voor Desktop, WPF, C++, C#, .NET en diverse platformoverschrijdende frameworks. Hier geven we informatie om u te helpen bepalen welke optie het beste voor u is.
WinUI
Gebruik WinUI en de Windows App SDK om apps te maken die er geweldig uitzien en profiteren van de nieuwste Windows-versies. Als u niet eerder met Windows-ontwikkeling werkt of aan een nieuwe Windows-app begint, biedt WinUI de resources die u nodig hebt om geweldige apps voor Windows 11 te maken.
WinUI is een op XAML gebaseerde gebruikersinterfacelaag die moderne besturingselementen en stijlen bevat voor het bouwen van Windows-apps. Als systeemeigen gebruikersinterfacelaag voor de Windows App SDK belichaamt het Fluent Design, waardoor elke Windows-app het professionele gevoel krijgt dat klanten verwachten.
Opmerking
De Windows App SDK is een set nieuwe onderdelen en hulpprogramma's voor ontwikkelaars die de nieuwste evolutie in het Ontwikkelplatform voor Windows-apps vertegenwoordigen. De Windows App SDK biedt een geïntegreerde set API's en hulpprogramma's die desktop-apps in Windows 11 en downlevel naar Windows 10, versie 1809, op een consistente manier kunnen gebruiken.
Hoewel WinUI de systeemeigen gebruikersinterfacelaag is, kunt u de Windows App SDK gebruiken met WPF-, WinForms- of Win32-apps. Als u eerder apps voor Windows hebt ontwikkeld, maar aan de slag wilt met de Windows App SDK in een bestaande app, raadpleegt u frameworkspecifieke handleidingen.
React Native voor Desktop
React Native is een ontwikkelplatform waarmee platformoverschrijdende apps kunnen worden gebouwd. React Native voor Desktop bevat React Native voor Windows en macOS, waardoor React Native-ondersteuning wordt toegevoegd aan de Windows SDK. Met React Native voor Desktop kunt u JavaScript gebruiken om systeemeigen Windows-apps te bouwen voor alle apparaten die worden ondersteund door Windows 10 en Windows 11. Deze ondersteuning omvat pc's, tablets, 2-in-1s, Xbox- en Mixed Reality-apparaten en meer.
Met React Native voor Desktop schrijft u de meeste of al uw app-code in JavaScript of TypeScript. Het framework produceert een systeemeigen UWP XAML-toepassing. Als uw app een platform-API moet aanroepen, kunt u dit meestal doen via een van de vele communitymodules. Als er nog geen module bestaat, kunt u eenvoudig een systeemeigen module schrijven om deze beschikbaar te maken.
Hier volgen enkele redenen om React Native voor Desktop te kiezen:
- U wilt zo veel mogelijk code delen op verschillende platforms of u hebt webeigenschappen waarmee u code wilt delen.
- Verbeterde productiviteit en interne lus voor ontwikkelaars dankzij snelle vernieuwing.
- De basisprincipes van uw app (prestaties, toegankelijkheid, internationalisatie) zijn net zo goed als een systeemeigen UWP-app.
- U hebt ervaring met en een voorkeur voor JavaScript of TypeScript.
- U wilt gebruikmaken van alleen JavaScript-bibliotheken op npmjs.com en ook veel systeemeigen bibliotheken.
- Uw app maakt gebruik van de systeemeigen besturingselementen, het uiterlijk, de animaties en de kleuren, zodat deze is geïntegreerd in de ontwerptaal die in Windows wordt gebruikt. Bovendien hoeven React Native voor Desktop-apps geen inbreuk te maken op de set API's die ze kunnen aanroepen. Met het framework kunt u platform-API's aanroepen en uw eigen weergavemanagers en systeemeigen modules schrijven.
- Een grote en groeiende communitydynamiek, met talrijke communitymodules.
Zie de volgende koppelingen voor meer informatie over React Native voor Desktop:
- React Native voor Windows-repository op GitHub
- React Native voor macOS-opslagplaats op GitHub
- API-referentie
- React Native voor desktop-hulpmiddelen
WPF (Windows Presentation Foundation)
WPF is een goed ingesteld framework voor Windows-bureaubladtoepassingen met toegang tot .NET of .NET Framework. Net als WinUI wordt ook gebruikgemaakt van XAML-markeringen om de gebruikersinterface van code te scheiden. WPF biedt een uitgebreide set toepassingsontwikkelingsfuncties met besturingselementen, gegevensbinding, indeling, 2D- en 3D-afbeeldingen, animaties, stijlen, sjablonen, documenten, media, tekst en typografie. WPF maakt deel uit van .NET, zodat u toepassingen kunt bouwen die andere elementen van de .NET-API bevatten.
Daarnaast kunt u nu een sandbox-omgeving integreren in uw verpakte WPF-toepassingen, wat een extra beveiligingslaag biedt. Deze uitbreiding vereist weinig tot geen wijziging in uw code, dankzij de nieuwe win32-app-isolatiebeveiligingsfunctie .
Aanbeveling
Als u al hebt geïnvesteerd in WPF, kunt u deze blijven gebruiken en profiteren van de moderniseringsopties in .NET 9. U kunt uw apps bouwen, wetende dat Microsoft blijft investeren in WPF. Zie de veelgestelde vragen over Windows-ontwikkelaars voor meer informatie.
Als u een WPF .NET-app hebt, hebt u ook toegang tot moderne Windows-platformfuncties en API's die worden geleverd door de Windows App SDK. Zie De Windows App SDK gebruiken in een WPF-app en uw bureaublad-apps moderniseren voor meer informatie.
Aanbeveling
Als u meer hulp nodig hebt bij het bepalen welk framework de beste keuze is voor uw app, raadpleegt u het beste toepassingsframework kiezen voor een trainingsmodule voor een Windows-ontwikkelingsproject .
Andere systeemeigen platformopties
Veel apps voor Windows worden geschreven met Win32, Windows Forms of UWP. Elk van deze frameworks wordt ondersteund en blijft bug-, betrouwbaarheids- en beveiligingscorrecties ontvangen, hoewel er verschillende niveaus van investering zijn voor nieuwe functies en stijlen. Zie de volgende tabbladen voor meer informatie over deze app-typen.
Win32-desktop-apps (ook wel klassieke bureaublad-apps genoemd) zijn het oorspronkelijke app-type voor systeemeigen Windows-toepassingen waarvoor directe toegang tot Windows en hardware is vereist. Deze toegang maakt Win32 het app-type keuze voor toepassingen die het hoogste prestatieniveau en directe toegang tot systeemhardware nodig hebben.
Met behulp van de Win32-API met C++kunt u de hoogste prestatie- en efficiëntieniveaus bereiken. U hebt meer controle over het doelplatform met onbeheerde code dan mogelijk is in een beheerde runtime-omgeving, zoals WinRT en .NET. Voor het uitoefenen van een dergelijk niveau van controle over de uitvoering van uw toepassing is echter meer zorg en aandacht vereist om het op de juiste manier te doen, waarbij de productiviteit van de ontwikkeling wordt ingeruild voor prestaties tijdens de runtime.
Hier volgen enkele hoogtepunten van wat de Win32-API en C++ bieden waarmee u hoogwaardige toepassingen kunt bouwen.
- Optimalisaties op hardwareniveau, waaronder strikte controle over resourcetoewijzing, levensduur van objecten, gegevensindeling, uitlijning, byteverpakking en meer.
- Toegang tot prestatiegerichte instructiesets zoals SSE en AVX via intrinsieke functies.
- Efficiënt, typeveilig algemeen programmeren met behulp van sjablonen.
- Efficiënte en veilige containers en algoritmen.
- DirectX, met name Direct3D en DirectCompute.
- Gebruik C++/WinRT om moderne Win32-apps met eersteklas toegang tot Windows Runtime-API's (WinRT) te maken.
Daarnaast kunt u nu een sandbox-omgeving integreren in uw Win32-toepassingen, wat een extra beveiligingslaag biedt. Deze uitbreiding vereist weinig tot geen wijziging in uw code, dankzij de nieuwe win32-app-isolatiebeveiligingsfunctie .
U hebt ook toegang tot moderne Windows-platformfuncties en API's die worden geleverd door de Windows App SDK. Zie De Windows App SDK gebruiken in een bestaand project en uw bureaublad-apps moderniseren voor meer informatie.
Andere platformoverschrijdende opties
Als u wilt dat uw app platformoverschrijdend is, kunt u naast React Native voor Desktop ook .NET MAUI, Blazor Hybrid of een Progressive Web App (PWA) overwegen. Er zijn veel andere opties beschikbaar (hier volgt een lijst met populaire opties), maar deze opties zijn goede uitgangspunten.
.NET MAUI maakt gebruik van de kracht van WinUI op Windows, terwijl ook uitvoering op andere besturingssystemen mogelijk is. Blazor Hybrid combineert desktop- en mobiele systeemeigen clientframeworks met .NET en Blazor. Een andere platformoverschrijdende optie, Progressive Web Apps (PWA's), zijn websites die werken zoals geïnstalleerde, systeemeigen apps op Windows en andere ondersteunde platforms, terwijl ze werken zoals gewone websites in browsers.
Zie de volgende tabbladen voor meer informatie.
.NET Multi-Platform App UI (MAUI) is een opensource, platformoverschrijdend framework voor het bouwen van Android-, iOS-, macOS- en Windows-toepassingen. Met .NET MAUI kunt u gebruikmaken van de systeemeigen gebruikersinterface en services van elk platform vanuit één .NET-codebasis. Omdat .NET MAUI de voorkeur geeft aan systeemeigen platformervaringen, maakt het gebruik van WinUI en de Windows App SDK, zodat apps de nieuwste gebruikerservaring in Windows krijgen. Deze aanpak biedt uw apps toegang tot alles wat u krijgt met WinUI plus de mogelijkheid om andere platforms te bereiken.
.NET MAUI voor Windows is een uitstekende keuze als u:
- U wilt zoveel mogelijk .NET-code delen in mobiele en desktoptoepassingen.
- Wilt u uw toepassing buiten Windows verzenden naar andere desktop- en mobiele doelen met systeemeigen platformervaringen.
- U wilt C# en/of XAML gebruiken voor het bouwen van platformoverschrijdende apps.
- Gebruik Blazor voor webontwikkeling en wil dit geheel of gedeeltelijk opnemen in een mobiele toepassing of desktoptoepassing.
Zie de volgende koppelingen voor meer informatie over .NET MAUI:
Vergelijking van functies in het framework voor app-ontwikkeling
U hebt veel opties voor het ontwikkelen van toepassingen voor Windows. De beste optie voor u is afhankelijk van uw toepassingsvereisten, uw bestaande code en uw bekendheid met de technologie. De volgende tabel bevat de populairste frameworks voor app-ontwikkeling die beschikbaar zijn in Windows en de functies die door elk framework worden ondersteund.
| Eigenschap | .NET MAUI | Blazor Hybrid | React Native voor Desktop | UWP XAML (Windows.UI.Xaml) | Win32 (MFC of ATL) | Windows Forms | WinUI 3 | WPF (Windows Presentation Foundation) |
|---|---|---|---|---|---|---|---|---|
| Taal | C# | C# | JavaScript, TypeScript | C#, C++, Visual Basic | C++, Rust | C#, Visual Basic | C#, C++ | C#, Visual Basic |
| UI-taal | XAML/Code | Scheermes | JSX | XAML | Code | Code | XAML | XAML |
|
UI-ontwerpfunctie (slepen en neerzetten) |
Niet ondersteund | Niet ondersteund | Niet ondersteund | Ondersteund | Niet ondersteund | Ondersteund | Niet ondersteund | Ondersteund |
| Foutopsporing in de gebruikersinterface | Dynamisch opnieuw laden | Dynamisch opnieuw laden | Snel vernieuwen | Dynamisch opnieuw laden | - | Dynamisch opnieuw laden | Dynamisch opnieuw laden | Dynamisch opnieuw laden |
| Fluent Design | Ondersteund | Ondersteund | Ondersteund | Ondersteund (via WinUI 2) | Niet ondersteund | Niet ondersteund | Ondersteund | Niet ondersteund |
| .NET | .NET | .NET | Niet van toepassing. | .NET Core en .NET Native | Niet van toepassing. | .NET & .NET Framework | .NET | .NET & .NET Framework |
| Windows-app-SDK | Ondersteund (meer informatie) | Ondersteunddoor middel van MAUI | Ondersteund (meer informatie) | Niet ondersteund | Ondersteund | Ondersteund (meer informatie) | Ondersteund | Ondersteund (meer informatie) |
| Geweldig voor aanraakbediening | Ondersteund | Ondersteund | Ondersteund | Ondersteund | Niet ondersteund | Niet ondersteund | Ondersteund | Niet ondersteund |
| platformoverschrijdend | Ondersteund | Ondersteund | Ondersteund | Niet ondersteund | Niet ondersteund | Niet ondersteund | Niet ondersteund | Niet ondersteund |
| Xbox/HoloLens-apps | Niet ondersteund | Niet ondersteund | Ondersteund | Ondersteund | Niet ondersteund | Niet ondersteund | Niet ondersteund | Niet ondersteund |
| Sandboxing (AppContainer) | Niet ondersteund | Niet ondersteund | Ondersteund | Ondersteund | Niet ondersteund | Niet ondersteund | Niet ondersteund | Niet ondersteund |
| Momenteel ondersteund | Ondersteund | Ondersteund | Ondersteund | Ondersteund | Ondersteund | Ondersteund | Ondersteund | Ondersteund |
| Updates ontvangen | Ondersteund | Ondersteund | Ondersteund | Ondersteund (beveiligings- en bugfix) | Ondersteund | Ondersteund | Ondersteund | Ondersteund |
| Roadmap | GitHub | GitHub | GitHub | n.v.t | n.v.t | GitHub | GitHub | GitHub |
Meer informatie over elk van deze opties:
- Veelgestelde vragen voor Windows-ontwikkelaars
- .NET Multi-platform App UI (.NET MAUI)
- ASP.NET Core Blazor Hybrid
- React Native voor Desktop
- UWP (Universal Windows Platform)
- Aanbevelingen voor het kiezen tussen ATL en MFC
- Windows Forms
- Windows Presentation Foundation (WPF)
- WinUI in de Windows-app SDK (WinUI 3)
Volgende stappen
-
WinUI gebruiken om apps voor Windows te ontwikkelen
WinUI is het aanbevolen platform voor Windows-apps. Met deze stappen kunt u snel aan de slag.
-
uw ontwikkelomgeving instellen in Windows
Windows is niet alleen ideaal voor het ontwikkelen van apps die worden uitgevoerd in Windows. Het is ook een krachtige omgeving voor het ontwikkelen van apps voor elk platform. Meer informatie over de hulpprogramma's en opties die beschikbaar zijn om uw ontwikkeling te maximaliseren.
Windows developer