Après une année pour essuyer les plâtres de la version beta, Xcode Cloud est disponible pour tous depuis la fin de l’été. Cette solution d’intégration et de déploiement en continu (CI/CD dans le jargon) permet de répondre élégamment à un certain nombre de problématiques de développement au sein de l’environnement Apple. Si ces concepts ne vous disent rien, rassurez-vous, nous allons commencer par un rappel rapide du fonctionnement de Xcode et du partage de code entre développeurs par le biais de Git, avant de voir comment Xcode Cloud y trouve sa place.
Xcode : la boîte à outils du développeur Apple
Xcode est l’environnement de développement intégré proposé par Apple pour l’ensemble des développeurs qui travaillent sur ses différentes plateformes. Grâce à lui, vous pourrez concevoir une app pour iOS, macOS, tvOS, watchOS ou même un service web avec un seul et même outil, ce qui est plutôt pratique.
Cet environnement propose un ensemble d’outils clés en main. Il y a un éditeur qui permet d’écrire du code, par exemple en Swift avec l’auto-complétion, l’aide intégrée et bien d’autres options bien pratiques. On a aussi une interface dédiée à la mise en place de toutes les autres ressources « hors code » du projet : images, fichiers de configuration et autres. On peut configurer la compilation via une autre interface, la documentation de code est également intégrée. On peut aussi gérer les dépendances avec des composants de code externes via Swift Package Manager, le gestionnaire de paquets maison que nous avions évoqué dans un précédent article.
Swift Package Manager, notre série au complet sur le Club iGen
Et c’est loin d’être fini : on peut tester directement dans Xcode des modèles d’apprentissage automatique (ML). On peut exécuter des tests automatisés et aussi tester les apps sur son iPhone ou sur un simulateur en passant par ce même environnement. Et, en arrière-plan, c’est une multitude d’outils qui sont appelés pour exécuter chaque étape du développement.
En somme, Xcode propose le strict minimum pour concevoir une app iOS de qualité professionnelle dans les meilleures conditions possibles.
La gestion des versions des fichiers avec git
Depuis quelques années, Xcode intègre également le gestionnaire de versions git, un outil indispensable pour tout développeur, surtout en équipe. Git enregistre un historique des modifications de tous les fichiers utilisés dans le projet dans un endroit appelé dépôt. Ce dépôt peut être synchronisés avec un serveur, comme ceux de GitHub, ou rester local.
Git est pratique quand on est seul, puisqu’il permet de ne perdre aucune trace de son travail et également de revenir aisément en arrière. Par exemple, j’ai mon code initial qui fonctionne bien, puis je décide d’améliorer tout ça en modifiant une grosse partie de mon code. Et là, c’est le drame : plus rien ne fonctionne. Cela arrive, mais grâce à git, je pourrai revenir en quelques clics à l’ancienne modification de mon code (appelée « commit ») et également voir ce qui a été modifié entre les deux. Le nouveau commit qui a suivi la réécriture pourra alors être modifié ou annulé selon les besoins.