DevOps avec Xamarin

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 autorise le partage d’une grande partie du code entre les plateformes. Seul un petit pourcentage du code doit être spécifique à chaque plateforme.

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. 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.

Visual Studio, en combinaison avec Azure DevOps Services et Team Foundation Server, offre différentes fonctionnalités DevOps. Bon nombre d'entre elles sont entièrement applicables aux projets multiplateformes. 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. D'autres outils nécessitent une intégration étroite avec les environnements de génération et d'exécution. É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.

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. Pour plus d'informations sur les fonctionnalités, cliquez sur les liens correspondants.

Outils agiles

Lien de référence : À propos des outils agiles et de la gestion de projet agile

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.

Fonctionnalité Prise en charge par Xamarin Commentaires supplémentaires
Gérer les backlogs et les sprints Oui
Suivi du travail Oui
Collaboration dans la salle d'équipe Oui
Tableaux kanban Oui
Créer des rapports sur la progression et la visualiser Oui

Modélisation

Lien de référence : Analyser et modéliser l’architecture

Les fonctionnalités de conception sont indépendantes du langage de codage ou fonctionnent avec les langages .NET tels que C#. Consultez Rôles d’architecture et diagrammes de modélisation dans le développement de logiciels pour connaître les aspects liés au code.

Fonctionnalité Prise en charge par Xamarin Commentaires supplémentaires
Diagrammes de séquence Oui
Graphiques de dépendance Oui
Hiérarchie d'appels Oui
Concepteur de classes Oui
Navigateur de l'architecture Oui
Diagrammes UML (cas d'usage, activité, classe, composant, séquence et DSL) Oui
Diagrammes de couche Oui
Validation de couche Oui

Code

Fonctionnalité Prise en charge par Xamarin Commentaires supplémentaires
Utiliser Team Foundation Version Control (TFVC) ou Azure Repos Oui
Bien démarrer avec Git dans Azure Repos Oui
Améliorer la qualité du code Oui
Rechercher les modifications de code et autres historiques Oui 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.
Utiliser des cartes du code pour déboguer vos applications Oui

Build

Lien de référence : Azure Pipelines

Fonctionnalité Prise en charge par Xamarin Commentaires supplémentaires
Serveur TFS local Oui 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. Voir Utiliser TFVC
Serveur de builds local lié à Azure Pipelines Oui Pour obtenir des instructions, consultez Agents de build et de mise en production.
Service de contrôleur hébergé d’Azure Pipelines Oui Consultez Générez votre application Xamarin.
Définitions de builds avec des pré-scripts et des post-scripts Oui
Intégration continue, y compris les archivages contrôlés Oui Archivages contrôlés pour TFVC uniquement si Git utilise un modèle de requête d'extraction plutôt que des archivages.

Test

Fonctionnalité Prise en charge par Xamarin Commentaires supplémentaires
Planification de tests, création de cas de test et organisation de suites de tests Oui
Test manuel Oui
Gestionnaire de tests (enregistrer et rejouer des tests) Oui Appareils Windows et émulateurs Android uniquement à partir de Visual Studio.
Couverture du code n/a
Tests unitaires de votre code Oui Pour des cibles Windows et Android, vous pouvez utiliser les outils MSTest intégrés. Pour exécuter des tests unitaires sur Windows, Android et iOS, Xamarin recommande NUnit. Consultez Utiliser TFVC.
Utiliser l’automatisation de l’interface utilisateur pour tester votre code Windows uniquement L’enregistreur de test d’IU de Visual Studio est réservé à Windows. Pour toutes les plateformes, consultez Xamarin.UITest.

Améliorer la qualité du code

Lien de référence : Améliorer la qualité du code

Fonctionnalité Prise en charge par Xamarin Commentaires supplémentaires
Analyser la qualité du code managé Oui
Rechercher du code dupliqué à l’aide de la détection de clone de code Oui
Mesurer la complexité et la facilité de maintenance du code managé Oui
Explorateur de performances Non Utilisez plutôt Xamarin Profiler via Visual Studio pour Mac. Notez que Xamarin Profiler est actuellement disponible en version préliminaire et qu'il ne fonctionne pas pour le moment avec les cibles Windows.
Analyser des problèmes de mémoire liés à .NET Framework Non Visual Studio Tools ne possède pas de hook à l'infrastructure Mono pour le profilage.

Gestion des mises en production

Lien de référence : Générer et publier dans Azure Pipelines et TFS

Fonctionnalité Prise en charge par Xamarin Commentaires supplémentaires
Gérer les processus de publication des versions Oui
Déploiement sur des serveurs pour le chargement de version test via des scripts Oui
Télécharger vers le magasin d'applications Partial Il existe des extensions qui peuvent automatiser ce processus pour certains magasins d’applications. Consultez Extensions pour Azure DevOps Services, par exemple l’extension pour Google Play.

Surveiller avec le Kit de développement logiciel (SDK) App Center

Lien de référence : Surveiller avec le KIT de développement logiciel (SDK) App Center

Fonctionnalité Prise en charge par Xamarin Commentaires supplémentaires
Analyse des incidents, télémétrie et distribution des bêta Oui