Je viens d'un environnement de programmation Windows lorsque j'écris des outils, mais j'ai programmé avec Carbon et Cocoa depuis un an. Je me suis présenté à Mac par, je le reconnais, en se cachant de la programmation de l'interface utilisateur. J'ai essentiellement vidé mon code OpenGL dans une vue, puis je suis resté dans ma zone de confort en utilisant mon code OpenGL C++ agnostique comme d'habitude. Cependant, maintenant je veux commencer à porter l'une de mes applications plus sophistiquées sur Mac OS.Conseils pour l'ancrage de fenêtres pour Mac
Typiquement, j'utilise l'approche standard MDI ancrable de Visual Studio, qui est excellente, mais très semblable à Windows. De l'utilisation d'un Mac principalement maintenant pour un moment, je n'ai pas tendance à voir ce genre de méthode utilisée pour les interfaces utilisateur Mac. Même Xcode ne supporte pas l'idée de drag and drop/dockable, malheureusement. Je vois des vues ancrées avec des panneaux séparateurs, mais c'est à peu près tout.
La chose la plus proche que j'ai vue de l'approche Visual Studio est Photoshop CS4, ce qui est plutôt sympa.
Alors, quel est le consensus général à ce sujet? Est-ce qu'il y a plus de façon de réaliser la même chose que celle que je n'ai pas vue? Si ce n'est pas le cas, je suis heureux d'écrire moi-même un gestionnaire de fenêtres dans Cocoa, afin que je puisse enfin découvrir ce qui ressemble à une excellente API.
Remarque, je ne souhaite pas utiliser QT ni aucune autre bibliothèque multiplateforme. Tout le problème est que je veux que l'application Mac ressemble à une application Mac, que l'application Windows ressemble à une application Windows. Je trouve toujours que les bibliothèques multi-plateformes tendent à perdre cet effet, et quand je vois une interface utilisateur native Mac, avec des transitions et des animations de Cocoa fantaisie, je souris toujours. C'est aussi une bonne excuse pour apprendre le cacao. Cela dit, s'il y a une bibliothèque Open Source Cocoa pour cela, j'aimerais bien le savoir! J'aimerais voir comment quelqu'un d'autre réalise cela, et aiderait à lisser la courbe d'apprentissage de Cocoa.
Cheers,
Shane
MISE À JOUR: J'ai oublié de mentionner un point critique. Je supporte les plugins, qui peuvent avoir leur propre interface utilisateur pour afficher diverses informations spécifiques au plugin. Je ne sais pas quels plugins seront chargés et je ne sais pas où leur interface va vivre, si je ne supporte pas l'amarrage. J'aimerais entendre les pensées des gens à ce sujet, en particulier: Comment puis-je soutenir une architecture de vue de plugin, si l'interface utilisateur ne peut pas changer? Où puis-je mettre les vues du plugin?
S'il vous plaît ne pas être confondu par la "réponse" ci-dessous. Les fenêtres ancrables sur le Mac existent depuis longtemps. (Adobe et Google font tous les deux des applications avec des fenêtres ancrables, mais ce n'est pas bien pour vous de le faire.) Le vrai problème est qu'il n'y a pas des centaines d'entreprises fabriquant des composants tiers pour Mac comme Windows. Voici un article et du code qui peuvent vous aider à démarrer avec des palettes ancrables sur OS X - http://apptree.net/dockables.htm –
Ouais, je pense que là où il y a un besoin de fenêtres ancrables, elles sont difficiles à battre. Un exemple classique est Eclipse vs XCode (4). Je peux mettre des fenêtres partout où je veux dans Eclipse, alors que je suis coincé dans XCode. Merci pour le lien, je vais vérifier. – Shane