Application Lifecycle Management (ALM) avec les applications XamarinApplication Lifecycle Management (ALM) 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 diagnostics 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 par le biais de la télémétrie et l’analyse.These activities, referred to as DevOps (development + operations), span the app's complete lifecycle 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, Visual Studio Team Services et Team Foundation Server fournissent de nombreuses fonctionnalités DevOps, également appelées fonctionnalités Application Lifecycle Management (ALM).Visual Studio together with Visual Studio Team Services and Team Foundation Server provide a variety of DevOps capabilities, also referred to as Application Lifecycle Management or ALM. 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 ALM sont basés.This is especially true with Xamarin apps because they are built with C# and .NET, around which some ALM tools are built. D’autres outils nécessitent une intégration étroite avec les environnements de build 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 ci-dessous identifient les fonctionnalités ALM de Visual Studio qui donnent de bons résultats avec un projet Xamarin, et celles qui présentent des limites.The tables below identifies which Visual Studio ALM features 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 : Travail (avec Visual Studio Team Services ou TFS, notamment Team Explorer Everywhere)Reference link: Work (using Visual Studio Team Services or TFS, including Team Explorer Everywhere)

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 : Analyse et modélisation de l’architectureReference link: Analyzing and Modeling 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#. Consultez Rôles de l’architecture et des diagrammes de modélisation dans le développement de logiciels 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

BuildBuild

Lien de référence : BuildReference link: Build

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 Configuration de TFS pour Xamarin (site web Xamarin).See Configuring TFS for Xamarin (Xamarin website)
Serveur de builds local lié à Visual Studio Team ServicesOn-premises build server linked to Visual Studio Team Services OuiYes Consultez la rubrique Serveur de builds pour obtenir des instructions.See Build server 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.

TestTesting

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 Configuration de TFS pour Xamarin (site web Xamarin).See Configuring TFS for Xamarin (Xamarin website).
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 Test Recorder.For all platforms, see Xamarin Test Recorder.

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
Analyse de la qualité d’un code managéAnalyzing Managed Code Quality OuiYes
Recherche du code dupliqué à l’aide de la détection de clone de codeFinding Duplicate Code by using Code Clone Detection OuiYes
Mesures de la complexité et de la facilité de maintenance du code managéMeasuring 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 : Automatiser les déploiements avec Release ManagementReference link: Automate deployments with Release Management

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