Condividi tramite


Sviluppo di applicazioni per Windows as a Service

Si applica a

  • Windows 11
  • Windows 10
  • Windows 10 Mobile
  • Windows 10 IoT Core

Al giorno d'oggi le aspettative degli utenti vengono spesso definite dalle rispettive esperienze basate sui dispositivi. Questo è il motivo che ha portato a misurare i cicli dei prodotti in termini di mesi e non di anni. Inoltre, le nuove versioni devono essere rese disponibili in modo continuo e devono essere distribuibili con un impatto minimo sugli utenti. Microsoft ha progettato Windows 10 in conformità con questi requisiti implementando un nuovo approccio per l'innovazione, lo sviluppo e la distribuzione definito Windows as a Service (WaaS). Il principale fattore che ha reso possibile cicli di prodotti più brevi mantenendo livelli qualitativi elevati è costituito da un approccio innovativo basato sulla community per quanto riguarda la fase di test implementato da Microsoft per Windows 10. La community, nota anche come partecipanti al Programma Windows Insider, è composta da milioni di utenti di tutto il mondo. Quando acconsentono esplicitamente a iscriversi alla community, i partecipanti al Programma Windows Insider accettano di testare più build durante il ciclo di un prodotto e di fornire feedback a Microsoft tramite una metodologia iterativa definita distribuzione di versioni di anteprima.

Le build distribuite come versioni di anteprima forniscono al team di progettazione di Windows dati significativi sulle effettive prestazioni del prodotto in uno scenario di uso reale. La distribuzione di versioni di anteprima ai partecipanti al Programma Windows Insider consente inoltre a Microsoft di testare le build in ambienti hardware, applicativi e di rete più variegati rispetto al passato e quindi di velocizzare l'individuazione dei problemi. Di conseguenza, Microsoft ritiene che la distribuzione di versioni di anteprima alla community consentirà una maggiore rapidità di distribuzione di funzionalità innovative e un più elevato livello qualitativo delle versioni rilasciate al pubblico.

Tipi e frequenze di rilascio di Windows 10 e Windows 11

Anche se rilascia versioni di anteprima delle build ai partecipanti al Programma Windows Insider, Microsoft rilascerà regolarmente due tipi di versioni di Windows 10 e Windows 11 al pubblico:

Con gli aggiornamenti delle funzionalità viene installata la versione più recente di nuove funzionalità, esperienze e caratteristiche su dispositivi in cui è già in esecuzione Windows 10. Poiché contengono una copia completa di Windows, gli aggiornamenti delle funzionalità vengono usati dai clienti anche per installare Windows 10 in dispositivi esistenti con Windows 7 o Windows 8.1 e in nuovi dispositivi senza alcun sistema operativo installato. Microsoft prevede di pubblicare aggiornamenti ogni sei mesi.

Gli aggiornamenti qualitativi offrono soluzioni a problemi di sicurezza e altre correzioni di bug importanti. Gli aggiornamenti qualitativi verranno forniti per migliorare ogni funzionalità attualmente supportata, con una frequenza di una o più volte al mese. Microsoft continuerà a pubblicare gli aggiornamenti qualitativi il secondo martedì di ogni mese (questo servizio viene a volte definito "Patch Tuesday"). Inoltre, Microsoft si riserva la facoltà di pubblicare altri aggiornamenti qualitativi per Windows 10 al di fuori della frequenza definita dal processo Patch Tuesday quando ritenuto necessario per soddisfare esigenze specifiche dei clienti.

Durante lo sviluppo di Windows 10, Microsoft ha semplificato il ciclo di progettazione e rilascio dei prodotti Windows in modo da essere in grado di fornire le funzionalità, le esperienze e le caratteristiche desiderate dai clienti il più velocemente possibile. Sono state create inoltre nuove modalità di invio e installazione degli aggiornamenti delle funzionalità e degli aggiornamenti qualitativi in modo da semplificare le distribuzioni e la gestione continuativa, ampliare la base di dipendenti che possono essere aggiornati con le funzionalità ed esperienze Windows più recenti, nonché ridurre il costo totale di proprietà. Abbiamo poi implementato nuove opzioni di manutenzione, denominate Canale semestrale e Long-Term Servicing Channel (LTSC), che forniscono soluzioni pragmatiche per mantenere aggiornato un maggior numero di dispositivi in ambienti aziendali rispetto al passato.

La tabella seguente descrive i diversi canali di manutenzione e i relativi attributi fondamentali.

Opzione di manutenzione Disponibilità di nuovi aggiornamenti di funzionalità per l'installazione Durata della manutenzione Vantaggi chiave Edizioni supportate
Canale semestrale (mirato) Subito dopo la prima pubblicazione da parte di Microsoft 18 mesi Rende disponibili le nuove funzionalità agli utenti il prima possibile Home, Pro, Education, Enterprise, Mobile, IoT Core, Windows 10 IoT Core Pro (IoT Core Pro)
Canale semestrale Circa 4 mesi dopo la prima pubblicazione da parte di Microsoft 18 mesi dalla pubblicazione iniziale Fornisce tempo aggiuntivo per eseguire i test dei nuovi aggiornamenti delle funzionalità prima della distribuzione Pro, Education, Enterprise, Mobile Enterprise, IoT Core Pro
Long-Term Servicing Channel (LTSC) Subito dopo la pubblicazione da parte di Microsoft 10 anni Consente distribuzioni a lungo termine di versioni selezionate di Windows 10 in configurazioni poco soggette a modifiche Enterprise LTSB

Per altre informazioni, vedi Opzioni di manutenzione di Windows 10/11 per gli aggiornamenti.

Supporto delle app in Windows as a Service

L'approccio tradizionale per il supporto delle app prevede il rilascio di una nuova versione dell'app in risposta a una versione di Windows. Ciò presuppone che il sistema operativo sottostante includa modifiche importanti che possono potenzialmente causare una regressione per l'applicazione. Questo modello prevede un ciclo di sviluppo e convalida dedicato che richiede ai partner ISV di allinearsi alla frequenza di rilascio di Windows.

Con il modello di Windows as a Service, Microsoft si impegna a mantenere la compatibilità del sistema operativo sottostante. Questo significa che Microsoft adotterà un approccio concertato per assicurarsi che non vengano introdotte modifiche rilevanti con effetti negativi sull'ecosistema di app. In questo scenario la maggior parte delle app (quelle senza dipendenze dal kernel) continuerà a funzionare in seguito al rilascio di una build di Windows.

In vista di questo cambiamento, Microsoft consiglia che i partner ISV separino il rilascio e il supporto delle app da build di Windows specifiche. I clienti in comune possono usufruire di un servizio migliore con un approccio basato sul ciclo di vita di un'applicazione. Questo significa che quando viene rilasciata una versione di un'applicazione, verrà fornito il supporto per un determinato periodo di tempo indipendentemente dal numero di build di Windows rilasciate nel frattempo. L'ISV si impegna a offrire supporto per la versione specifica dell'app, purché sia supportata nel ciclo di vita. Microsoft adotta un approccio simile per il ciclo di vita per Windows. Le informazioni di riferimento sono disponibili qui.

Questo approccio consente di ridurre l'onere di gestire una pianificazione per le app allineata alle versioni di Windows. I partner ISV dovrebbero essere liberi di rilasciare funzionalità o aggiornamenti con la frequenza desiderata. Microsoft ritiene che i partner possano tenere aggiornati i loro clienti con i più recenti aggiornamenti delle app indipendentemente da una versione di Windows. I clienti inoltre non dovranno cercare informazioni esplicite sul supporto ogni volta che viene rilasciata una build di Windows. Ecco un esempio di dichiarazione relativa al supporto che indica come può essere supportata un'app in versioni diverse del sistema operativo:

Esempio di dichiarazione relativa al supporto del ciclo di vita di un'applicazione

Contoso è una società di sviluppo software ed è proprietaria della famosa app Mojave con una quota di mercato importante in ambito aziendale. Contoso rilascia la nuova versione principale 14.0 di Mojave e dichiara il supporto Mainstream per un periodo di tre anni dalla data di rilascio. Durante il supporto Mainstream tutti gli aggiornamenti e il supporto sono gratuiti per il prodotto concesso in licenza. Contoso dichiara inoltre altri due anni di supporto esteso durante i quali i clienti possono acquistare aggiornamenti e supporto per un periodo di tolleranza. Successivamente alla data di fine del supporto esteso, questa versione del prodotto non sarà più supportata. Durante il periodo di supporto Mainstream Contoso supporterà la versione 14.0 di Mojave in tutte le build rilasciate di Windows. Contoso rilascerà anche aggiornamenti per Mojave, a seconda delle necessità e indipendentemente dai rilasci di prodotti Windows.

Nelle sezioni seguenti troverai altre informazioni sulle misure adottate da Microsoft per mantenere la compatibilità del sistema operativo sottostante. Troverai anche indicazioni sulle misure che puoi adottare per mantenere la compatibilità nell'ecosistema combinato di sistema operativo e app. È disponibile anche una sezione che descrive come sfruttare le versioni di anteprima per il rilevamento delle regressioni per le app prima del rilascio di una build di Windows. Infine, viene descritto in che modo viene usato un approccio basato sulla strumentazione e la telemetria per migliorare la qualità delle build di Windows. È consigliabile per gli ISV adottare un approccio simile con il loro portfolio di app.

Modifiche sostanziali a partire da Windows 7 per garantire la compatibilità delle app

Microsoft è consapevole dell'importanza della compatibilità per gli sviluppatori. ISV e sviluppatori vogliono essere certi che le loro app vengano eseguite come previsto in tutte le versioni supportate del sistema operativo Windows. Per i consumatori e le aziende sono in gioco investimenti importanti: è fondamentale che le app che hanno acquistato continuino a funzionare. È noto come la compatibilità sia un criterio fondamentale per le decisioni sugli acquisti. Le app ben scritte e che tengono conto delle procedure consigliate comporteranno molti meno interventi a livello di codice in seguito al rilascio di una nuova versione di Windows e ne risulterà una minore frammentazione. Per queste app sono richiesti investimenti di riprogettazione limitati con tempi di commercializzazione più rapidi.

Nell'era di Windows 7 l'approccio alla compatibilità è stato perlopiù reattivo. In Windows 8 abbiamo iniziato ad adottare una prospettiva diversa, lavorando ai meccanismi interni di Windows per garantire che la compatibilità fosse incorporata e non il risultato di interventi successivi.

Windows 10 è finora la versione del sistema operativo più compatibile già dalla progettazione. Ecco alcuni dei principali aspetti che hanno reso possibile tutto ciò:

  • Telemetria delle app: ci permette di raccogliere informazioni sulla popolarità delle app nell'ecosistema di Windows per indirizzare i test di compatibilità.
  • Collaborazioni con gli ISV: possibilità di collaborare direttamente con partner esterni per offrire loro i dati necessari e aiutarli a risolvere i problemi riscontrati dagli utenti.
  • Verifiche della progettazione, rilevamento a monte: collaborazione con i team responsabili delle funzionalità per ridurre il numero di modifiche di Windows che causano interruzioni. La revisione per la compatibilità è un passaggio cruciale per i team responsabili delle funzionalità.
  • Comunicazione: maggiore controllo sulle modifiche delle API e miglioramento delle comunicazioni.
  • Ciclo di versioni di anteprima e feedback: i partecipanti al Programma Windows Insider ricevono versioni di anteprima grazie alle quali possiamo individuare più facilmente eventuali problemi di compatibilità prima del rilascio di una build finale ai clienti. Il processo di feedback non serve solo a mettere in evidenza i bug, ma conferma che vengono offerte le funzionalità desiderate dagli utenti.

Procedure consigliate per la compatibilità delle app

Microsoft usa dati di diagnostica e utilizzo per identificare e risolvere i problemi, migliorare prodotti e servizi, nonché garantire agli utenti un'esperienza personalizzata. I dati di utilizzo raccolti sono anche estesi alle app eseguite nei PC dell'ecosistema di Windows. A seconda di quanto usato dai clienti, viene creato un elenco per testare le app, i dispositivi e i driver nelle nuove versioni del sistema operativo Windows. Windows 10 è risultata essere la versione di Windows più compatibile fino a oggi, con una compatibilità maggiore del 90% per migliaia di app di uso comune. Il team responsabile della compatibilità di Windows solitamente si mette in contatto con i partner ISV per fornire feedback in caso di individuazione di problemi, in modo da poter collaborare alla risoluzione. L'obiettivo è fare in modo che i clienti in comune siano in grado di effettuare l'aggiornamento a Windows senza problemi e senza rinunciare a funzionalità del sistema operativo e delle app di cui non possono fare a meno per la produttività o l'intrattenimento.

Le sezioni seguenti contengono alcune procedure consigliate da Microsoft per assicurarti che le tue app siano compatibili con Windows 10.

Controllo della versione di Windows

La versione del sistema operativo è stata incrementata con Windows 10. Questo significa che il numero di versione interno è diventato 10.0. Come in passato, Microsoft si impegna al massimo per mantenere la compatibilità di applicazioni e dispositivi dopo un cambiamento di versione del sistema operativo. Per la maggior parte delle categorie di app (senza dipendenze dal kernel), la modifica non influirà negativamente sulla funzionalità delle app e le app esistenti continueranno a funzionare correttamente in Windows 10.

Gli effetti di questa modifica dipendono dalle app. Questo significa che le app che controllano in modo specifico la versione del sistema operativo otterranno un numero di versione superiore, con queste possibili conseguenze:

  • È possibile che i programmi di installazione delle app non riescano a installare le app e che le app non si avviino.
  • Le app potrebbero diventare instabili o subire arresti anomali.
  • Le app potrebbero generare messaggi di errore, ma continuare a funzionare correttamente.

Alcune app eseguono un controllo della versione e si limitano a inviare un avviso agli utenti. Esistono tuttavia alcune app strettamente vincolate al controllo della versione (nei driver o in modalità kernel per evitare il rilevamento). In questi casi, si verifica un errore dell'app se viene rilevata una versione errata. Invece del controllo della versione, è consigliabile uno degli approcci seguenti:

  • Se l'app dipende da funzionalità API specifiche, assicurati di usare come destinazione la versione dell'API corretta.
  • Assicurati di rilevare la modifica tramite APISet o un'altra API pubblica e non usare la versione come proxy per alcune funzionalità o correzioni. Se sono presenti modifiche importanti e non viene esposto un controllo appropriato, si tratta di un bug.
  • Assicurati che l'app NON controlli la versione in modi strani, ad esempio tramite Registro di sistema, versioni dei file, offset, modalità kernel, driver o altri modi. Se l'app deve assolutamente controllare la versione, usa le API GetVersion, che restituiscono il numero di versione principale e secondario e il numero di build.
  • Se usi l'API GetVersion, ricordati che il comportamento di questa API è cambiato rispetto a Windows 8.1.

Se sei proprietario di app quali antimalware o firewall, dovresti procedere tramite i normali canali di feedback e il Programma Windows Insider.

API non documentate

Le tue app non devono chiamare API di Windows non documentate o essere dipendenti da chiavi del Registro di sistema o da esportazioni di file di Windows specifici. Questo può causare interruzioni di funzionalità, perdita di dati e potenziali problemi di sicurezza. Se la tua app richiede funzionalità non disponibili, questa è una buona opportunità per fornire feedback tramite i normali canali e il Programma Windows Insider.

Sviluppare app UWP (Universal Windows Platform) e Centennial

Tutti i fornitori ISV di app Win32 sono invitati a sviluppare d'ora in poi app per la piattaforma UWP (Universal Windows Platform) e, in particolare, app Centennial. Lo sviluppo di pacchetti di app di questo tipo offre grandi vantaggi rispetto ai tradizionali programmi di installazione Win32. Le app UWP sono supportate anche in Microsoft Store, quindi risulta più semplice fornire agli utenti automaticamente un aggiornamento di versione coerente, con conseguente riduzione dei costi di supporto.

Se i tuoi tipi di app Win32 non sono compatibili con il modello Centennial, ti consigliamo vivamente di usare il programma di installazione corretto e di assicurarti che venga sottoposto a test completi. Il programma di installazione è la prima esperienza con la tua app per un utente o un cliente, quindi assicurati che funzioni bene. Troppo spesso, questi programmi non funzionano correttamente o non vengono testati in modo accurato per tutti gli scenari. Kit di certificazione app Windows può esserti utile per testare l'installazione e la disinstallazione della tua app Win32, identificare l'uso di API non documentate e individuare prima dei tuoi utenti altri problemi relativi alle procedure consigliate correlate alle prestazioni di base.

Procedure consigliate:

  • Usa programmi di installazione compatibili sia con le versioni a 32 bit che con quelle a 64 bit di Windows.
  • Progetta i programmi di installazione per l'esecuzione in più scenari (livello utente o computer).
  • Mantieni tutti i componenti ridistribuibili Windows nel pacchetto originale. La modifica del pacchetto può causare malfunzionamenti del programma di installazione.
  • Pianifica tempi di sviluppo adeguati per i programmi di installazione. Spesso ne viene sottovalutata l'importanza durante il ciclo di vita di sviluppo del software.

Strategie di test ottimizzate e distribuzione di versioni di anteprima

Le versioni di anteprima del sistema operativo Windows sono le build intermedie messe a disposizione dei partecipanti al Programma Windows Insider prima del rilascio di una build finale al pubblico. Maggiore è il numero dei partecipanti al Programma Windows Insider che installano queste build intermedie, più numerosi saranno i feedback inviati sulla qualità, la compatibilità e altri aspetti della build. Questo è di grande aiuto per migliorare la qualità delle build finali. Puoi partecipare a questo programma di distribuzione delle versioni di anteprima per assicurarti che le tue app funzionino come previsto nelle build iterative del sistema operativo. Sei invitato anche a fornire feedback sulle tue esperienze con queste build di anteprima, sui problemi che hai riscontrato e così via.

Se la tua app è nello Store, puoi distribuirne una versione di anteprima tramite lo Store. Questo significa che l'app sarà disponibile per l'installazione da parte dei partecipanti al Programma Windows Insider. Gli utenti possono installare la tua app e potrai ricevere feedback preliminari sulla tua app prima di rilasciarla pubblicamente. Le sezioni seguenti illustrano i passaggi per testare le tue app nelle build di anteprima di Windows.

Passaggio 1: Diventare un partecipante al Programma Windows Insider e partecipare alla distribuzione di versioni di anteprima

Come partecipante al Programma Windows Insider puoi aiutare a dare forma al futuro di Windows. Il tuo feedback aiuterà a migliorare le funzionalità della piattaforma. Questa è una community dinamica in cui hai la possibilità di entrare in contatto con altri appassionati, partecipare ai forum, scambiare consigli e scoprire tutto sugli eventi futuri riservati ai partecipante al Programma Windows Insider.

Dato che avrai accesso alle versioni di anteprima di Windows 10, a Windows 10 Mobile e alle versioni più recenti di Windows SDK e dell'emulatore, avrai a disposizione tutti gli strumenti per sviluppare app eccezionali ed esplorare le novità della piattaforma UWP (Universal Windows Platform) e di Microsoft Store.

È anche un'utile opportunità per creare hardware di alto livello, con build di anteprima dei kit per lo sviluppo hardware, in modo sa poter sviluppare driver universali per Windows. È anche disponibile IoT Core Insider Preview nelle piattaforme di sviluppo IoT supportate, in modo che tu possa creare soluzioni connesse di sicuro successo tramite la piattaforma UWP (Universal Windows Platform).

Prima di diventare un partecipante al Programma Windows Insider, tieni presente che la partecipazione è destinata agli utenti che:

  • Vogliono provare un software ancora in fase di sviluppo.
  • Vogliono condividere il loro feedback in merito a software e piattaforma.
  • Non si preoccupano dei numerosi aggiornamenti o delle continue modifiche a livello di progettazione dell'interfaccia utente.
  • Hanno familiarità con i PC e sono in grado di risolvere i relativi problemi, eseguire il backup dei dati, formattare un disco rigido e installare un sistema operativo da zero o, se necessario, ripristinarne uno precedente.
  • Sanno che cos'è un file ISO e come usarlo.
  • Non devono eseguire l'installazione nel computer o nel dispositivo che usano quotidianamente.

Passaggio 2: Testare gli scenari

Dopo che avrai eseguito l'aggiornamento alla build di anteprima, di seguito sono elencati alcuni test case di esempio utili per avviare la fase di test e raccogliere feedback. Per la maggior parte di questi test, assicurati di tenere conto sia dei sistemi x86 che AMD64. Test di installazione pulita: in una nuova installazione di Windows 10 verifica che la tua app sia completamente funzionante. Se l'app non supera questo test e il test di aggiornamento, è probabile che il problema sia causato dalle modifiche del sistema operativo sottostante o da bug nell'app. Se dopo ulteriori indagini appuri che la causa è la prima, assicurati di usare il Programma Windows Insider per fornire feedback e collaborare per trovare una soluzione.

Test di aggiornamento: controlla che la tua app funzioni dopo l'aggiornamento da una versione di livello inferiore di Windows (ad esempio Windows 7 o Windows 8.1) a Windows 10. L'app non deve causare rollback durante l'aggiornamento e deve continuare a funzionare come previsto dopo l'aggiornamento. Questo è un aspetto cruciale per ottenere un'esperienza di aggiornamento senza problemi.

Test di reinstallazione: assicurati che le funzionalità dell'app possano essere ripristinate tramite la reinstallazione dell'app dopo l'aggiornamento del PC a Windows 10 da un sistema operativo di livello inferiore. Se l'app non ha superato il test di aggiornamento e non è stato possibile risalire alla causa di questi problemi, la reinstallazione potrebbe consentire di ripristinare le funzionalità perdute. Il superamento del test di reinstallazione potrebbe indicare la mancata migrazione di parti dell'app a Windows 10.

Test delle funzionalità del sistema operativo\dispositivo: assicurati che l'app funzioni come previsto se è basata su funzionalità specifiche del sistema operativo. Di seguito sono indicate le aree comuni per i test, spesso da eseguire su una selezione dei modelli di PC usati comunemente per garantire una copertura adeguata:

  • Audio
  • Funzionalità dei dispositivi USB (tastiera, mouse, memory stick, disco rigido esterno e così via)
  • Bluetooth
  • Grafica\schermo (più monitor, proiezione, rotazione dello schermo e così via)
  • Touchscreen (orientamento, tastiera su schermo, penna, movimenti e così via)
  • Touchpad (pulsanti sinistro\destro, tocco, scorrimento e così via)
  • Penna (singolo tocco\doppio tocco, pressione, pressione prolungata, gomma e così via)
  • Stampa\Scansione
  • Sensori (accelerometro, fusione e così via)
  • Fotocamera

Passaggio 3: Inviare feedback

Comunica come funziona la tua app nelle build di anteprima. Non appena scopri problemi con la tua app durante i test, registra i bug tramite il portale per i partner, se hai accesso, o tramite il tuo rappresentante Microsoft. Queste informazioni sono fondamentali per permettere a Microsoft di collaborare alla realizzazione di un'esperienza di qualità per gli utenti.

Opzioni di manutenzione di Windows 10/11 per gli aggiornamenti