Xcode 4

Depuis que je me suis lancé dans le développement d’applications pour iPhone, Xcode a subit deux évolutions majeures, passant progressivement en version 3 puis, récemment, en version 4. Souvent décrié pour ses lenteurs et son manque d’ergonomie, Xcode 3 constituait cependant pour moi le meilleur outil de développement pour Mac OS X ou iOS, au même titre qu’Eclipse constitue le meilleur environnement de développement pour Java et bon nombre d’autres langages.

Xcode revient donc en version 4.0 pour la sortie très attendue d’iOS 4.3 pour iPhone, iPod et iPad. On peut dire qu’Apple a soigné son outil pour lui faire rattraper le retard qu’il avait accumulé face à ses concurrents. Le logiciel reste entièrement gratuit bien que son code source ne soit toujours pas diffusé, chose relativement normale pour Apple cependant.

Espace de travail unifié

A la manière d’Eclipse et bon nombre d’autres EDI, Xcode arbore désormais un espace de travail unifié intégrant l’ensemble des fonctionnalités de la version précédente et d’Interface Builder dans une seule et même fenêtre. Le gain de temps est considérable. L’interface a été clairement conçue pour les écrans larges mais cela ne constitue en aucun cas un problème puisque toute la gamme Mac actuelle est constitué d’écrans de ce type. Même sur un écran de MacBook Pro 15″, Xcode garde tout son potentiel et gagne énormément en ergonomie et en productivité avec ce mode d’affichage. Certains comme moi seront peut-être un peu perdus au début ou déroutés par le fait que certaines fonctionnalités aient été déplacées, mais dans l’ensemble tout cela va dans le bon sens.

Dans les critiques que l’on pouvait reprocher à la version précédente, on parlait régulièrement de la difficulté d’accès de la documentation en ligne. Xcode 4 en fait un lointain souvenir en intégrant dans le volet droit de son interface une zone d’aide contextuelle avec des liens vers les classes concernées par la position du curseur incluant notamment des références aux exemples fournis par Apple y faisant appel. Très très pratique.

On notera également l’ouverture automatique des fichiers sur simple clic, qui peut surprendre au premier abord, mais s’avère très pratique et permet aux utilisateurs du Magic Trackpad ou d’un MacBook de ne pas « déraper » en voulant ouvrir un fichier spécifique.

Nouvelles fonctionnalités

La Jump Bar

Déjà utilisé par d’autres, cette barre contextuelle se situant au sommet de la zone d’édition permet d’accéder en quelques clics à tous les fichiers et ressources du projet. L’affichage du volet de gauche de l’arborescence du projet en devient vite inutile pour les utilisateurs expérimentés. Cette Jump Bar permet également d’accéder directement aux variantes localisées des différentes ressources du projet.

Fix-It

Xcode 3 permettait déjà d’afficher les avertissements directement sur la ligne concernée, ce qui évitait de se mélanger les pinceaux quand un grand nombre d’erreurs subsistait à la compilation. Xcode 4 va plus loin en proposant carrément, lorsque cela est possible, une solution de remplacement pour corriger immédiatement l’erreur ou supprimer l’avertissement du compilateur. Cette pertinence des résultat va même jusqu’à identifier des variables mal orthographiées et proposer un remplacement par leurs équivalents valides les plus proches. Très efficace cette fonctionnalité permet un gain de temps et offre une assistance supérieure auprès des débutants.

Nouveaux compilateurs et debugger

Apple supporte de nombreux projets Open Source depuis déjà de longues années, comme WebKit par exemple qui fait les beaux jours de navigateurs comme Safari bien sûr, mais aussi de Google Chrome. Apple fait donc partie des supports et contributeurs de LLVM.org. De fait, LLVM et LLDB deviennent respectivement le compilateur et le debugger officiel d’Xcode 4. Exit donc GCC pour la compilation, même si LLDB n’est toujours pas disponible pour débugger les projets iOS.

Apple prone la différence de performances de LLVM par rapport à GCC et, en effet, les projets se compilent bien plus vite. Reste à voir si les applications bénéficieront sur le long terme d’un gain de performances équivalent en situation.

Améliorations du support des outils de versioning

Utilisateur de SVN depuis longtemps, j’ai toujours eu du mal à faire fonctionner Xcode 3 avec mes référentiels. J’utilisais donc pour le moment SmartSVN pour cette tâche. Cela risque de ne plus s’avérer nécessaire avec Xcode 4 puisque le versioning a été grandement amélioré dans cette version. Il est désormais possible d’effectuer toutes les tâches classiques directement au sein d’Xcode, y compris les comparaisons de versions d’un même fichier. Cela marche à merveille et Xcode profite de l’expérience acquise par Apple sur Time Machine pour offrir une interface similaire pour la chronologie des modifications.

Les mauvais points

Ma découverte d’Xcode 4 n’a pour le moment pas déclenché de bugs à répétition ou de lourdeurs particulières. Une mise à jour de cet article interviendra peut-être si de nouveaux éléments apparaissent. On peut cependant noter deux ou trois points noirs pour cette nouvelle version.

Le poids

Xcode 3 n’était déjà pas léger avec ses 2,1 Go à télécharger pour la version fournie avec iOS 4.2, mais Xcode 4 explose ce score pour atteindre les 4,6 Go sur la balance. Autant dire qu’une bonne connexion est requise pour le récupérer. A ma connaissance, aucun autre environnement de travail n’est aussi lourd, même pas Visual Studio.

Impossibilité de modifier la barre d’outils

Les utilisateurs des logiciels Mac savent très bien qu’il est généralement possible de personnaliser une barre d’outils en effectuant un clic droit sur la dite barre et en glissant-déplaçant les éléments souhaités à l’emplacement de son choix. Cela n’est plus possible avec Xcode 4 qui propose uniquement des éléments de base dont il va falloir se satisfaire. Construire un projet sans l’exécuter n’est plus désormais possible que par le menu ou le raccourci clavier adéquat. Dommage.

Conclusion

Malgré quelques petits défauts qui seront probablement corrigés dans des versions à venir, ce nouvel agencement des fonctionnalités est très réussi. Il est toujours possible de télécharger Xcode 3.2 avec le SDK d’iOS 4.3 mais, si ce n’est en raison d’éventuelles limitations matérielles, je ne vois pas ce qui justifierait à l’heure actuelle de rester coincé dans le passé. Xcode 4 est là, profitions-en !