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.
De aanbevolen procedures in dit artikel helpen u bij het bouwen van betrouwbare Windows-apps voor een breed scala aan personen, apparaten en omgevingen. Dit artikel is onderverdeeld in de volgende secties:
- Gebruikerservaring: Richtlijnen in deze sectie helpen u bij het verbeteren van het uiterlijk en de bruikbaarheid van uw apps.
- Prestaties en grondbeginselen: Richtlijnen in deze sectie helpen u de prestaties en het resourcegebruik van uw app te verbeteren.
- Besturingssysteem/hardwareoptimalisatie: Richtlijnen in deze sectie helpen u bij het optimaliseren van uw verpakking en distributie voor verschillende hardwareconfiguraties.
- Toepassingsdetectie en -beheer: met richtlijnen in deze sectie kunnen gebruikers uw app gemakkelijker detecteren, installeren, bijwerken en verwijderen.
- Toegankelijkheid: Richtlijnen in deze sectie helpen u bij het bouwen van toegankelijke en inclusieve ervaringen.
- Beveiliging en privacy: Richtlijnen in deze sectie helpen u beveiligingsrisico's te beperken en te voldoen aan de privacybehoeften van uw gebruikers.
Gebruikerservaring (UX)
Windows 11 biedt een visuele evolutie van het Windows besturingssysteem dat het uiterlijk, het gevoel en de bruikbaarheid van Windows verbetert. Studies tonen aan dat gebruikers hoge verwachtingen hebben voor Windows apps:
- Ze verwachten dat Windows apps werken met een compleet invoerbereik.
- Ze verwachten ontwerp- en interactiepatronen die er systeemeigen uitzien op huidige en toekomstige apparaten.
- Ze verwachten ondersteuning voor moderne vensterwerkstromen en shell-integratiepunten.
Wanneer toepassingen voldoen aan Windows stijlen en standaardgedrag Windows, hoeven gebruikers geen interactiepatronen opnieuw te leren. Deze consistentie maakt het veel eenvoudiger voor gebruikers om uw app te gebruiken. Een app die er geweldig uitziet, kan een geweldige eerste indruk maken, maar een app die ook eenvoudig te gebruiken is en helpt de gebruiker zijn doelstellingen te bereiken, zorgt voor een grote blijvende indruk.
Windows 11 is gebaseerd op de ontwerpprincipes Windows 11. Als u deze richtlijnen volgt terwijl u uw apps bouwt, kunt u voldoen aan de verwachtingen van uw klanten van een geweldige app-ervaring. Wanneer u nadenkt over het opnemen van de meest recente en aanbevolen Windows gebruikersinterface/UX-patronen in uw Windows-toepassingen, richt u zich op deze vijf gebieden:
- Indeling
- Interactie tussen gebruikersinterface
- Visuele stijl
- Venstergedrag
- Shell-integratiepunten
WinUI biedt ingebouwde ondersteuning voor veel van deze ervaringen en stijlen via de algemene besturingselementen. Als u WinUI niet kunt gebruiken, kunt u overwegen om de stijlen te emuleren die worden gedemonstreerd in onze ontwerp-toolkits en WinUI 3 Gallery.
Indeling
Windows toepassingen worden uitgevoerd op verschillende configuraties die voldoen aan de behoeften van gebruikers. Test de deelvensters en pagina's van uw toepassing op verschillende dimensies, apparaten, venstergrootten, DPI-instellingen en schaalinstellingen. Uw toepassing moet naar verwachting werken, zelfs wanneer deze is verkleind tot kleine afmetingen.
DPI-bewustzijn
WinUI-toepassingen worden automatisch geschaald voor elke weergave waarop ze worden uitgevoerd. Andere Windows programmeertechnologieën (Win32, WinForms, WPF enzovoort) verwerken niet automatisch dpi-schaalaanpassing per monitor. Zonder extra werk ter ondersteuning van DPI-schaling per monitor voor deze technologieën, kunnen toepassingen wazig of onjuist worden weergegeven. Zie High DPI Desktop Application Development op Windows voor meer informatie.
Responsieve indeling
Gebruik responsieve ontwerptechnieken om uw app-pagina's te optimaliseren voor verschillende venstergrootten. Volg de richtlijnen voor pannen en scrollen om ervoor te zorgen dat gebruikers altijd toegang hebben tot uw inhoud, ongeacht hoe klein het app-venster wordt.
Interactie tussen gebruikersinterface
Windows gebruikers kunnen kiezen uit een groot aantal invoerapparaten om te communiceren met uw toepassing en Windows specifieke systeemervaringen heeft die mensen gewend zijn te gebruiken. Wanneer uw toepassing aan deze ervaringen voldoet, kunnen uw gebruikers uw toepassing betrouwbaar gebruiken. Wanneer uw app deze conventies niet volgt, kunnen gebruikers het verwarrend of frustrerend vinden.
Op object gebaseerde opdrachten
Gebruik opdrachten voor objecten zoals contextmenu's, veegopdrachtenen sneltoetsen. Windows 11 verbetert het gedrag van het snelmenu, dus als uw app contextmenu's maakt, raadpleegt u de meest recente contextmenu-integratierichtlijnen. WinUI-tekstbesturingselementen maken automatisch knip-, kopieer- en plakopdrachten beschikbaar, maar andere besturingselementen hebben mogelijk extra werk nodig om deze opdrachten te ondersteunen.
Tekstinteractie
Wanneer er tekst in een toepassing is, verwachten gebruikers dat ze deze kunnen selecteren en kopiëren. Als de tekst bewerkbaar is, verwachten ze ook dat ze kunnen knippen en plakken. Door consistente snelkoppelingen naar gebruikers te bieden, kunt u hen hun taken efficiënter laten uitvoeren. Zorg ervoor dat gebruikers deze acties kunnen uitvoeren met behulp van toetsenbord, muis of trackpad, touch en pen.
Pannen en scrollen
Het is ongebruikelijk dat de gebruikersinterface van een toepassing volledig binnen één pagina past die niet hoeft te schuiven. Zelfs als er slechts enkele UI-elementen zijn, kunnen gebruikers het formaat van het app-venster vrij wijzigen en ervoor zorgen dat sommige UI-elementen worden verborgen. Zorg ervoor dat de gebruikersinterface van uw toepassing het scrollen en pannen ondersteunt (met behulp van toetsenbord, muis of trackpad, touch en pen) zodat gebruikers toegang hebben tot UI-elementen die mogelijk buiten het zichtbare venstergebied vallen.
Visuele stijl
Windows 11 is gebouwd op de Windows 11 ontwerpprincipes: Moeiteloos, Kalm, Persoonlijk, Vertrouwd en Complete + Coherent. Ervaringen die aan deze principes voldoen, bieden geweldige gebruikerservaringen op Windows.
Materialen: Acryl en Mica
Acryl en Mica zijn visuele materialen die interactieve UI-besturingselementen een unieke 'occluded' visuele stijl geven.
- Gebruik Acryl om een semitransparante stijl toe te passen op tijdelijke oppervlakken zoals contextmenu's, flyouts en andere elementen die gebruikers licht kunnen negeren.
- Gebruik Mica om een subtiele adaptieve tint toe te voegen aan langdurige UI-oppervlakken.
Mica is een zeer goed presterend materiaal dat bedoeld is om te worden gebruikt op langlevende UI-oppervlakken zoals TitleBar om de actieve of inactieve status van de app te communiceren. Mica is een textuur die visueel genot creëert tijdens het besparen van de levensduur van de batterij.
- Mica moet worden gebruikt op de basislaag van de gebruikersinterface van de app om de actieve status van de app te communiceren; het valt terug op een effen kleur wanneer de app geen focus heeft. Daarom raden we het gebruik van Mica aan op de achtergrond van de Titelbalk.
- Sommige bedieningselementen, zoals NavigationView, worden al geleverd met het standaardgedrag.
- Wanneer een app die gebruikmaakt van Mica wordt uitgevoerd in Windows 10 of lager niveau, wordt deze probleemloos gedegraded (Mica valt terug op een effen kleur).
- Mica moet worden gebruikt op langlevende oppervlakken, in tegenstelling tot Acryl, dat moet worden gebruikt op tijdelijke oppervlakken.
- Als u acrylmateriaal gebruikt, volgt u de bestaande acrylrichtlijnen omdat we de kleuren hebben bijgewerkt om levendiger te zijn.
Mica richtlijnen, Acryl richtlijnen
Thema's donker en licht
Met donkere en lichte thema's kunnen gebruikers uw app aanpassen aan hun visuele voorkeuren. Windows 11 werkt de kleurtinten bij om zachter te zijn voor de ogen door puur wit en zwart te vermijden, waardoor de kleuren veel mooier worden.
WinUI ondersteunt standaard schakelen tussen donkere en lichte thema's (zie XAML-themabronnen). Zie Ondersteuning voor donkere en lichte thema's in Win32-apps. (De titelbalk in Win32-apps wordt niet automatisch aangepast aan het donkere thema. Volg de richtlijnen voor de titelbalk in het artikel).
Vernieuwde UI-elementen
Windows 11 brengt prachtige UI-innovaties naar het Windows besturingssysteem dat u in uw apps kunt gebruiken. Windows 11 geometrie ondersteunt moderne app-ervaringen. Geleidelijk afgeronde hoeken, geneste elementen en consistente gutters werken samen om een zacht, kalm en benaderbaar effect te creëren dat de eenheid van doelstelling en eenvoud van gebruik benadrukt.
De visuele en gedragswijzigingen zijn ingebouwd in WinUI. Gebruik WinUI waar u kunt profiteren van het werk dat het Windows ontwikkelteam al heeft gedaan. Als u WinUI niet kunt gebruiken, kunt u overwegen om de stijlen te emuleren die worden weergegeven in de ontwerp-toolkits en WinUI 3 Gallery.
Algemene besturingselementen bieden huidige Windows stijlen, invoergedrag en ingebouwde ondersteuning voor toegankelijkheid. Geef de voorkeur aan aangepaste besturingselementen, tenzij uw scenario gedrag vereist dat de platformbesturingselementen niet bieden.
Contextmenu-extensies en doelen delen
Een contextmenu is een snelmenu dat de gebruiker aanroept met een rechtermuisknop of tik en houd vast om een menu met opdrachten weer te geven dat relevant is voor de context van het besturingselement waarmee de gebruiker communiceert. Gebruikers verwachten dat het uiterlijk en gedrag van contextmenu's coherent zijn in Windows. Gebruik waar mogelijk platformcontextmenu's om ze consistent te houden met de rest van het systeem.
Windows 11 verbetert de werking van bestandsbewerkingen in het contextmenu van Verkenner en het delen-dialoogvenster. Als uw app contextmenu's maakt of sharedoelen definieert, moet u mogelijk enkele wijzigingen aanbrengen om ervoor te zorgen dat deze goed werken met Windows 11.
Contextmenu
Voor Windows 11 hebben we het gedrag van het contextmenu in Verkenner op verschillende manieren verbeterd:
- Algemene opdrachten, zoals Knippen, Kopiëren, Plakken en Verwijderen, zijn verplaatst naar het begin van het menu.
- Open en Open met zijn nu gegroepeerd.
- App-extensies worden gegroepeerd onder Shell-werkwoorden. Apps met meer dan één werkwoord worden gegroepeerd in een flyout met app-toeschrijving.
- Cloudbestandenprovider-apps worden naast de Shell-opdrachten geplaatst om bestanden te hydrateren of dehydrateren.
- Het oudere contextmenu van Windows 10 (samen met minder gebruikte opdrachten uit het oudere contextmenu) is nog steeds beschikbaar via de Meer opties weergeven item onderaan het menu. Shift + F10 of de toetsenbordmenutoets laadt ook het Windows 10 contextmenu.
Als uw app een contextmenu-extensie definieert, moet aan de volgende vereisten worden voldaan om de extensie weer te geven in het nieuwe Windows 11 contextmenu. Anders wordt de contextmenu-extensie van uw app weergegeven in het oudere contextmenu dat beschikbaar is via het item Meer opties weergeven .
- Uw contextmenu-extensie moet worden geïmplementeerd met behulp van de IExplorerCommand-interface . Contextmenu-extensies die IContextMenu implementeren, worden in plaats daarvan weergegeven in het oudere contextmenu.
- Uw app moet een verpakte app zijn, zodat deze tijdens runtime pakketidentiteit heeft. Zie Functies waarvoor pakketidentiteit is vereist voor bepaalde opties voor het verpakken van uw app.
Windows-deelvenster
Met het Windows Share Sheet kunnen apps inhoud naar andere apps verzenden en zich registreren om gedeelde inhoud te ontvangen. Het biedt ook ondersteuning voor door apps geleverde suggesties voor de rij met suggesties. De vereisten voor pakketten, identiteiten en registratie zijn afhankelijk van het feit of uw app suggesties verzendt, ontvangt of levert en of deze verpakt, uitgepakt of een PWA is. Volg de taakspecifieke richtlijnen in plaats van ervan uit te gaan dat één registratiemodel voor elke app werkt.
Iconografie en typografie
Windows 11 heeft bijgewerkte pictogrammen ("Segoe Fluent Icons"), verbeterde ondersteuning voor geanimeerde pictogrammen en een nieuw UI-lettertype ("Segoe UI Variable"). Gebruik deze nieuwe pictogrammen en lettertypen waar mogelijk om coherent te zijn op Windows 11. Het nieuwe lettertype zorgt voor veel zachtere geometrie en maakt de tekst veel beter leesbaar.
- Nieuwe pictogrammen met de naam 'Segoe Fluent Icons' worden geïntroduceerd voor monolinepictogrammen. Huidige WinUI-besturingselementen gebruiken automatisch de nieuwste Windows pictogrammen en typografie.
- Pictogrammen voor bestandstypen worden bijgewerkt. Als uw app pictogrammen gebruikt in
imageres.dllofshell32.dll, worden pictogrammen automatisch bijgewerkt. Anders is mogelijk een handmatige stijlupdate nodig. - App-pictogrammen: volg de meest recente richtlijnen voor Icons in Windows-apps die worden gebruikt op plaatsen zoals startprogramma's op start- en taakbalk.
- Pictogrammen met animatie - Gebruik AnimatedIcon om zinvolle pictogramanimatie toe te voegen in WinUI-apps.
- Aangepaste ervaringen die zijn geschreven in XAML die
Segoe UIin code opgeven, moeten in plaats daarvanSegoe UI Variableopgeven.
Opmerking
Wanneer een app die gebruikmaakt van het nieuwe lettertype wordt uitgevoerd in Windows 10 of een oudere versie, valt het automatisch terug op het oude lettertype en werkt het soepel verder.
Gedrag en stijl van vensters
Toepassingen worden uitgevoerd in een frame dat Windows biedt. Gebruikers verwachten dat het ingebouwde Windows uiterlijk en gedrag consistent zijn in de windows van de app. Om ervoor te zorgen dat uw app eruitziet en functioneert zoals gebruikers verwachten op Windows 11, kunt u overwegen om de functies te ondersteunen die hier worden vermeld.
Titelbalk- en bijschriftknoppen
Gebruikers communiceren met de titelbalk en bijschriftknoppen (minimaliseren, maximaliseren, sluiten) om het formaat van app-vensters te wijzigen, te verplaatsen en te sluiten. Een consistente ervaring helpt mensen uw toepassing soepel te gebruiken. Zie Windows titelbalk van de app voor meer informatie over het ontwerp van titelbalk- en bijschriftknoppen voor Windows.
U kunt de Windows App SDK API's gebruiken om app-inhoud te integreren met de titelbalk in WinUI, .NET, WinForms en WPF-apps.
Indeling uitlijnen
Het vastzetten van vensters is aanzienlijk verbeterd in Windows 11, en het Snap-lay-outmenu is een nieuwe functie die gebruikers helpt de kracht van het vastzetten van vensters te ontdekken en te gebruiken. Gebruik het Snap-layoutmenu om uw app in verschillende snap-indelingen te testen en ervoor te zorgen dat uw app verschillende snap-groottes ondersteunt, zoals 1/2, 1/3 en 1/4 scherm.
Snap-indelingen zijn gemakkelijk toegankelijk door de muisaanwijzer boven de Maximaliseren-knop van een venster te bewegen of door op Win + Z te drukken. Na het openen van het menu waarin de beschikbare indelingen worden weergegeven, kunnen gebruikers op een zone in een indeling klikken om een venster op die specifieke zone vast te maken en vervolgens Snap Assist gebruiken om een volledige indeling van vensters af te maken. Snap-indelingen zijn afgestemd op de huidige schermgrootte en oriëntatie, inclusief ondersteuning voor drie vensters naast elkaar op grote landschermen en gestapelde vensters boven/onder op portretschermen.
De meeste apps ondersteunen het menu automatisch met snap lay-outs, maar in sommige gevallen moet u mogelijk een beetje werk verrichten om ze te laten werken.
- Laat het systeem uw rand en schaduw tekenen.
- Als u uw eigen rand en schaduw wilt tekenen:
- Gebruik onze API's om het platform te laten tekenen en de bijschriftknoppen te implementeren. Zie Ondersteuning voor snap-indelingen voor desktop-apps op Windows 11.
U krijgt deze functies automatisch als u Windows App SDK vensters gebruikt om het volgende te doen:
- Configureer de stijl van uw venster met behulp van de vooraf gedefinieerde sjablonen.
- Pas de titelbalk van uw vensters aan.
Afgeronde hoeken
We hebben de hoeken van de raambalken in Windows 11 afgerond. Ons onderzoeksteam van de gebruiker heeft vastgesteld dat afgeronde geometrie psychologisch een gevoel van veiligheid biedt en dat de gebruikersinterface van de app veel gemakkelijker te scannen is. Hierdoor voelen gebruikers zich minder geïntimideerd en voelt de app zich aantrekkelijker. De afrondingsbedrag is ook zorgvuldig gekozen. We hebben in het hele bedrijf en gebruikersonderzoek gewerkt om balans te vinden tussen professioneel voelen en zachter en uitnodigender zijn.
In de meeste gevallen heeft het venster van uw app standaard afgeronde hoeken op Windows 11. Als u uw app-venster aanpast en geen afgeronde hoeken hebt, raadpleegt u Ronde hoeken toepassen in bureaublad-apps voor Windows 11 voor enkele acties die u kunt uitvoeren. U moet ook voorkomen dat vensterranden en schaduwen worden aangepast, waardoor het systeem de vensterhoeken niet kan afronden.
Shell-integratiepunten
met Windows shell-integratie kunnen gebruikers profiteren van uw app, zelfs wanneer deze niet op de voorgrond of zichtbaar op het scherm wordt uitgevoerd. Wanneer uw app goed integreert met Windows, wordt deze onderdeel van de werkstroom van de gebruiker met andere apps en wordt het een naadloze ervaring.
App-meldingen
App-meldingen worden weergegeven als pop-ups en in meldingencentrum.
- Personaliseer, maak actiegericht en zorg ervoor dat meldingen nuttig zijn voor uw gebruikers. Geef uw gebruikers wat ze willen, niet wat u wilt weten.
- Vermijd storende meldingen. Te veel onderbrekingen van uw app leiden ertoe dat gebruikers dit kritieke communicatiekanaal voor uw app uitschakelen.
- Reageer op de intentie van de gebruiker. Als u een melding selecteert, wordt uw app gestart in de context van de melding. De enige uitzondering op deze richtlijn is wanneer de gebruiker een knop selecteert in uw melding die is gekoppeld aan een achtergrondtaak, zoals een snel antwoord.
- Een consistente ervaring in het Meldingencentrum bieden. Houd meldingencentrum overzichtelijk door oude meldingen te wissen.
Voor meer informatie over toastmeldingen, zie Ontwerpbeginselen van meldingen.
Prestaties en basisprincipes
Windows gebruikers verwachten dat Windows apps goede prestaties en basisprincipes vertonen. Houd bij het ontwerpen en bouwen van uw app rekening met het optimaliseren van geheugengebruik, energieverbruik, reactiesnelheid, betrouwbaarheid en de impact op duurzaamheid op de lange termijn. Het toewijzen van tijd om de basisprincipes en prestaties van uw toepassing te testen en te meten, zorgt ervoor dat uw gebruikers een eersteklas ervaring hebben.
Door de aanbevolen procedures in deze sectie te volgen, kunt u aan de verwachtingen van uw klanten voldoen aan deze criteria.
Minimaliseer het geheugengebruik van toepassingen:
- Verminder het geheugengebruik in de voorgrond.
- Minimaliseer achtergrondwerk.
- Bronnen vrijgeven terwijl ze op de achtergrond staan.
- Zorg ervoor dat uw toepassing geen geheugen lekt.
Maak efficiënt gebruik van de schijfvoetafdruk:
- Schakel 'betalen voor play' in voor optionele functionaliteit.
- Zorg ervoor dat alle caches efficiënt van grootte zijn.
- Implementeer nieuwe ervaringen op een schijfefficiënte manier.
- Optimaliseer waar mogelijk afzonderlijke binaire grootten.
-
- Maak de CPU niet wakker of gebruik systeembronnen niet op de achtergrond.
Verbeter de reactiesnelheid van de start- en sleutelinteracties van uw app:
- Definieer uw belangrijkste interactiescenario's en voeg ETW-gebeurtenissen toe om te meten.
- Stel doelen in op basis van de interactieklasse die is gekoppeld aan de verwachtingen van gebruikers.
- Meet koude en warme lancering, kritieke interacties en regressies op representatieve lower-end- en Arm64-hardware.
- Noteer traceringen met Windows Performance Recorder en analyseer ze met Windows Performance Analyzer voordat u deze optimaliseert.
Zie het overzicht van prestaties en basisprincipes voor meer informatie. In dit artikel vindt u antwoorden op vragen zoals 'Wat is toepassingsprestaties en waarom is het belangrijk?' en 'Welke hulpprogramma's kan ik gebruiken om de prestaties van Windows toepassingen te meten?'. Het artikel bevat ook koppelingen naar casestudy's, gerelateerde blogs, ondersteuningscommunities en informatie over hoe performance engineering met duurzaamheid is verbonden door het verminderen van de impact die uw toepassing op onze planeet heeft.
Optimalisatie van besturingssysteem en hardware
U kunt op veel manieren Windows apps bouwen, verpakken en leveren. De aanbevolen procedures in deze sectie helpen u bij het optimaliseren van deze aspecten van uw toepassing in hardwareconfiguraties.
Mensen voeren Windows uit op conventionele apparaten en een steeds diverser, moderner scala aan apparaten. Apparaten worden tegenwoordig niet alleen geleverd met x86/x64,maar ook op arm gebaseerde architecturen; niet alleen met muis en toetsenbord, maar ook aanraakschermen, touchpads en pennen; met camera's, GPS en sensoren zoals gyroscoop; en met graphics en neurale verwerkingschipsets die niet alleen geweldige visuals, maar ook hardware-versnelde kunstmatige intelligentie (AI) mogelijk maken. Klanten verwachten dat apps profiteren van de hardware (waarvoor ze hebben betaald!) en dat ze de vormfactor van het apparaat op de juiste manier kunnen benutten.
- Ondersteuning voor verschillende invoer- en interacties - Overzicht van invoer en interacties
- Gebruik Windows AI-API's voor kant-en-klare, Windows beheerde AI-mogelijkheden. Controleer de hardware, het besturingssysteem en de pakketidentiteitsvereisten van elke API.
- Gebruik Foundry Local om ondersteunde taal- en spraakmodellen lokaal te detecteren, te downloaden en uit te voeren.
- Gebruik Windows ML om aangepaste ONNX-modellen uit te voeren met uitvoeringsproviders voor beschikbare CPU-, GPU- en NPU-hardware.
- Pas verantwoorde AI-procedures toe wanneer u ai-ondersteunde ervaringen ontwerpt, evalueert en verzendt.
App koppelen en Azure Virtual Desktop
Als u toepassingen dynamisch in een Azure Virtual Desktop-omgeving wilt leveren, evalueert u App Attach.
App Attach koppelt dynamisch ondersteunde toepassingspakketten aan gebruikerssessies zonder de toepassingen in de installatiekopie van de sessiehost te installeren. Het is ontworpen voor Azure Virtual Desktop.
Windows op Arm
Windows op Arm-apparaten kan een langere batterijduur bieden en, op ondersteunde apparaten, AI-versnelling op het apparaat via een NPU. Windows 11 gebruikt de prism-emulatielaag om veel bestaande x86- en x64-toepassingen uit te voeren.
Bouw native ARM64-binaries voor optimale prestaties. .NET-apps kunnen zonder codewijzigingen worden uitgevoerd op win-arm64. Voor grote C/C++-codebases kunt u met Arm64EC incrementeel prestatiekritieke modules hercompileren naar systeemeigen ARM64, terwijl de resterende x64-code wordt uitgevoerd onder emulatie, allemaal binnen één binair bestand.
| Strategy | Wanneer gebruiken |
|---|---|
| Volledige ARM64-build | .NET apps, kleine tot middelgrote C++-projecten, nieuwe ontwikkeling |
| Arm64EC | Grote C/C++-codebases, apps met x64-enige invoegtoepassingen van derden |
| x64-emulatie (geen hercompilatie) | Verouderde apps die niet opnieuw kunnen worden opgebouwd; acceptabel voor lichte werkbelastingen |
Zie voor meer informatie Windows op Arm, Arm64EC en Architectuuroverwegingen voor implementatie.
Pushmeldingen
Pushmeldingen stellen u in staat om op een prestatiegeoptimaliseerde manier informatie van uw cloudservice naar uw app te verzenden. Pushmeldingen omvatten onbewerkte meldingen, badgemeldingen en toastmeldingen die vanuit uw cloudservice worden verzonden.
- Gebruik pushmeldingen om de app of client wakker te maken in plaats van deze altijd actief te houden om de prestaties op het apparaat van de gebruiker te optimaliseren. Zie Overzicht van pushmeldingen voor richtlijnen voor Windows App SDK.
- Gebruik geen meldingskanalen om advertenties te verzenden.
- Respecteer
retry-afterheaders – deze praktijk beschermt de service en zorgt ervoor dat meldingen succesvol worden bezorgd. - Verwijder verlopen of ingetrokken kanalen uit het systeem. Windows Push Notification Services (WNS) verwerkt geen aanvragen voor verlopen of ingetrokken kanalen.
- Vermijd plotselinge, grote bursts van aanvragen naar WNS. Dit patroon kan leiden tot vertraagde reacties.
- Gebruik de
MS-CVkoptekst. Deze header helpt bij end-to-end traceerbaarheid en diagnostiek. - Een back-upmechanisme hebben voor wanneer meldingen niet werken.
- Gebruik Azure Notification Hubs (ANH). ANH biedt u toegang tot functies voor betrokkenheid, zoals doelgroepen targeten, meldingen plannen en meldingen uitzenden. Als u vandaag nog een Windows-enige ontwikkelaar bent, kunt u met ANH uw meldingeninfrastructuur eenvoudig overbrengen naar andere platforms in de toekomst.
Toepassingsdetectie en -beheer
Betrouwbare installatie-, update- en verwijderingservaringen zijn belangrijke onderdelen van een consistente, hoogwaardige gebruikerservaring. De volgende aanbevolen procedures helpen ervoor te zorgen dat uw toepassing een goede indruk laat wanneer gebruikers deze ontdekken en beheren:
Toepassingsdetectie
- Als u uw app op de Microsoft Store vermeldt, kunt u uw app beter vinden voor gebruikers.
- Als u uw app host in meerdere kanalen (bijvoorbeeld op een website en op de Microsoft Store), gebruikt u een consistente toepassingsidentiteit en updatemechanisme voor alle kanalen.
- Distribueer uw app via de Microsoft Store om het voor gebruikers beter vindbaar te maken. Houd er rekening mee dat Windows gebruikers toegang hebben tot Store-apps via de Windows Pakketbeheer WinGet. Als u niet naar de Microsoft Store publiceert, kunt u uw app nog steeds gemakkelijk vinden in WinGet via de WinGet-opslagplaats.
Uitgepakte app-distributie
Als volledige MSIX-verpakking geen optie is voor uw app, kunt u overwegen te kiezen voor verpakking met externe locatie (waarbij de pakketidentiteit behouden blijft terwijl binaire bestanden buiten het pakket worden gehost) of uw app te distribueren als een volledig onverpakte app. Houd rekening met de volgende aanbevolen procedures voor uitgepakte distributie:
- Ingesteld
WindowsPackageTypeopNonein uw projectbestand. Zie Een uitgepakte WinUI 3-app distribueren voor installatiestappen en -beperkingen. - Kies tussen frameworkafhankelijke en zelfstandige implementatie. Een frameworkafhankelijke implementatie verkleint uw app, maar vereist dat de runtimeomgeving van de Windows App SDK op de computer van de gebruiker is geïnstalleerd. Zelfstandige bundels bevatten de runtime, maar nemen meer schijfruimte in. Zie overzicht van de implementatie van Windows App SDK.
- Voor frameworkafhankelijke niet-verpakte apps wordt door
WindowsPackageTypeopNonein te stellen de automatische initialisatie van de Windows App SDK-runtime mogelijk gemaakt. Voor geavanceerde scenario's waarvoor expliciete controle over initialisatie is vereist, kunt u de bootstrapper-API rechtstreeks aanroepen. Zie de implementatiehandleiding voor uitgepakte apps. - Alle uitvoerbare bestanden en DLL's digitaal ondertekenen. Zonder MSIX is er geen pakkethandtekening om een vertrouwensrelatie tot stand te brengen, dus afzonderlijke binaire handtekeningen zijn essentieel voor Smart App Control en enterprise-implementatie.
- Registreer voor een schone verwijdering via Apps > Geïnstalleerde apps in Instellingen. MSIX verwerkt dit automatisch; Uitgepakte apps moeten hun eigen registervermeldingen en het opschonen van bestanden beheren.
Installatie en verwijdering
- Ondersteuning voor een installatie per gebruiker. Met deze ondersteuning kunnen gebruikers eenvoudiger installeren en UAC-prompts voorkomen.
- Zorg ervoor dat de installatie van uw toepassing foutloos verloopt, transparant is en zorgvuldig omgaat met het bestandsbeheer. De installatie van uw toepassing mag geen tijdelijke bestanden achterlaten.
- Vermijd het vereisen van verhoogde machtigingen voor het installeren en vereisen van opnieuw opstarten van het besturingssysteem, indien mogelijk.
- Ondersteuning voor stille installatie. Deze ondersteuning is belangrijk voor app-beheerbaarheid in bedrijfsomgevingen.
- Zorg ervoor dat uw app wordt vermeld in de lijst met>.
- Overweeg het gebruik van MSIX om ervoor te zorgen dat gebruikers een naadloze installatie- en update- en verwijderingservaring ervaren. MSIX verwijdert automatisch de binaire bestanden en gegevens van de app. Zie Onderstaan hoe verpakte bureaublad-apps worden uitgevoerd op Windows voor informatie over hoe verpakte apps bestanden en registervermeldingen verwerken.
- Voor uitgepakte apps moet u ervoor zorgen dat gebruikers uw toepassing eenvoudig kunnen verwijderen via de lijst Apps ->Geïnstalleerde apps in Instellingen. Wanneer gebruikers uw toepassing verwijderen, moet u ervoor zorgen dat menuvermeldingen, bestanden, mappen, registervermeldingen en tijdelijke bestanden ook worden verwijderd. Overweeg uw gebruikers de mogelijkheid te geven om hun gegevens te behouden wanneer ze uw toepassing verwijderen.
- Zorg ervoor dat tijdens het verwijderen van uw app alle binaire bestanden en toepassingsgegevens worden verwijderd. Door de gebruiker gemaakte inhoud moet worden opgeslagen op locaties zoals
Documents, die gebruikers kunnen behouden, zelfs nadat de app is verwijderd. - Vermijd het installeren of bijwerken van binaire systeembestanden waarvoor mogelijk opnieuw opstarten is vereist.
- Integreer met RestartManager om de status op te slaan en te herstellen tussen updates van het besturingssysteem.
Actualisaties
- Ondersteuning voor een updatemechanisme waarmee uw app opnieuw kan worden opgestart wanneer deze handig is voor de gebruiker. Overweeg het gebruik van de Windows App SDK Restart API's om het gedrag van WinUI-apps te beheren.
- Zorg ervoor dat uw updatemechanisme alleen de essentiële gewijzigde onderdelen downloadt die moeten worden bijgewerkt. Deze benadering minimaliseert de vereiste netwerkbandbreedte.
- Een manier bieden om uw app bij te werken en te herstellen. Overweeg MSIX, dat automatisch het herstellen van updates afhandelt. Zie Apps automatisch bijwerken en herstellen voor meer informatie.
- Overweeg updates op basis van pushmeldingen of controleer op beschikbare updates bij het opstarten van de app of bij het opnieuw opstarten.
Aanvullende bronnen
Toegankelijkheid
Toegankelijke Windows toepassingen ondersteunen uitgebreide en inclusieve ervaringen voor zoveel mogelijk mensen. Om ervoor te zorgen dat uw app toegankelijk en inclusief is, kunt u overwegen wat verbeterde functionaliteit en bruikbaarheid betekent met betrekking tot:
- Mensen met een handicap (zowel tijdelijk als permanent).
- Persoonlijke voorkeuren.
- Specifieke werkstijlen.
- Situatiebeperkingen (zoals gedeelde werkruimten, rijden, koken, verblinding, enzovoort).
Toegankelijkheid opnemen
Toegankelijkheid inbouwen in ontwerp-, implementatie- en releasecriteria:
- Geef de voorkeur aan platformbesturingselementen en geef nauwkeurige toegankelijke namen, rollen, statussen en waarden weer via UI Automation.
- Maak elke interactie beschikbaar via het toetsenbord en geef een zichtbare indicator voor toetsenbordfocus op.
- Communiceer niet alleen betekenis via kleur. Test elke kritieke werkstroom met contrastthema's.
- Test tekst- en weergaveschaling, inclusief indelingen bij een tekstschaal van 200%.
- Geef bijschriften of transcripties op voor audio- en video-inhoud.
- Test kritieke werkstromen met Verteller en Toegankelijkheidsinzichten voor Windows.
Zie Accessibility overview voor gedetailleerde richtlijnen voor het bouwen van toegankelijke Windows-apps.
Toegankelijkheidstests
Toegankelijkheidsinzichten is een krachtig pakket hulpprogramma's waarmee ontwikkelaars de toegankelijkheid van hun apps en services kunnen testen. Gebruik de volgende hulpprogramma's om de toegankelijkheid te testen:
- Inzicht in Toegankelijkheidsinzichten voor Windows. Inspecteer de toegankelijkheidsboom om laaghangend fruit te vinden, zoals hints in labels, onjuiste rollen en andere problemen.
- Event-bewaking in Toegankelijkheidsinzichten voor Windows · Toegankelijkheidsinzichten. Zie Supporting UI Automation Control Types voor meer informatie over gebeurtenisbewaking.
- Voer Accessibility Insights geautomatiseerde controles uit in uw PR's of CI/CD. Zie axe-pipelines-samples voor meer informatie.
- Behandel kritieke toegankelijkheidsregressies als problemen met releaseblokkering. Leg elke afwijking vast, inclusief een eigenaar en een geplande oplossing.
Beveiliging en privacy
Een onveilige toepassing kan een toegangspunt zijn waarmee een aanvaller schadelijke activiteiten kan uitvoeren. Zelfs als uw app geen beveiligingsfouten heeft, kunnen slechte actoren uw app gebruiken om hun aanvallen te initiëren via phishing en andere vormen van sociale engineering die de beveiligings- en privacygrenzen schenden. De aanbevolen procedures in deze sectie helpen u risico's met betrekking tot beveiliging en gebruikersprivacy te beperken.
Verbeterde beveiligingsfuncties in Windows
Windows is gebouwd op basis van beveiliging en privacy, en Windows 11 is ontworpen om de veiligste versie van Windows te zijn, en we streven ernaar om veilige apps te bouwen die profiteren van de nieuwste beveiligingsfuncties in Windows.
- Beveilig uw Windows-apps en back-endservices met Windows Hello biometrische aanmelding- Windows Hello-overzicht.
- Implementeer aanmeldingen met een wachtwoordsleutel in online-, bedrijfs- en overheidstoepassingen en voor betalingen- Inleiding tot wachtwoordsleutels.
- Onderteken uw apps met een digitaal certificaat om ervoor te zorgen dat Smart App Control de integriteit van uw app kunt controleren: Invoer voor ondertekening van programmacode en Microsoft vereisten voor vertrouwd basisprogramma.
Richtlijnen voor beveiliging
- Volg de levenscyclus van beveiligingsontwikkeling voor alle ontwikkeling.
- Met threat modeling kunt u beveiligingsfouten voorkomen.
- Door veilige bibliotheken, talen en hulpprogramma's te gebruiken, worden implementatiefouten geminimaliseerd.
- Veilige standaardinstellingen kunnen beveiligingsproblemen voorkomen die worden veroorzaakt door gebruikersfouten.
- U hebt geen beheerdersbevoegdheden nodig om uw app te installeren .
- In het ideale geval moet uw app zowel administratieve installaties als installaties per gebruiker ondersteunen.
- Het gebruik van MSIX-pakketten is een manier om dit doel te bereiken.
-
U hebt geen beheerdersbevoegdheden nodig om uw app uit te voeren .
- Als bepaalde functies beheerdersbevoegdheden nodig hebben, overweeg deze te scheiden in hun eigen processen om het aanvalsoppervlak te verminderen.
- Gebruik talen met gegarandeerde geheugenveiligheid, zoals C#, JavaScript of Rust, met name voor riskante codepaden, zoals het parseren van niet-vertrouwde gegevens.
- Gebruik alle beveiligingsbeperkingsoplossingen van uw compiler en toolset (zie Beveiligingsfuncties in Microsoft Visual C++ voor Visual C++).
- Gebruik altijd de standaardbibliotheken van uw gekozen taal of framework voor cryptografie en andere beveiligingsgevoelige code. Probeer niet zelf te bouwen.
- Onderteken alle onderdelen van uw toepassing digitaal, niet alleen het installatieprogramma, maar ook het verwijderprogramma (als u er een hebt). Onderteken ook alle EXE-, DLL- en andere uitvoerbare bestanden waaruit uw app bestaat.
- Met digitale handtekeningen kan de gebruiker de echtheid van uw app verifiëren en kunnen ondernemingsbeheerders hun apparaten beveiligen met app-beheer voor Bedrijven.
- Het gebruik van MSIX-pakketten is een manier om dit doel te bereiken.
- Houd pakketten en SDK's van derden actueel, bewaak ze op bekende beveiligingsproblemen en verwijder afhankelijkheden die u niet meer gebruikt.
- Sla inloggegevens en geheime gegevens op in de opslag voor platform- of dienstreferenties. Sluit ze niet in in de broncode, configuratiebestanden, logboeken of binaire clientbestanden.
- Zorg ervoor dat alle netwerkcommunicatie plaatsvindt via een beveiligd transport, zoals TLS.
- Bied kaders of andere oplossingen die gebruikers kunnen helpen beschermen tegen het per ongeluk uitvoeren van schadelijke acties, zelfs wanneer aanvallers dit verplicht stellen.
- Weet u zeker dat u X wilt doen? Dialoogvensters ja/nee zijn doorgaans niet effectief, omdat gebruikers op Ja moeten klikken.
De meeste moderne apps verzamelen en gebruiken om verschillende redenen een grote hoeveelheid gegevens, inclusief persoonsgegevens. Telemetrie, productverbetering en inkomsten genereren drie veelvoorkomende redenen voor het gebruik van gegevens, maar gebruikers en regelgevers raken gevoeliger voor de privacy-implicaties van deze praktijken. Ze verwachten transparantie en controle over de gegevens die door apps worden verzameld en gebruikt. Gebruik de volgende tips om te voldoen aan de privacybehoeften van uw gebruikers.
Privacyrichtlijnen
Privacybeleid
Een gemakkelijk vindbare en begrijpelijke privacyverklaring verhoogt het vertrouwen en vertrouwen van gebruikers in uw toepassing. Zorg ervoor dat uw app een nauwkeurig privacybeleid biedt. Geef in het ideale geval zowel een samenvattingsdocument op dat is geschreven voor een informele doelgroep (uw gebruikers) als een langdurig juridisch beleid (geschreven voor uw advocaten).
Uw privacybeleid moet:
- Informeer gebruikers over de persoonlijke gegevens die door uw product worden geopend, verzameld of verzonden.
- Hoe deze informatie wordt gebruikt, opgeslagen en beveiligd.
- Geef de soorten partijen aan aan wie die informatie wordt bekendgemaakt.
- Beschrijf de mogelijkheden die gebruikers hebben over het gebruik en delen van hun gegevens en hoe ze toegang kunnen krijgen tot hun gegevens.
- Voldoen aan toepasselijke wetten en voorschriften. Raak vertrouwd met privacyvoorschriften in de markten waar uw app beschikbaar is. Zorg ervoor dat uw app voldoet aan of overschrijdt alle vereisten voor openbaarmaking, gebruiksrechten, verwijderingsaanvragen en andere privacyproblemen.
- Houd up-to-date terwijl u nieuwe functies en functionaliteit aan uw product toevoegt.
Dataverzameling
- Verzamel de minste hoeveelheid persoonlijke gegevens die nodig zijn om de ervaringen van uw app te voltooien.
- Verzamel geen gegevens 'alleen voor het geval'. U hebt een geldige reden voor het verzamelen van alle gegevens, zoals het verbeteren van de ervaring van de klant of het vergemakkelijken van inkomsten.
- Vraag de toestemming van de gebruiker altijd op voordat persoonlijke gegevens worden verzameld en opgeslagen. Geef de gebruiker een eenvoudige manier om de beslissing in de toekomst terug te zetten. Vermijd 'donkere patronen', zoals het groter of duidelijker maken van de knop Ja dan de knop Nee in een toestemmingsdialoogvenster.
- Raadpleeg de toepasselijke regelgeving om te bepalen welke specifieke openbaarmakingen en toestemming vereist zijn voor opgegeven soorten gegevens. In sommige regio's kunnen gebruikers bijvoorbeeld de gegevens bekijken, wijzigen of verwijderen die u over hen hebt opgeslagen.
- Als u gegevens via het netwerk moet verzenden, moet u altijd beveiligde verbindingen gebruiken, zoals verbindingen via TLS.
- Vermijd het opslaan van persoonlijke gegevens op een centrale locatie, zoals een website. Als u persoonlijke gegevens moet opslaan, minimaliseert u de hoeveelheid gegevens die u opslaat, slaat u deze alleen zo lang op als strikt noodzakelijk is en zorgt u ervoor dat deze veilig is versleuteld.
- Controleer of bibliotheken of SDK's van derden die u gebruikt, ook goede privacyprocedures hebben. Dit probleem is niet beperkt tot alleen reclame-SDK's. Elke bibliotheek die verbinding maakt met internet, heeft mogelijk invloed op de privacy van de gebruikers van uw app.
Verwante artikelen
Uw eerste WinUI-project - veelgestelde vragen over Windows developer
- Win32-API's aanroepen vanuit een C# Windows-app (CsWin32)
Windows developer