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 |