HockeyApp et Visual Studio Team Services au service de Xamarin


Le mystère planait autour de l’avenir de Xamarin, et c’est lors de la deuxième keynote de l’évènement que la bonne nouvelle est tombée : Xamarin devient gratuit pour les utilisateurs de Visual Studio, mais il devient également open-source.
Après cette annonce fracassante qui ravira beaucoup de développeurs mobiles, et qui renforce la stratégie de Microsoft de poursuivre le chemin du cross-platform, plusieurs sessions autour de Xamarin ont été proposées. Dans cet article, nous nous intéresserons à l’intégration de Xamarin avec HockeyApp et Visual Studio Team Services, deux outils DevOps appartenant à Microsoft, permettant pour l’un une automatisation du build et des tests, pour l’autre le déploiement et le suivi facile des bêtas d’une application mobile.
Tout d’abord, ça veut dire quoi « mobile DevOps » ?

Comment profiter de Visual Studio Team Services et Hockey App pour une application Xamarin ?
Visual Studio Team Services

Comme expliqué précédemment, Visual Studio Team Services supporte tout type d’application mobile, qu’elle soit native ou non, et cela inclus bien sûr Xamarin.
La plateforme est simple d’utilisation et ergonomique : par exemple dès l’arrivée sur la page d’accueil, on peut rapidement voir la santé de l’application et autres indicateurs liés au projet.
Ensuite, dans l’onglet Build, il est possible de définir différentes étapes qui seront lancées lors du build de chaque projet. Dans l’étape de build de l’application, un certain nombre d’options ou configurations sont également disponibles, ce qui laisse beaucoup de possibilités aux contributeurs.
On peut si on le souhaite définir une étape de tests avec Xamarin Test Cloud après celle de build, afin de tester l’application buildée précédemment sur un ensemble de périphériques choisis. C’est un exemple parmi d’autres, car bien d’autres possibilités existent.

Kezaco HockeyApp ?

- La distribution de versions bêtas
- Le reporting des crashs
- Le regroupement des feedbacks
- La couverture des tests
Une des forces d’HockeyApp est d’être disponible pour la majorité des plateformes mobiles ou desktop et d’être compatible avec nombre de frameworks ou outils de développement mobile : Android, iOS, OS X, Windows, Cordova, React Native, Unity, et Xamarin. La plateforme dispose aussi d’un fonctionnement par équipes, qui permet de regrouper les utilisateurs de tests par groupe selon les besoins.
L’association d’HockeyApp à une application est optimisée pour le temps réel, car la plateforme envoie une notification de mise à jour à chaque nouveau build déployé, ce qui est très pratique à la fois pour les testeurs et les développeurs.
Les présentations faites, revenons à notre sujet et, pour cela, passons du côté du code. Pour intégrer HockeyApp à une application Xamarin, la méthode est simple : il faut tout d’abord ajouter le SDK au projet via Nuget, puis il faut ajouter quelques lignes de code pour configurer HockeyApp (notamment l’appID récupéré depuis la plateforme d’HockeyApp à la création de l’app et quels types d’exception seront renvoyées à HockeyApp). Une fois ces quelques étapes réalisées, l’application est prête pour utiliser, par exemple, le pistage d’évènements, qui se résume à une ligne de code ajoutée dans la méthode levée par l’événement, ou encore l’envoi de feedback via une gestuelle spécifique définie par le devéloppeur.

Conclusion
Si finalement l’annonce majeure concernant Xamarin à la Build 2016 n’aura pas donné suite à des sessions sur des changements, Microsoft a proposé des sujets plus orienté DevOps. Il est en effet important de rappeler cet aspect aujourd’hui presque indéniable lors de la création d’un projet qui a pour but la qualité et la satisfaction des utilisateurs sur le long terme. Dans ce cadre, les outils HockeyApp et Visual Studio Team Services, tant couplés qu’utilisés séparément, se montrent pertinents, que ce soit pour une application Xamarin ou une application mobile prenant le parti d’une autre technologie.
HockeyApp et Visual Studio Team Services offrant nombre de configurations et fonctionnalités, il est fort possible qu’ils puissent être intégrés à vos projets mobiles et, cerise sur le gateau, cette intégration est simple.
