Condividi tramite


Sviluppo di applicazioni Windows - Procedure consigliate

Le procedure consigliate in questo articolo consentono di creare grandi app di Windows che raggiungono e deliziano circa 1,5 miliardi di utenti di PC diversi in tutto il mondo. Questo articolo è suddiviso nelle sezioni seguenti:

  1. Esperienza utente: le indicazioni contenute in questa sezione consentono di migliorare l'aspetto, l'aspetto e l'usabilità delle app.
  2. Prestazioni e nozioni fondamentali: indicazioni in questa sezione consentono di migliorare le prestazioni e l'utilizzo delle risorse dell'app.
  3. Sistema operativo/Ottimizzazione hardware: linee guida in questa sezione consente di ottimizzare la creazione di pacchetti e la distribuzione per un'ampia gamma di configurazioni hardware.
  4. Individuazione e gestione delle applicazioni: le indicazioni contenute in questa sezione semplificano l'individuazione, l'installazione, l'aggiornamento e la disinstallazione dell'app.
  5. Accessibilità: indicazioni in questa sezione consentono di creare esperienze accessibili e inclusive.
  6. Sicurezza e privacy: le indicazioni contenute in questa sezione consentono di attenuare i rischi per la sicurezza e soddisfare le esigenze di privacy degli utenti.

Esperienza utente (UX)

Windows 11 offre un'evoluzione visiva del sistema operativo Windows che migliora l'aspetto, l'aspetto e l'usabilità di Windows. Gli studi mostrano che gli utenti hanno aspettative elevate per le app di Windows:

  • Si aspettano che le app di Windows funzionino con una gamma completa di input.
  • Si aspettano modelli di progettazione e interazione che sembrano nativi nei dispositivi correnti e futuri.
  • Si aspettanp il supporto per i flussi di lavoro di windowing moderni e i punti di integrazione shell.

Quando le applicazioni rispettano gli stili di Windows e i comportamenti standard di Windows, gli utenti non devono imparare di nuovo i modelli di interazione. Questa coerenza semplifica notevolmente l'uso dell'app da parte degli utenti. Un'app che ha un aspetto eccellente può creare una buona prima impressione, ma un'app che è anche facile da usare e aiuta l'utente a raggiungere i propri obiettivi crea un'impressione duratura.

Windows 11 è basato sui principi di progettazione di Windows 11. Seguendo queste linee guida durante la compilazione delle app, puoi soddisfare le aspettative dei clienti di un'esperienza di app ottimale. Quando si pensa di incorporare i modelli di interfaccia utente/esperienza utente delle applicazioni Windows più recenti e consigliati nelle applicazioni Windows, concentrarsi su queste cinque aree:

  • Impaginazione
  • Interazione dell'interfaccia utente
  • Stile visivo
  • Comportamento della finestra
  • Punti di integrazione della shell

WinUI offre il supporto predefinito per molte di queste esperienze e stili tramite i controlli comuni. Se non puoi usare WinUI, valuta la possibilità di simulare gli stili illustrati nei toolkit di progettazione e nella raccolta WinUI.

Impaginazione

Le applicazioni Windows vengono eseguite in un'ampia gamma di configurazioni che soddisfano le esigenze degli utenti. Testare i riquadri e le pagine dell'applicazione in un'ampia gamma di dimensioni, dispositivi, dimensioni delle finestre, impostazioni DPI e impostazioni di scalabilità. L'applicazione dovrebbe funzionare come previsto anche quando viene ridimensionata in dimensioni ridotte.

Compatibilità con DPI

Le applicazioni WinUI vengono ridimensionate automaticamente per ogni visualizzazione in cui sono in esecuzione. Altre tecnologie di programmazione Windows (Win32, WinForms, WPF e così via) non gestiscono automaticamente il ridimensionamento DPI per monitor. Senza lavoro aggiuntivo per supportare il ridimensionamento DPI per monitor per queste tecnologie, le applicazioni potrebbero apparire sfocate o ridimensionate in modo errato. Per altre informazioni, vedere Sviluppo di applicazioni desktop DPI elevate in Windows.

Layout responsivo

Usare tecniche di progettazione reattive per ottimizzare le pagine dell'app per dimensioni diverse delle finestre. Seguire le linee guida per la panoramica o lo scorrimento per garantire che gli utenti possano sempre accedere al contenuto, indipendentemente da quanto si riduca la finestra dell'app.

Interazione dell'interfaccia utente

Gli utenti di Windows possono scegliere tra un'ampia gamma di dispositivi di input per interagire con l'applicazione e Windows ha esperienze di sistema specifiche che gli utenti sono abituati a usare. Quando l'applicazione rispetta queste esperienze, gli utenti possono usare l'applicazione in modo affidabile. Quando la tua app non segue queste convenzioni, gli utenti potrebbero trovarla confusa o frustrante.

Esecuzione di comandi su oggetto

Usare comandi su oggetti, ad esempio menu di scelta rapida, comandi di scorrimento rapido e tasti di scelta rapida. Windows 11 migliora il comportamento del menu di scelta rapida del clic con il pulsante destro del mouse, quindi se l'app crea menu di scelta rapida, fare riferimento alle linee guida di integrazione del menu di scelta rapida più recenti. I controlli di testo WinUI espongono automaticamente comandi taglia, copia e incolla, ma altri controlli potrebbero richiedere ulteriori operazioni per supportare questi comandi.

Interazione testo

Ogni volta che è presente testo in un'applicazione, gli utenti si aspettano che possano selezionarlo e copiarlo. Se il testo è modificabile, si aspettano che possano anche tagliare e incollare. Fornendo collegamenti coerenti agli utenti, è possibile consentire loro di completare le attività in modo più efficiente. Assicurarsi che gli utenti possano eseguire queste azioni usando tastiera, mouse o trackpad, tocco e penna.

Movimento panoramico e scorrimento

È insolito che l'interfaccia utente di un'applicazione si inserisca completamente all'interno di una singola pagina che non richieda lo scorrimento. Anche se sono presenti solo alcuni elementi dell'interfaccia utente, gli utenti possono ridimensionare liberamente la finestra dell'app e causare la nascondere alcuni elementi dell'interfaccia utente. Assicurarsi che l'interfaccia utente dell'applicazione supporti correttamente lo scorrimento e la panoramica (usando tastiera, mouse o trackpad, tocco e penna) per consentire agli utenti di accedere a tutti gli elementi dell'interfaccia utente che potrebbero uscire dall'area della finestra visibile.

Stile visivo

Windows 11 si basa sui principi di progettazione di Windows 11: Semplice, Calmo, Personale, Familiare e Completo + Coerente. Le esperienze che seguono questi principi portano esperienze utente eccezionali in Windows.

Materiali: acrilico e mica

Acrilico e Mica sono materiali visivi che forniscono ai controlli interattivi dell'interfaccia utente uno stile di visualizzazione "occluso" distinto.

  • Usare l'acrilico per applicare uno stile semitrasparente alle superfici temporanee, ad esempio menu di scelta rapida, riquadri a comparsa e altri elementi che gli utenti possono ignorare.
  • Usare Mica per aggiungere una tinta adattiva sottile alle superfici dell'interfaccia utente di lunga durata.

Mica è un materiale molto efficiente che deve essere usato su superfici dell'interfaccia utente di lunga durata come TitleBar per comunicare lo stato attivo o inattivo dell'app. Mica è una trama che crea piacere visivo risparmiando la durata della batteria.

Immagine di due finestre di app che usano materiali di progettazione.

  • Mica deve essere utilizzata nello strato di base dell'interfaccia utente dell'app per comunicare lo stato attivo dell'app; torna a un colore a tinta unita quando l'app non ha lo stato attivo. Pertanto, è consigliabile usare Mica sullo sfondo di TitleBar.
  • Alcuni controlli, ad esempio NavigationView, sono già compilati con il comportamento predefinito.
  • Quando un'app che usa Mica viene eseguita in Windows 10 o una versione inferiore, si ridurrà normalmente (Mica eseguirà il fallback a un colore a tinta unita).
  • Mica deve essere utilizzata su superfici di lunga durata, a differenza di Acrylic, che deve essere utilizzato su superfici temporanee.
  • Se si usa materiale Acrylic, seguire le indicazioni Acrylic attuali man mano che i colori sono stati aggiornati in modo che siano più vivaci.

Linee guida di Mica, Linee guida di Acrylic

Temi scuri e chiari

I temi scuro e chiaro offrono agli utenti un modo per adattare l'app alle preferenze visive. Windows 11 aggiorna i toni dei colori per essere più morbido sugli occhi evitando il bianco puro e il nero, che rende i colori molto più gradevoli.

Immagine divisa di un'app in tema chiaro a sinistra e in tema scuro a destra.

WinUI supporta il passaggio tra i temi Scuro e Chiaro per impostazione predefinita (vedi risorse del tema XAML). Per le app Win32, vedere Supportare temi scuri e chiari nelle app Win32. La barra del titolo nelle app Win32 non si adatta automaticamente al tema Scuro. Assicurarsi di seguire le indicazioni sulla barra del titolo nell'articolo.

Elementi dell'interfaccia utente aggiornati

Windows 11 offre ottime innovazioni dell'interfaccia utente al sistema operativo Windows che puoi sfruttare per le tue app. La geometria di Windows 11 supporta esperienze moderne per le app. Gli angoli progressivamente arrotondati, gli elementi annidati e gli spazi intercolonna coerenti si combinano per creare un effetto morbido, calmo e accessibile che enfatizza l'unità di scopo e la facilità d'uso.

Le modifiche visive e comportamentali sono integrate in WinUI. Usare WinUI dove è possibile sfruttare il lavoro già svolto dal team di sviluppo di Windows. Se non puoi usare WinUI, valuta la possibilità di simulare gli stili illustrati nei toolkit di progettazione e nella raccolta WinUI.

I controlli comuni sono un modo per usare immediatamente questi aggiornamenti. Usa i controlli comuni più recenti quando possibile per ottenere gratuitamente i vantaggi di compatibilità e accessibilità. Questi controlli comuni sono più convenienti rispetto alla creazione di controlli personalizzati considerando i costi di manutenzione e test.

Immagine dei controlli più comuni dell'interfaccia utente

Estensioni del menu contestuale e destinazioni di condivisione

Un menu contestuale è un menu che l'utente richiama con un clic con il pulsante destro del mouse o tenendo premuto per visualizzare comandi pertinenti al contesto del controllo con cui l'utente interagisce. Gli utenti si aspettano che l'aspetto e il comportamento dei menu di scelta rapida siano coerenti in Windows. Usare i menu di scelta rapida forniti dalla piattaforma ogni volta che è possibile mantenerli coerenti con il resto del sistema.

Windows 11 affina il comportamento delle operazioni di file contestuali nel menu di scelta rapida di Esplora file e nella finestra di dialogo Condividi. Se l'app crea menu di scelta rapida o definisce le destinazioni di condivisione, potrebbe essere necessario apportare alcune modifiche per assicurarsi che funzionino correttamente con Windows 11.

Menu di scelta rapida

Per Windows 11 è stato migliorato il comportamento del menu di scelta rapida in Esplora file in diversi modi:

  • I comandi comuni, come ad esempio Taglia, Copia, Incolla ed Elimina, sono stati spostati nella parte superiore del menu.
  • Apri e Apri con ora sono raggruppati.
  • Le estensioni dell'app vengono raggruppate sotto i verbi shell. Le app con più verbi vengono raggruppate in un menu a comparsa con indicazione dell'app.
  • Le app dei provider di file cloud vengono posizionate accanto ai comandi Shell per idratare o disidratare i file.
  • Il menu di scelta rapida precedente di Windows 10 (insieme ai comandi meno usati dal menu di scelta rapida precedente) è ancora disponibile tramite la voce Mostra altre opzioni nella parte inferiore del menu. Maiusc + F10 o il tasto di menu della tastiera aprirà anche il menu di scelta rapida di Windows 10.

Immagine del menu di scelta rapida in Windows 11

Se l'app definisce un'estensione del menu di scelta rapida, è necessario soddisfare i requisiti seguenti affinché l'estensione venga visualizzata nel nuovo menu di scelta rapida di Windows 11. In caso contrario, l'estensione del menu di scelta rapida dell'app verrà visualizzata nel menu di scelta rapida precedente disponibile tramite la voce Mostra altre opzioni.

  • L'estensione del menu di scelta rapida deve essere implementata usando l'interfaccia IExplorerCommand. Le estensioni del menu di scelta rapida che implementano IContextMenu verranno visualizzate nel menu di scelta rapida precedente.
  • L'app deve essere un'app in pacchetto in modo che abbia l'identità del pacchetto in fase di esecuzione. Consultare Funzionalità che richiedono l'identità del pacchetto per alcune opzioni per la creazione del pacchetto dell'app.
Dialogo di condivisione

Per Windows 11 è stato migliorato il comportamento della finestra di dialogo Condividi in diversi modi.

  • Le impostazioni di visibilità per la condivisione in prossimità sono ora nella parte superiore della finestra di dialogo e sono disponibili altre impostazioni nella parte inferiore.
  • Tutte le app possono ora partecipare al dialogo di condivisione come destinazioni, incluse le app desktop senza pacchetto e le app Web progressive installate tramite Microsoft Edge.

Immagine della finestra di dialogo Condividi in Windows 11

Iconografia e tipografia

Windows 11 ha aggiornato le icone ("Segoe Fluent Icons"), il supporto migliorato per le icone animate e un nuovo tipo di carattere dell'interfaccia utente ("Segoe UI Variable"). Usa queste nuove icone e font quando possibile per essere coerenti in Windows 11. Il nuovo tipo di carattere offre una geometria molto più morbida e rende il testo molto più leggibile.

Immagine di una selezione di icone delle finestre.

  • Nuove icone denominate "Segoe Fluent Icons" sono state introdotte per le icone monoline. I controlli in WinUI 2.6 e versioni successive usano automaticamente le nuove icone e la tipografia.
  • Le icone del tipo di file sono state aggiornate. Se l'app usa icone in imageres.dll o shell32.dll, le icone verranno aggiornate automaticamente. In caso contrario, potrebbe essere necessario un aggiornamento manuale dello stile.
  • Icone delle app: seguire le indicazioni più recenti per le icone nelle app di Windows usate in posizioni come avviatori su Start e Barra delle applicazioni.
  • Icone animate: il supporto per le animazioni Lottie è stato aggiunto a WinUI e ti consigliamo di usare la funzionalità AnimatedIcon per animare le icone in modo significativo. Proprio come con altre modifiche stilistiche, sarà necessario avere WinUI 2.6 o versione successiva.
  • Le esperienze personalizzate scritte in XAML che specificano Segoe UI nel codice devono invece specificare Segoe UI Variable.

Annotazioni

Quando un'app che utilizza il nuovo tipo di carattere funziona in Windows 10 o in una versione inferiore, eseguirà un fallback per utilizzare il tipo di carattere precedente e degradarsi senza problemi.

Comportamento e stile della finestra

Le applicazioni vengono eseguite in un frame fornito da Windows. Gli utenti si aspettano che l'aspetto e i comportamenti predefiniti di Windows siano coerenti tra le finestre delle app. Per assicurarsi che l'app abbia l'aspetto e funzioni come previsto dagli utenti in Windows 11, valutare la possibilità di supportare le funzionalità elencate qui.

Pulsanti barra del titolo e didascalia

Gli utenti interagiscono con i pulsanti della barra del titolo e della didascalia (riduci a icona, ingrandisci, chiudi) per ridimensionare, spostare e chiudere le finestre dell'app. Un'esperienza coerente consente agli utenti di usare l'applicazione senza problemi. Vedi Barra del titolo dell'app di Windows per informazioni sulla progettazione della barra del titolo e del pulsante didascalia per Windows.

È possibile usare le API di Windows App SDK per integrare il contenuto dell'app con la barra del titolo nelle app WinUI 3, .NET, WinForms e WPF.

Snap Layout

Lo snapping delle finestre è notevolmente migliorato in Windows 11 e il menu Snap Layout è una nuova funzionalità che consente agli utenti di individuare e usare la potenza dello snapping della finestra. Usare il menu Layout snap per eseguire il test dell'app in layout di snap diversi e assicurarsi che l'app supporti dimensioni di snap diverse, ad esempio schermo 1/2, 1/3 e 1/4.

I layout Snap sono facilmente accessibili passando il puntatore del mouse sul pulsante ingrandisci di una finestra o premendo Win + Z. Dopo aver richiamato il menu che mostra i layout disponibili, gli utenti possono fare clic su una zona del layout per ancorare una finestra in tale zona e quindi usare "Snap Assist" per completare la creazione di un intero layout di finestre. I layout Snap sono personalizzati in base alle dimensioni e all'orientamento attuali dello schermo, incluso il supporto per tre finestre affiancate su schermi orizzontali di grandi dimensioni e finestre impilate in alto/in basso su schermi verticali.

La maggior parte delle app supporterà automaticamente il menu con layout a scatto, ma in alcuni casi potrebbe essere necessario fare un po' di lavoro per ottenerli:

Queste funzionalità verranno visualizzate automaticamente se si usa la finestra di Windows App SDK per:

  • Configurare lo stile della finestra usando i modelli predefiniti.
  • Personalizzare la barra del titolo delle finestre.

Angoli arrotondati

Abbiamo arrotondato gli angoli dei bordi delle finestre in Windows 11. Il team di ricerca dell'utente ha scoperto che la geometria arrotondata fornisce psicologicamente una sensazione di sicurezza e rende l'interfaccia utente dell'app molto più semplice da analizzare. In questo modo gli utenti si sentono meno intimiditi e l'app è più coinvolgente. Anche la quantità di arrotondamento è stata scelta con attenzione. Abbiamo lavorato in tutta l'azienda e facendo ricerca sugli utenti per trovare un bilanciamento tra il risultare professionale e il risultare più soft e più invitante.

Immagine di una finestra di app con angoli arrotondati.

Nella maggior parte dei casi, la finestra della tua app ha angoli arrotondati per impostazione predefinita in Windows 11. Se personalizza la finestra dell'app e non hai angoli arrotondati, vedi Applica angoli arrotondati nelle app desktop per Windows 11 per alcune operazioni che puoi fare. È anche consigliabile evitare di personalizzare i bordi e le ombreggiature delle finestre, che possono impedire al sistema di arrotondare gli angoli della finestra.

Punti di integrazione della shell

L'integrazione della shell di Windows consente agli utenti di trarre vantaggio dall'app anche quando non è in esecuzione in primo piano o visibile sullo schermo. Quando l'app si integra bene con Windows, diventa parte del flusso di lavoro dell'utente con altre app e consente di creare un'esperienza senza problemi.

Notifiche di tipo avviso popup

Le notifiche di tipo avviso popup sono le notifiche di Windows visualizzate nella parte inferiore della schermata dell'utente e nel Centro notifiche.

  • Personalizzare, rendere interattivi e assicurarsi che le notifiche siano utili per gli utenti. Offri agli utenti ciò che vogliono, non quello che vuoi che sappiano.
  • Evitare notifiche rumorose. Troppe interruzioni dalla tua app portano gli utenti a disattivare questo canale di comunicazione critico per la tua app.
  • Rispondere alla finalità dell'utente. La selezione di una notifica dovrebbe avviare l'app nel contesto della notifica. L'unica eccezione a questa linea guida è quando l'utente seleziona un pulsante nella notifica collegata a un'attività in background, ad esempio una risposta rapida.
  • Offrire un'esperienza coerente nel Centro notifiche. Mantenere ordinato il Centro notifiche cancellando le notifiche precedenti.

Per altre informazioni sulle notifiche di tipo avviso popup, vedere Nozioni di base sulla progettazione delle notifiche.

Prestazioni e nozioni fondamentali

Gli utenti di Windows si aspettano che le app di Windows presentino prestazioni e nozioni fondamentali eccellenti. Durante la progettazione e la creazione dell'app, tenere presente l'ottimizzazione per l'utilizzo della memoria, il consumo energetico, la velocità di risposta, l'affidabilità e l'impatto sulla sostenibilità a lungo termine. Allocare tempo per testare e misurare i concetti fondamentali e le prestazioni dell'applicazione garantisce agli utenti un'esperienza di prima classe.

Seguendo le procedure consigliate descritte in questa sezione, è possibile soddisfare le aspettative dei clienti in questi criteri.

Per altre informazioni, vedere Panoramica delle prestazioni e dei concetti fondamentali. Questo articolo risponde a domande quali "Che cos'è le prestazioni dell'applicazione e perché è importante?" e "Quali strumenti è possibile usare per misurare le prestazioni delle applicazioni Windows?" È anche collegato a case study, blog correlati, community di supporto e informazioni su come l'ingegneria delle prestazioni interseca con la sostenibilità riducendo l'impatto che l'applicazione ha sul nostro pianeta.

Ottimizzazione hardware e sistema operativo

È possibile compilare, creare pacchetti e distribuire app di Windows in molti modi. Le procedure consigliate in questa sezione consentono di ottimizzare questi aspetti dell'applicazione nelle configurazioni hardware.

Le persone eseguono Windows tra dispositivi convenzionali e una gamma di dispositivi sempre più diversificata e moderna. I dispositivi oggi sono disponibili non solo con architetture basate su x86/x64, ma anche basate su Arm; non solo con mouse e tastiera, ma anche touch screen, touchpad e penne; con telecamere, GPS e sensori come giroscopi; e con chipset di elaborazione grafica e neurale che consentono non solo oggetti visivi sorprendenti, ma anche intelligenza artificiale accelerata hardware. I clienti si aspettano che le app sfruttino l'hardware (che hanno pagato!) e siano consapevoli del fattore di forma del dispositivo per offrire loro un'esperienza ottimizzata in maniera appropriata.

MSIX App Attach e Desktop virtuale Azure

Per ottimizzare l'esecuzione dell'app in un ambiente aziendale, aggiungere il supporto per MSIX App Attach.

MSIX App Attach consente di distribuire applicazioni MSIX a macchine virtuali e fisiche. Viene creato in modo specifico per Desktop virtuale Azure (AVD), un servizio di virtualizzazione di desktop e app in esecuzione nel cloud. L'uso di MSIX App Attach con AVD consente di migliorare i tempi di accesso per gli utenti e di ridurre i costi dell'infrastruttura per l'azienda.

Windows su Arm

Windows può essere eseguito nei dispositivi Arm. I PC Arm traggono vantaggio dalla durata estesa della batteria e dal supporto integrato per le reti dati mobili. Questi PC offrono anche una grande compatibilità delle applicazioni e consentono di eseguire le applicazioni esistenti x86 e x64 non modificate.

Per ottenere prestazioni ottimali, consentire alle app di sfruttare al meglio l'architettura del processore Arm efficiente in termini di energia creando una versione arm completa o ottimizzando le parti della codebase che traggono il massimo vantaggio dalle prestazioni native. Per altre informazioni su queste tecniche, vedi Windows in Arm e Arm64EC per le app di Windows 11 su Arm.

Notifiche push

Le notifiche push consentono di inviare informazioni dal servizio cloud all'app in modo ottimizzato per le prestazioni. Le notifiche push includono notifiche non elaborate, notifiche badge e notifiche di tipo avviso popup inviate dal servizio cloud.

  • Usare le notifiche push per riattivare l'app o il client anziché mantenerlo sempre in esecuzione per ottimizzare le prestazioni nel dispositivo dell'utente.
  • Non usare i canali di notifica per inviare annunci pubblicitari.
  • Rispettare retry-after le intestazioni: questo protegge il servizio e garantisce il successo nella consegna delle notifiche.
  • Rimuovere i canali scaduti o revocati dal sistema. Windows Notification Service (WNS) non elabora le richieste per i canali scaduti o revocati.
  • Evitare picchi improvvisi di richieste a WNS. Questo modello può causare risposte limitate.
  • Utilizzare l'intestazione MS-CV. Questa intestazione consente la tracciabilità end-to-end e la diagnostica.
  • Avere un meccanismo di backup per quando le notifiche non funzionano.
  • Usare Hub di notifica di Azure (ANH). ANH consente di accedere a funzionalità di engagement come destinatari, pianificazione di notifiche e notifiche di trasmissione. Se oggi sei uno sviluppatore solo Windows, l'uso di ANH semplifica la transizione dell'infrastruttura delle notifiche ad altre piattaforme in futuro.

Individuazione e gestione delle applicazioni

Le esperienze di installazione, aggiornamento e disinstallazione affidabili sono parti importanti di un'esperienza utente coerente e di alta qualità. Le procedure consigliate seguenti consentono di garantire che l'applicazione lasci un'ottima impressione quando gli utenti lo individuano e lo gestiscono:

Individuazione delle applicazioni

  • La presentazione dell'app in Microsoft Store rende l'app più individuabile per gli utenti.
  • Se si ospita l'app in più canali (ad esempio, in un sito Web e in Microsoft Store), usare un meccanismo di aggiornamento e identità coerente dell'applicazione in tutti i canali.
  • Distribuire l'app tramite Microsoft Store per renderla più individuabile per gli utenti. Si noti che gli utenti di Windows accedono alle app dello Store tramite Windows Package Manager WinGet. Se non si pubblica in Microsoft Store, è comunque possibile rendere l'app facilmente individuabile in WinGet tramite il repository WinGet.

Installazione e disinstallazione

  • Supportare un'installazione per utente. Questo supporto consente agli utenti di installare più facilmente ed evitare richieste di controllo dell'account utente.
  • Assicurarsi che l'installazione dell'applicazione sia priva di errori, trasparente e ponderata sulla gestione dei file. L'installazione dell'applicazione non deve lasciare alcun file temporaneo.
  • Evitare di richiedere autorizzazioni elevate per installare e richiedere riavvii del sistema operativo quando possibile.
  • Supportare l'installazione invisibile all'utente. Questo supporto è importante per la gestibilità delle app negli ambienti aziendali.
  • Verificare che l'app sia elencata nell'elenco delle >App Installate.
  • Prendere in considerazione l'uso di MSIX per garantire agli utenti un'esperienza di installazione, aggiornamento e disinstallazione senza problemi. MSIX rimuove automaticamente i file binari e i dati dell'app. Per informazioni su come le app in pacchetto gestiscono file e voci del Registro di sistema, vedere Informazioni sull'esecuzione delle app desktop in pacchetto in Windows.
  • Per le app non in pacchetto, assicurarsi che gli utenti possano disinstallare facilmente l'applicazione tramite l'elenco App ->Installate in Impostazioni. Quando gli utenti disinstallano l'applicazione, assicurarsi che vengano rimosse anche voci del menu Start, file, directory, voci del Registro di sistema e file temporanei. È consigliabile offrire agli utenti la possibilità di conservare i dati quando disinstallano l'applicazione.
  • Assicurarsi che durante la disinstallazione l'app rimuova tutti i file binari e i dati dell'applicazione. Il contenuto creato dall'utente deve essere archiviato in posizioni come Documents, che gli utenti possono conservare anche dopo la disinstallazione dell'app.
  • Evitare di installare o aggiornare file binari di sistema che potrebbero richiedere un riavvio.
  • Eseguire l'integrazione con RestartManager per salvare e ripristinare lo stato tra gli aggiornamenti del sistema operativo.

Aggiornamenti

  • Supportare un meccanismo di aggiornamento che consente al riavvio dell'app quando è conveniente per l'utente. Prendere in considerazione l'uso delle API di riavvio di Windows App SDK per gestire il comportamento delle app per le app WinUI 3.
  • Assicurarsi che il meccanismo di aggiornamento scarichi solo i componenti modificati essenziali che devono essere aggiornati. Questo approccio riduce al minimo la larghezza di banda di rete necessaria.
  • Fornire un modo per aggiornare e ripristinare l'app. Prendere in considerazione MSIX, che gestisce automaticamente il ripristino degli aggiornamenti. Per altre informazioni, vedere Aggiornamento automatico e ripristino delle app.
  • Prendere in considerazione gli aggiornamenti basati sulle notifiche push o verificare la disponibilità di aggiornamenti all'avvio dell'app o al riavvio.

Risorse aggiuntive

Accessibilità

Le applicazioni Windows accessibili supportano esperienze avanzate e inclusive per il maggior numero possibile di persone. La progettazione inclusiva crea prodotti migliori per tutti. Per assicurarsi che l'app sia accessibile e inclusiva, prendere in considerazione cosa significa migliorare funzionalità e fruibilità in relazione a:

  • Utenti con disabilità (sia temporanee che permanenti).
  • Preferenze personali.
  • Stili di lavoro specifici.
  • Vincoli legati alla situazione (ad esempio spazi di lavoro condivisi, guida, cucina, riflessi e così via).

Infatti, l'Organizzazione mondiale della sanità definisce la disabilità non come una caratteristica personale, ma piuttosto come un'interazione non corrispondente tra una persona e il mondo fisico e digitale intorno a lei.

L'accessibilità è valida sia per le persone che per le aziende

L'accessibilità è responsabilità

Più di 1 miliardo di persone in tutto il mondo sperimentano una forma di disabilità. Tuttavia, solo uno su 10 ha accesso alla tecnologia assistive necessaria per partecipare pienamente alle nostre economie e società. In genere, il tasso di disoccupazione per le persone con disabilità è due volte quello delle persone senza disabilità. E le disabilità, che si tratti di situazioni, temporanee o permanenti, possono influire su uno qualsiasi di noi in qualsiasi momento.

L'accessibilità è un'opportunità

Secondo il foglio dati sull'approccio all'accessibilità Microsoft: organizzazioni inclusive che adottano le procedure consigliate per l'impiego e il supporto di persone con disabilità sul posto di lavoro hanno prestazioni migliori della concorrenza e migliorano l'attrazione e il mantenimento dei migliori talenti. I millenni, che sono 75% della forza lavoro globale, in genere scelgono i datori di lavoro che riflettono i loro valori. Diversità e inclusione sono in cima a tale elenco.

Integrazione dell'accessibilità

L'integrazione dell'accessibilità nelle app di Windows ottimizza l'engagement degli utenti, aumenta la soddisfazione dei prodotti e incoraggia la fedeltà dei prodotti. La progettazione e l'implementazione proattiva di esperienze accessibili riducono in genere i costi di sviluppo e manutenzione a lungo termine.

Alcune soluzioni comuni prevedono l'aggiunta di informazioni in formati alternativi (ad esempio didascalie in un video) o l'uso delle assistive technology (ad esempio, utilità per la lettura dello schermo).

Le applicazioni progettate tenendo presente l'accessibilità sono più facili da gestire, aggiornare e riprogettare. Oltre ad aiutare l'app a raggiungere gli utenti con disabilità, il fattore di accessibilità può ridurre i costi di gestione dell'app.

Per indicazioni dettagliate sulla creazione di app di Windows accessibili, vedere Accessibilità in Windows.

Test di accessibilità

Accessibility Insights è una potente suite di strumenti che consente agli sviluppatori di testare l'accessibilità delle app e dei servizi. Usare gli strumenti seguenti per testare l'accessibilità:

  1. Esaminare in Accessibility Insights per Windows. Esaminare l'albero di accessibilità per trovare opportunità facilmente raggiungibili come suggerimenti nelle etichette, ruoli non corretti e altri problemi.
  2. Monitoraggio degli eventi in Accessibility Insights per Windows · Informazioni dettagliate sull'accessibilità. Per altre informazioni sul monitoraggio degli eventi, vedere Supporto dei tipi di controllo di automazione interfaccia utente.
  3. Eseguire controlli automatizzati di Accessibility Insights nelle richieste pull o CI/CD. Per altre informazioni, vedere axe-pipelines-samples.
  4. Correggere tutti i bug rilevati, poiché tutti hanno un impatto diretto sull'accessibilità.

Sicurezza e privacy

Un'applicazione non sicura può essere un punto di ingresso che consente a un utente malintenzionato di eseguire attività dannose. Anche se l'app non ha bug di sicurezza, gli attori malintenzionati possono usare l'app per avviare gli attacchi tramite phishing e altre forme di ingegneria sociale che violano i limiti di sicurezza e privacy. Le procedure consigliate in questa sezione consentono di ridurre i rischi correlati alla sicurezza e alla privacy degli utenti.

Funzionalità di sicurezza avanzate in Windows

Windows è basato su una base di sicurezza e privacy e Windows 11 è progettato per essere la versione più sicura di Windows, ma ci impegniamo a creare app sicure che sfruttano le funzionalità di sicurezza più recenti in Windows.

Linee guida sulla sicurezza

  • Seguire il ciclo di vita dello sviluppo della sicurezza per tutti gli sviluppi.
    • La modellazione delle minacce consente di evitare difetti di sicurezza.
    • L'uso di librerie sicure, linguaggi e strumenti riduce al minimo i difetti di implementazione.
    • Le impostazioni predefinite sicure possono impedire problemi di sicurezza causati dall'errore dell'utente.
  • Non richiedere privilegi amministrativi per installare l'app.
    • Idealmente, l'app deve supportare sia installazioni amministrative che installazioni per utente.
    • L'uso del packaging MSIX è un modo per raggiungere questo obiettivo.
  • Non richiedere privilegi amministrativi per eseguire l'app.
    • Se alcune funzionalità necessitano di privilegi amministrativi, è consigliabile separarle nei propri processi per ridurre la superficie di attacco.
  • Usare linguaggi con sicurezza di memoria garantita, ad esempio C#, JavaScript o Rust, soprattutto per percorsi di codice rischiosi, ad esempio l'analisi di dati non attendibili.
  • Usare tutte le mitigazioni della sicurezza fornite dal compilatore e dal set di strumenti (vedere Funzionalità di sicurezza in Microsoft Visual C++ per Visual C++).
  • Usare sempre le librerie standard del linguaggio o del framework scelto per la crittografia e altri codici sensibili alla sicurezza. Non provare a creare il proprio.
  • Firmare digitalmente tutti i componenti dell'applicazione, non solo il programma di installazione, ma anche il programma di disinstallazione (se disponibile). Firmare anche tutti i file EXE, DLL e altri file eseguibili che costituiscono l'app.
    • Le firme digitali consentono all'utente di verificare l'autenticità dell'app e consentono agli amministratori aziendali di proteggere i propri dispositivi usando Windows Defender Application Control.
    • L'uso del confezionamento MSIX è un modo per raggiungere questo obiettivo.
  • Assicurarsi che tutte le comunicazioni di rete siano in un trasporto sicuro, ad esempio SSL.
  • Fornire protezioni o altre mitigazioni che consentono di proteggere gli utenti dall'esecuzione accidentale di azioni dannose, anche quando sono costretti a farlo da utenti malintenzionati.
    • Delle semplici finestre di dialogo "Sei sicuro di voler fare X? Le finestre di dialogo Sì/No" in genere non sono valide, perché gli utenti sono condizionali per fare clic su "Sì".

La maggior parte delle app moderne raccoglie e usa una grande quantità di dati, inclusi i dati personali, per vari motivi. La telemetria, il miglioramento del prodotto e la monetizzazione sono tre ragioni comuni per l'utilizzo dei dati, ma gli utenti e le autorità di regolamentazione stanno diventando più sensibili alle implicazioni sulla privacy di queste pratiche. Si aspettano trasparenza e controllo sui dati raccolti e usati dalle app. Usare i suggerimenti seguenti per soddisfare le esigenze di privacy degli utenti.

Linee guida sulla privacy

Informativa sulla privacy

Un'informativa sulla privacy facilmente ricercabile e comprensibile aumenta la fiducia e la sicurezza degli utenti nell'applicazione. Assicurarsi che l'app fornisca un'informativa sulla privacy accurata. Idealmente, fornire sia un documento di riepilogo scritto per un pubblico casuale (gli utenti) che un criterio legale lungo formato (scritto per i tuoi avvocati).

L'informativa sulla privacy deve:

  • Informare gli utenti delle informazioni personali accessibili, raccolte o trasmesse dal prodotto.
    • Modalità di utilizzo, archiviazione e protezione delle informazioni.
    • Indicare le varie parti a cui tali informazioni vengono divulgate.
  • Descrivere i controlli che gli utenti hanno sull'uso e la condivisione delle informazioni e su come possono accedere alle informazioni.
  • Risultare conforme alle leggi e regolamenti applicabili. Acquisire familiarità con le normative sulla privacy nei mercati in cui è disponibile l'app. Assicurarsi che l'app soddisfi o superi i requisiti per la divulgazione, i diritti di utilizzo, le richieste di eliminazione e altri problemi di privacy.
  • Essere sempre aggiornata man mano che si aggiungono nuove funzioni e funzionalità al prodotto.

Informativa sulla privacy Microsoft

Raccolta dei dati

  • Raccogliere la quantità minima di dati personali necessari per completare le esperienze dell'app.
    • Non raccogliere i dati "solo in caso". Avere un motivo valido per raccogliere tutti i dati, ad esempio per migliorare l'esperienza del cliente o per facilitare la monetizzazione.
  • Ottenere sempre il consenso dell'utente prima di raccogliere e archiviare i dati personali. Fornire all'utente un modo semplice per ripristinare la propria decisione in futuro. Evitare "motivi scuri", ad esempio rendere il pulsante "Sì" più grande o più prominente del pulsante "No" in una finestra di dialogo di consenso.
    • Consultare le normative applicabili per determinare quali divulgazioni e consenso specifici sono necessari per i tipi di dati specificati. Ad esempio, alcune aree possono consentire agli utenti di visualizzare, modificare o eliminare i dati archiviati su di essi.
  • Se è necessario trasmettere i dati in rete, usare sempre connessioni protette, ad esempio le connessioni tramite TLS.
  • Evitare di archiviare i dati personali in una posizione centralizzata, ad esempio un sito Web. Se è necessario archiviare i dati personali, ridurre al minimo la quantità di dati archiviati, archiviarla solo per il tempo strettamente necessario e assicurarsi che sia crittografata in modo sicuro.
  • Verificare che tutte le librerie o gli SDK di terze parti usati dispongano anche di procedure consigliate per la privacy. Questo problema non è limitato solo agli SDK pubblicitari: qualsiasi libreria che si connette a Internet potrebbe influire sulla privacy degli utenti dell'app.