DevOps avec les applications XamarinDevOps with Xamarin apps

Xamarin vous permet de générer des applications mobiles multiplateformes ciblant Android, iOS et Windows à l’aide de C#, .NET et Visual Studio.Xamarin enables you to build cross-platform mobile apps targeting Android, iOS, and Windows using C#, .NET, and Visual Studio. Xamarin autorise le partage d’une grande partie du code entre les plateformes. Seul un petit pourcentage du code doit être spécifique à chaque plateforme.Xamarin allows a large portion of code to be shared between platforms, with only a small percentage needing to be platform-specific. Pour plus d’informations sur Xamarin, consultez Visual Studio et Xamarin.For more information on Xamarin itself, see Visual Studio and Xamarin.

Le développement d'applications pour des plateformes modernes implique de nombreuses activités qui vont bien au-delà de la simple écriture de code.Developing apps for modern platforms involves many more activities than just writing code. Ces activités, appelées DevOps (développement + opérations), couvrent le cycle de vie complet de l’application et incluent la planification et le suivi du travail, la conception et l’implémentation du code, la gestion d’un dépôt de code source, l’exécution des builds, la gestion des intégrations continues et des déploiements continus, les tests (notamment les tests unitaires et les tests d’IU), l’exécution de différentes formes de diagnostic dans les environnements de développement et de production, ainsi que la surveillance en temps réel des performances des applications et des comportements des utilisateurs via la télémétrie et l’analyse.These activities, referred to as DevOps (development + operations), span the app's complete life cycle and include planning and tracking work, designing and implementing code, managing a source code repository, running builds, managing continuous integrations and deployments, testing (including unit tests and UI tests), running various forms of diagnostics in both development and production environments, and monitoring app performance and user behaviors in real time through telemetry and analytics.

Visual Studio (couplé à Visual Studio Team Services et Team Foundation Server) offre diverses fonctionnalités DevOps.Visual Studio, together with Visual Studio Team Services and Team Foundation Server, provides a variety of DevOps capabilities. Bon nombre d'entre elles sont entièrement applicables aux projets multiplateformes.Many of these are wholly applicable to cross-platform projects. Cela est particulièrement vrai en ce qui concerne les applications Xamarin, car elles font appel à du code C# et .NET, sur lequel certains outils DevOps sont basés.This is especially true with Xamarin apps, because they're built with C# and .NET, around which some DevOps tools are built. D'autres outils nécessitent une intégration étroite avec les environnements de génération et d'exécution.Other tools require tight integration with build and runtime environments. Étant donné que les applications Xamarin s'exécutent sur des plateformes non-Windows et qu'elles utilisent l'implémentation Mono de .NET, Xamarin fournit des outils spécialisés pour répondre à certains besoins.Because Xamarin apps run on non-Windows platforms and use the Mono implementation of .NET, Xamarin provides specialized tools for certain needs.

Les tableaux suivants identifient les fonctionnalités DevOps de Visual Studio qui donnent de bons résultats avec un projet Xamarin, et celles qui présentent des limites.The following tables identify which DevOps features in Visual Studio you can expect to work well with a Xamarin project, and which ones have limitations. Pour plus d'informations sur les fonctionnalités, cliquez sur les liens correspondants.Refer to the linked documentation for details on the features themselves.

Outils agilesAgile tools

Lien de référence : À propos des outils agiles et de la gestion de projet agileReference link: About Agile tools and Agile project management

Commentaire général : toutes les fonctionnalités de planification et de suivi sont indépendantes du type de projet et des langages de codage.General Comment: all planning and tracking features are independent of project type and coding languages.

FonctionnalitéFeature Prise en charge par XamarinSupported with Xamarin Commentaires supplémentairesAdditional Comments
Gérer les backlogs et les sprintsManage backlogs and sprints OuiYes
Suivi du travailWork tracking OuiYes
Collaboration dans la salle d'équipeTeam room collaboration OuiYes
Tableaux kanbanKanban boards OuiYes
Créer des rapports sur la progression et la visualiserReport and visualize progress OuiYes

ModélisationModeling

Lien de référence : Analyser et modéliser l’architectureReference link: Analyze and model architecture

Les fonctionnalités de conception sont indépendantes du langage de codage ou fonctionnent avec les langages .NET tels que C#.Design features are independent of coding language, or work with .NET languages like C#. Voir Rôles de l’architecture et des diagrammes de structure dans le développement logiciel pour connaître les aspects liés au code.See Roles of architecture and modeling diagrams in software development for what aspects are related to code.

FonctionnalitéFeature Prise en charge par XamarinSupported with Xamarin Commentaires supplémentairesAdditional Comments
Diagrammes de séquenceSequence diagrams OuiYes
Graphiques de dépendanceDependency graphs OuiYes
Hiérarchie d'appelsCall hierarchy OuiYes
Concepteur de classesClass designer OuiYes
Navigateur de l'architectureArchitecture explorer OuiYes
Diagrammes UML (cas d'usage, activité, classe, composant, séquence et DSL)UML diagrams (use case, activity, class, component, sequence, and DSL) OuiYes
Diagrammes de coucheLayer diagrams OuiYes
Validation de coucheLayer validation OuiYes

CodeCode

FonctionnalitéFeature Prise en charge par XamarinSupported with Xamarin Commentaires supplémentairesAdditional Comments
Utiliser Team Foundation Version Control ou Visual Studio Team ServicesUse Team Foundation Version Control or Visual Studio Team Services OuiYes
Bien démarrer avec Git dans Team ServicesGetting started with Git in Team Services OuiYes
Améliorer la qualité du codeImprove Code Quality OuiYes
Rechercher les modifications de code et d’autres historiquesFind code changes and other history OuiYes Sauf au-delà des limites spécifiques de la plateforme où l’implémentation n’est résolue qu’au moment de l’exécution.Except across platform-specific boundaries where the implementation isn't resolved until run time.
Utiliser des cartes de code pour déboguer vos applicationsUse code maps to debug your applications OuiYes

GénérerBuild

Lien de référence : Générer et publierReference link: Build and release

FonctionnalitéFeature Prise en charge par XamarinSupported with Xamarin Commentaires supplémentairesAdditional Comments
Serveur TFS localOn-premises TFS server OuiYes Xamarin doit être installé sur les machines de build. Celles-ci peuvent être liées à un ordinateur OSX afin de générer des applications pour iOS.Build machines must have Xamarin installed and can be linked to an OSX computer to build for iOS. Consultez Utiliser TFVCSee Use TFVC
Serveur de builds local lié à Visual Studio Team ServicesOn-premises build server linked to Visual Studio Team Services OuiYes Pour obtenir des instructions, consultez Agents de build et de mise en production.See Build and release agents for instructions.
Service de contrôleur hébergé de Visual Studio Team ServicesHosted controller service of Visual Studio Team Services OuiYes Consultez Générez votre application Xamarin.See Build your Xamarin app.
Définitions de builds avec des pré-scripts et des post-scriptsBuild definitions with pre- and post-scripts OuiYes
Intégration continue, y compris les archivages contrôlésContinuous integration including gated check-ins OuiYes Archivages contrôlés pour TFVC uniquement si Git utilise un modèle de requête d'extraction plutôt que des archivages.Gated check-ins for TFVC only as Git works on a pull-request model rather than check-ins.

TesterTest

FonctionnalitéFeature Prise en charge par XamarinSupported with Xamarin Commentaires supplémentairesAdditional Comments
Planification de tests, création de cas de test et organisation de suites de testsPlanning tests, creating test cases and organizing test suites OuiYes
Test manuelManual testing OuiYes
Gestionnaire de tests (enregistrer et rejouer des tests)Test Manager (record and playback tests) OuiYes Appareils Windows et émulateurs Android uniquement à partir de Visual Studio.Windows devices and Android emulators only from Visual Studio. L’enregistrement est possible pour tous les appareils avec Xamarin Test Recorder.Recording for all devices is possible with Xamarin Test Recorder.
Couverture du codeCode coverage N/An/a
Tests unitaires sur votre codeUnit test your code OuiYes Pour des cibles Windows et Android, vous pouvez utiliser les outils MSTest intégrés.For Windows and Android targets, the built-in MSTest tools can be used. Pour exécuter des tests unitaires sur Windows, Android et iOS, Xamarin recommande NUnit.To run unit tests on Windows, Android, and iOS, Xamarin recommends NUnit. Consultez Utiliser TFVC.See Use TFVC.
Utiliser l’automatisation de l’interface utilisateur pour tester votre codeUse UI automation to test your code Windows uniquementWindows only L’enregistreur de test d’IU de Visual Studio est réservé à Windows.Visual Studio's UI test recorder is Windows only. Pour toutes les plateformes, consultez Xamarin.UITest.For all platforms, see Xamarin.UITest.

Améliorer la qualité du codeImprove code quality

Lien de référence : Améliorer la qualité du codeReference link: Improve Code Quality

FonctionnalitéFeature Prise en charge par XamarinSupported with Xamarin Commentaires supplémentairesAdditional Comments
Analyser la qualité du code managéAnalyze managed code quality OuiYes
Rechercher du code dupliqué à l’aide de la détection de clone de codeFind duplicate code by using code clone detection OuiYes
Mesurer la complexité et la facilité de maintenance du code managéMeasure complexity and maintainability of managed code OuiYes
Explorateur de performancesPerformance Explorer NonNo Utilisez le Profileur Xamarin par le biais de Xamarin Studio à la place.Use the Xamarin Profiler through Xamarin Studio instead. Notez que Xamarin Profiler est actuellement disponible en version préliminaire et qu'il ne fonctionne pas pour le moment avec les cibles Windows.Note that the Xamarin Profiler is currently in preview and does not yet work for Windows targets.
Analyser les problèmes de mémoire liés au .NET FrameworkAnalyze .NET Framework memory issues NonNo Visual Studio Tools n’a pas de hook au framework Mono pour le profilage.Visual Studio tools do not have hooks into the Mono framework for profiling.

Gestion des versionsRelease management

Lien de référence : Générer et publier dans VSTS et TFSReference link: Build and release in VSTS and TFS

FonctionnalitéFeature Prise en charge par XamarinSupported with Xamarin Commentaires supplémentairesAdditional Comments
Gérer les processus de publication des versionsManage release processes OuiYes
Déploiement sur des serveurs pour le chargement de version test via des scriptsDeployment to servers for side-loading via scripts OuiYes
Télécharger vers le magasin d'applicationsUpload to app store PartialPartial Il existe des extensions qui peuvent automatiser ce processus pour certains magasins d’applications.Extensions are available that can automate this process for some app stores. Consultez Extensions pour Visual Studio Team Services, par exemple l’extension pour Google Play.See Extensions for Visual Studio Team Services; for example, the extension for Google Play.

Analyser avec HockeyAppMonitor with HockeyApp

Lien de référence : Analyser avec HockeyAppReference link: Monitor with HockeyApp

FonctionnalitéFeature Prise en charge par XamarinSupported with Xamarin Commentaires supplémentairesAdditional Comments
Analyse des incidents, télémétrie et distribution des bêtaCrash analytics, telemetry, and beta distribution OuiYes