DevOps con Xamarin
Xamarin consente di compilare le app per dispositivi mobili multipiattaforma destinate ad Android, iOS e Windows con C#, .NET e Visual Studio. Xamarin consente di condividere la maggior parte del codice tra le piattaforme e solo una piccola percentuale di codice rimane specifica della piattaforma.
Lo sviluppo di app per piattaforme moderne comporta molte più attività rispetto alla semplice scrittura di codice. Queste attività definite DevOps (Development + Operations) si estendono per il ciclo di vita completo di un'app e includono pianificazione e rilevamento del lavoro, progettazione e implementazione di codice, gestione di un repository di codice sorgente, esecuzione di compilazioni, gestione di integrazioni e distribuzioni continue, test (tra cui unit test e test dell'interfaccia utente), esecuzione di varie forme di diagnostica in ambienti di sviluppo e produzione e monitoraggio delle prestazioni delle app e comportamenti dell'utente in tempo reale tramite telemetria e analisi.
Visual Studio insieme a Azure DevOps Services e Team Foundation Server offre un'ampia gamma di funzionalità DevOps. Molti di queste sono interamente applicabili ai progetti multipiattaforma. Ciò è particolarmente vero con le app Xamarin poiché vengono compilate con C# e .NET per i quali sono compilati alcuni strumenti DevOps. Altri strumenti richiedono una stretta integrazione con gli ambienti di runtime e di compilazione. Poiché le app Xamarin vengono eseguite su piattaforme non Windows e usano l'implementazione Mono di .NET, Xamarin offre strumenti specializzati per determinate esigenze.
Le tabelle seguenti identificano le funzionalità DevOps di Visual Studio di cui è possibile prevedere il corretto funzionamento con un progetto Xamarin e quelle che invece presentano limitazioni. Per informazioni dettagliate sulle funzionalità fare riferimento alla documentazione collegata.
Strumenti Agile:
Collegamento di riferimento: About Agile tools and Agile project management (Informazioni sugli strumenti e la gestione di progetti Agile)
Commento generale: tutte le funzionalità di pianificazione e traccia sono indipendenti dal tipo di progetto e dai linguaggi di codifica.
| Funzionalità | Supportato con Xamarin | Commenti aggiuntivi |
|---|---|---|
| Gestione di backlog e sprint | Sì | |
| Verifica del lavoro | Sì | |
| Collaborazione nella chat team | Sì | |
| Bacheche Kanban | Sì | |
| Segnalare e visualizzare lo stato di avanzamento | Sì |
Modellazione
Collegamento di riferimento: Analizzare e modellare l'architettura
Le funzionalità di progettazione sono indipendenti dal linguaggio di codifica o funzionano con i linguaggi .NET come C#. Per informazioni sugli aspetti correlati al codice, vedere Ruoli dell'architettura e dei diagrammi di modellazione nello sviluppo software .
| Funzionalità | Supportato con Xamarin | Commenti aggiuntivi |
|---|---|---|
| Diagrammi sequenza | Sì | |
| Grafici delle dipendenze | Sì | |
| Gerarchia di chiamata | Sì | |
| Progettazione classi | Sì | |
| Esplora architettura | Sì | |
| Diagrammi UML (caso di utilizzo, attività, classe, componente, sequenza e DSL) | Sì | |
| Diagrammi livello | Sì | |
| Convalida dei livelli | Sì |
Codice
| Funzionalità | Supportato con Xamarin | Commenti aggiuntivi |
|---|---|---|
| Usare controllo della versione di Team Foundation (TFVC) o Azure Repos | Sì | |
| Introduzione a Git in Azure Repos | Sì | |
| Migliorare la qualità del codice | Sì | |
| Trovare le modifiche apportate al codice e altri elementi della cronologia | Sì | Ad eccezione dei limiti specifici tra le piattaforme dove l'implementazione viene risolta solo dopo la fase di esecuzione. |
| Usare le mappe del codice per eseguire il debug delle applicazioni | Sì |
Compilare
Collegamento di riferimento: Azure Pipelines
| Funzionalità | Supportato con Xamarin | Commenti aggiuntivi |
|---|---|---|
| Server TFS locale | Sì | È necessario che nei computer di compilazione sia installato Xamarin e che i computer possano essere collegati a un computer OSX per la compilazione con iOS. Vedere Usare controllo della versione di Team Foundation |
| Server di compilazione locale collegato a Azure Pipelines | Sì | Per istruzioni, vedere Compilare e rilasciare gli agenti . |
| Servizio controller ospitato di Azure Pipelines | Sì | Vedere Build your Xamarin app (Compilare l'app Xamarin). |
| Definizioni di compilazione con pre e post script | Sì | |
| Integrazione continuata incluse le archiviazioni gestite | Sì | Archiviazioni gestite per TFVC solo quando Git elabora un modello di richiesta di pull anziché le archiviazioni. |
Test
| Funzionalità | Supportato con Xamarin | Commenti aggiuntivi |
|---|---|---|
| Pianificazione dei test, creazione di test case e organizzazione di gruppi di test | Sì | |
| Test manuali | Sì | |
| Test Manager (registrazione e riproduzione di test) | Sì | Solo dispositivi Windows ed emulatori Android da Visual Studio. |
| Code coverage | n/d | |
| Eseguire unit test del codice | Sì | Per destinazioni Windows e Android, è possibile usare gli strumenti incorporati MSTest. Per eseguire unit test in Windows, Android e iOS, Xamarin consiglia NUnit. Vedere Use TFVC (Usare il controllo della versione di Team Foundation). |
| Usare l'automazione dell'interfaccia utente per testare il codice | Solo Windows | La registrazione dei test dell'interfaccia utente di Visual Studio è disponibile solo per Windows. Per tutte le piattaforme, vedere Xamarin.UITest. |
Migliorare la qualità del codice
Collegamento di riferimento: Migliorare la qualità del codice
| Funzionalità | Supportato con Xamarin | Commenti aggiuntivi |
|---|---|---|
| Analizzare la qualità del codice gestito | Sì | |
| Ricerca del codice duplicato mediante il rilevamento del clone di codice | Sì | |
| Misurazione della complessità e della manutenibilità del codice gestito | Sì | |
| Esplora prestazioni | No | Usare invece Xamarin Profiler tramite Visual Studio per Mac. Si noti che il Profiler Xamarin è attualmente in versione di anteprima e non funziona ancora per le destinazioni Windows. |
| Analizzare i problemi relativi alla memoria .NET Framework | No | Gli strumenti di Visual Studio non hanno hook nel framework Mono per la profilatura. |
Gestione versioni
Collegamento di riferimento: Compilare e rilasciare in Azure Pipelines e TFS
| Funzionalità | Supportato con Xamarin | Commenti aggiuntivi |
|---|---|---|
| Gestire i processi di rilascio | Sì | |
| Distribuzione ai server per il caricamento laterale tramite script | Sì | |
| Caricare nell'app store | Partial | Sono disponibili estensioni che possono automatizzare questo processo per alcuni archivi applicazioni. Vedere le estensioni per Azure DevOps Services, ad esempio l'estensione per Google Play. |
Monitorare con App Center SDK
Collegamento di riferimento: Monitorare con App Center SDK
| Funzionalità | Supportato con Xamarin | Commenti aggiuntivi |
|---|---|---|
| Analisi degli arresti anomali, telemetria e distribuzione beta | Sì |