Xcode 4 : enfin des détails !

Christophe Laporte |
L'annonce n'a peut-être pas eu le même retentissement qu'iPhone 4, mais pour les développeurs, elle est de taille. Durant la WWDC, Apple a présenté une nouvelle version de son environnement de développement, Xcode 4.

Encore en plein chantier, cette mouture offre une interface très différente de la version actuelle. Interface Builder n'est plus une application à part entière, elle a été intégrée à Xcode dont l'environnement tient dans une fenêtre unique grâce à un système d'onglets que l'on retrouve dans Coda par exemple.



Apple a entièrement repensé le workflow de son logiciel afin de faciliter la vie des développeurs. Xcode 4 embarque une nouvelle version du compilateur LLVM, qui travaille jusqu'à deux fois plus vite. Les applications produites sont jusqu'à 25 % plus rapides sur Mac et jusqu'à 60 % plus rapides sur un iPhone. En ce qui concerne le débogueur, lldb succède à gdb.



Xcode 4 offre la prise en charge de git comme logiciel de gestion de versions décentralisé. Enfin, elle comporte toute une série d'améliorations visant à simplifier la vie du développeur. A l'instar de Time Machine, Xcode 4 permet à l'aide d'une petite réglette de "remonter dans le temps" et d'observer les modifications que vous avez apportées à votre code. Enfin, le système de complètement automatique a été amélioré.

Pour l'heure, cette version a été mise uniquement à disposition des personnes qui étaient à la WWDC. Apple devrait prochainement étendre le bêta-test de son environnement de développement.
Tags
avatar ispeed | 

Super je l'attends avec impatience. Je trouve déjà la version 3 bien aboutie Bref une super bonne nouvelle

avatar Dagui | 

Ha quand même une news a propos de la WWDC hors keynote. Même si le sujet avait déjà été abordé. Mais sinon, c'est juste une impression, où cette année il n'y a pas grand chose de nouveau de présenté en dehors de la keynote ?
C'est juste axé sur des ateliers ou bien ?

avatar Mr.20 | 

J'ai hâte de voir ça :)

avatar oomu | 

hé bé !
Mais c'est quoi cet Alien ! wow, faut que je voie ce xcode 4. (llvm supplante gcc.. y a 10 ans on me disait que gcc allait être remplacé)

@Dagui [15/06/2010 00:21]

chaque WWDC sont des ateliers. C'est principalement pour cela que les développeurs paient.

avatar Bcpst | 

Enfin des onglets ! J'en pouvais plus de toutes ces fenêtres...

avatar JegnuX | 

La fusion de Xcode et d'Interface Builder est vraiment regrettable. Je me vois mal composer une interface pour iPad dans un espace si petit et confiné...

De plus la fusion de la fenêtre principale avec les différentes palettes est aussi un retour en arrière considérable ! Moi par exemple je branche un 24"à mon MBP, du coup ce que je fais c'est genre je compose mon interface sur le 24" et je met les palettes sur le petit écran du MBP. Avec une telle interface, l'application devient mono-écran.

J'espère qu'Apple permettra de choisir quel type d'environnement nous voulont (tout-en-un ou fenêtré), ce qui n'est pas le cas dans cette version.

De plus pas mal de choses pratique disparaissent, comm la petite combobox en haut de l'éditeur qui permet d'aller rapidement à telle ou telle méthode.

Enfin bref, sous le capot ya de bonnes avancées (LLVM, Git, etc...) mais alors niveau UI, ergonomie, productivité, c'est un grand retour en arrière, on dirait du Visual Studio...

avatar oomu | 

@JegnuX [15/06/2010 01:53]

en aveugle, avec juste des rumeurs et ces captures d'écrans, je pense comme JegnuX.

Passer de interface builder, tellement pensé pour la Dock, permettant de concevoir les fenêtres d'une application à juste une fenêtre confinée me parait farfelu.

A croire que c'est le Xcode Ipad (en quelque sorte).

Mais espérons que le mode de gestion des fenêtre/onglets sera optionnel.

Sinon, je suis vraiment pas fan des onglets. Je ne vois que défauts dans la gestion d'onglets. Les onglets n'existent pas pour la dock.

-
autre point, dans un logiciel tout fusionné, un seul icone le représentera dans la dock.

Avec la sépération Xcode / Interface Builder, il était aisé d'alterner entre le code et l'interface rapidement avec la dock. (cachant/montrant toutes les fenêtres ou non de l'un ou l'autre).

-
mon premier sentiment quand j'ai vu les images fut "ha On commence déjà à ipad-iser le mac ?"

avatar Ziflame | 

Tout de même une news à propos des fuites qui se sont retrouvées sur Twitter depuis quelques jours... c'est de là que viennent ces deux screenshots, d'ailleurs.

En attendant le 21 juin, il faudra regarder après du #Xcode4.

avatar mika79 | 

@oomu C'est LE dock et pas la dock...

avatar ispeed | 

JegnuX tu as raison pour l'interface Builder. Tu l'as déjà essayé ?

avatar ZeLegolas | 

Une bonne nouvelle en effet.
J'attends avec impatience de pouvoir jouer avec :-P

avatar Artanis | 

Je ne sais pas vraiment si je dois être content ou pas, personnellement. Les progrès de LLVM sont une très bonne nouvelle (même si il faut encore comparer la vitesse des binaires à ceux produits par GCC, aux dernières nouvelles il y avait encore des progrès à faire). Effectivement, un remaniement d'interface peut être utile, mais alors IB dans un onglet, je vois vraiment pas l'intérêt. Ou alors ils vont devoir complètement révolutionner la manière dont le logiciel fonctionne. Les palettes et inspecteurs, ça va faire des onglets dans les onglets? J'ai un peu peur, sur ce coup-là.

Et come le dit oomu, la séparation de l'interface du reste du code dans deux programmes différents a ses avantages...

avatar Taranael | 

On touche à un sujet assez sensible avec le débat application mono-fenêtre contre multi-fenêtres. Personnellement je suis très allergique aux applications multi-fenêtres et assez rapidement je ne m'y retrouve plus ... peut-être le fait d'avoir des années de Windows derrière moi et d'être un switcheur récent.
Toujours est-il que pour moi XCode était un IDE assez faible face à eclipse et Visual Studio, et l'annonce de cette mise à jour semble indiquer qu'Apple a décidé de rattraper son retard. J'espère qu'ils ont prévu un système de plug-in ou d'extension également comme les deux autres le font.
Pour finir l'ajout du support de GIT est une excellente nouvelle !

avatar françois bayrou | 

Des fois je ne comprends pas les choix ergonomiques que fait Apple.
Pourquoi virer cette combobox, tellement pratique ?
Sur Safari 4 ils avaient enlevé la barre de chargement bleue, pour la remplacer par un picto à droite de l'URL : résultat, plus de place pour une information moins précise. Bizarre. Avec Safari 5 elle est revenue, youpi !
Cette combo box disparait aujourd'hui, elle reviendra demain, mais pourquoi décider, à un moment donné, de l'enlever ? Quelque chose m'échappe, là...

avatar mp_ | 

Ouch, les onglets ... Tant pis pour ceux habitués à manipuler au minimum une dizaine de fichiers en même temps ...

Sinon, un petit air d'iTunes, vous trouvez pas ?

avatar Mac_Ciccio | 

+1 contre la fusion IB / XCode
Pareil, quand on fait du dev c'est comme pour les graphistes, il faut deux écrans.

Sinon, ce qui me manque par rapport à des IDE comme Eclipse (beurk) ou IntelliJ (Wouhou !) c'est des vraies autocomplétions qu'on peut appeler quand on veut, et surtout, surtout du vrai refactoring.
OK en Java on n'a pas de "point h" mais ça doit pas être compliqué de faire des trucs aussi cons que
- Extract method (sur un bout de code)
- Des vrais renames
- Ajouter des méthodes à la volée
- Ajouter des variables à la volée
Bref, faire du développement agile, du vrai.

Sinon GIT c'est bien mais l'intégration avec CVS fait un peu pitié quand même. Je suis le seul à penser qu'il faut utiliser un client CVS externe pour bien fonctionner ?
Pareil pour SVN d'ailleurs...

+1 aussi pour la barre de recherche des méthodes

Bref, j'attends de voir ce que ça donne, mais pour l'instant ça sent la déception...

avatar primalmotion | 

wow! mon reve est devenu réalité!

avatar azgard | 

oh nooon... qu'est-ce que je suis heureux avec XCode 3, il est simple et ne gaspille pas l'espace de l'ecran. Et je ne me sert pas d'IB. il a interet d'etre bien.

avatar Nicky Larson | 

[quote]Sinon, un petit air d'iTunes, vous trouvez pas ?[/quote]
C'est bien pour ça qu'ils ont écrit sur le screenshot "Me ain't iTunes" ;)

avatar BeePotato | 

Comme pour beaucoup ici, pour moi les onglets : beeeeeeerk !!!
Et la fusion Xcode / Interface Builder : aaaaaaaarrrrrgggggggg !!!!!!!!!!

Bref, j’espère que ce sera configurable. Je n’ai pas envie de subir ce genre d’horreurs destinées très probablement à attirer les développeurs Windows. Que ces derniers s’habituent à la plateforme et à sa gestion des fenêtres !

Mais bon, comme toujours, il faudra attendre de tester pour voir si on déteste vraiment tant que ça ou juste un peu… voire si on change complètement d’avis (mais j’en doute).
Et surtout, comme toujours, même si on n’aime pas, il faudra bien faire avec…

avatar BeePotato | 

@ Taranael : « On touche à un sujet assez sensible avec le débat application mono-fenêtre contre multi-fenêtres. »

Il ne s’agit nullement d’un sujet sensible. Il n’y a qu’une réponse valable : multi-fenêtres !!!! ;-)

Pour les autres, il y a Windows…

avatar iNabil | 

au contraire, je trouve que tous ces ajouts sont bienvenus.

les onglets ressemblent en tout point à ceux de safari 5, donc ils seront forcément utilisable ou pas si l'on veut, et ils savent très bien qu'il y en a qui aiment avoir des panneaux dans une autre fenêtre donc ça devrais être paramétrable

avatar Ziflame | 

Je ne comprend pas cet anti monofenêtre qui est pourtant une bénédiction :

- tout est toujours à la même place
- pas d'impression de chao
- on a pas de danger de cliquer à côté et se retrouver dans une autre app

(non, alt-pomme-h n'est pas une réponse)

Et puis c'était devenu un peu la règle depuis longtemps. iTunes, iLife, Aperture, FCP... Dashcode, Automator, Instruments... tout est en mono fenêtre bien propre. Et je n'ai cité que des apps Apple. Et vous criez seulement maintenant au loup avec Xcode et IB ? Vous êtes certains que vous utilisez Mac OS X ?

Je trouvait IB la pire des applications Apple. Il faut des fois un peu chercher avant de retrouver la fenêtre d'édition de menu cachée par mille #&$@! palettes et d'autres fenêtres de nibs. Pour ceux qui se tracassent de la taille prise sur l'écran, vous serez certainement surpris par le gain de clarté que cela apporte et il y aura sûrement moyen de n'afficher que le sctrict minimum au moment de l'édition d'un nibs.

Enfin, Je crois surtout qu'il faut attendre de l'avoir en main avant de pouvoir juger de quoi que ce soit. Je me trompe peut-être mais pour moi c'est vraiment une très grande avancée et je l'attendait depuis très longtemps, et tout le monde sur Twitter est très content aussi.

avatar Artanis | 

@Ziflame: le problème du mono-fenêtres c'est qu'on a besoin d'afficher plusieurs informations en même temps. Dans une optique mono-fenêtre, soit on a tout dans un onglet, et ça manque quand même vraiment de flexibilité, soit les informations sont dans des onglets différents, et dans ce cas on n'a plus aucune cohérence en passant d'un onglet à l'autre. En pratique, c'est pratique d'avoir un nib dans IB juxtaposé à un source dans xCode, et de pouvoir jouer avec les positions des palettes (même si je pense qu'IB est trop fragmenté à ce niveau-là, avec trop de fenêtres différentes, à mon avis, un regroupement comme ça n'est pas la solution).

Un des autres problèmes que ça pose, c'est que l'utilisation d'un éditeur de texte et l'utilisation d'IB sont /complètement/ différentes. À chercher à tout faire avec ce niveau d'intégration, on risque de ne plus rien faire correctement. Je ne dis pas que c'est bien ou mal, mais j'aurais aimé une voie intermédiaire. Et effectivement, historiquement le Mac est basé sur des applications (potentiellement) multi-fenêtres. On n'a pas en général l'association "une application=une fenêtre" comme sous Windows ou la plupart des Linux.

avatar Artanis | 

@ Taranael: Je ne connais pas du tout Visual Studio, mais pour avoir longtemps utilisé Eclipse, c'est le jour et la nuit, et pas seulement en terme de performances. C'est le pied de coder sous xCode, par rapport à cette usine à gaz (et pour le coup si on aime les onglets inconsistants et les grosses fenêtres bordéliques, on est servis avec Eclipse).

avatar Macleone | 

En ajoutant les onglet, l'équipe Xcode ne fait que répondre à une demande récurrente. N'importe qui connaissant un peu leur mode de fonctionnement n'oserait même pas évoquer la possibilité de la suppression du mode multi-fenêtre. Ils savent très bien qu'un seul mode ne peut satisfaire une majorité de développeurs et il est donc très peu probable que le choix du mode soit supprimé.

avatar BeePotato | 

Tout à fait d’accord avec ce qu’a écrit Artanis.

@ Ziflame : pour moi, c’est le mode mono-fenêtre qui donne une impression de chaos, ou plutôt de fouillis (trop d’informations différentes toutes affichées dans la même fenêtre au lieu d’être clairement séparées).
De plus, comme l’a écrit Artanis, le mode multi-fenêtres permet un affichage simultané de plus d’informations que ce que permet le mode mono-fenêtre.
Enfin, et surtout, la « bénédiction » qu’est supposé être le mode mono-fenêtre donne une grosse impression de gaspillage dès qu’on utilise plusieurs écrans.

Heureusement, comme le souligne Macleone, on peut espérer — en se basant sur ce qu’Apple a proposé dans le passé — qu’on conserve la possibilité de choisir entre ces deux modes.
En revanche, il n’y aura très probablement pas le choix concernant l’intégration d’Interface Builder dans Xcode. Adieu le switch bien pratique d’une application à l’autre…

avatar Ziflame | 

Je ne suis justement pas d'accord avec vous avec les informations superflues qui apparaissent dans une mono-fenêtre. Il n'y en a pas plus qu'avec des palettes que l'on affiche ou pas. Ici on peut choisir d'afficher des outils ou pas et certains sont automatiquement présents ou pas selon ce qu'on fait. Regardez bien les boutons au-dessus à droite de la fenêtre, aussi. La différence avec les palettes, c'est que le tout se met de manière bien coordonnée et toujours à la même place.

Par contre, je n'ai pas parlé de la fusion Xcode et IB qui là est un autre débat. Xcode était déja mono fenêtrable, alors que IB était beaucoup trop éclaté et devait absolument être revu. Et cela aurait pu rester deux applications séparées. Il faudra voir à l'utilisation si la fusion des deux étaient une bonne choses. Je pense que oui, mais je me trompe peut-être...

Mais, je suis aussi certain, qu'à la manière de Safari, il y aura toujours moyen de séparer un onglet de la fenêtre principale du projet si on a besoin d'afficher deux fenêtres, ou plus, en même temps. Il faudra voir à l'utilisation quand la beta publique sortira, mais je suis certain que le bazar a été étudié pour être relativement flexible tout en gardant un ordre dans l'ensemble. On peut très bien imaginer une gestion du multi écran intelligente à la Aperture, par exemple.

CONNEXION UTILISATEUR