Question

Que recommanderiez-vous pour OS X développement d'une application graphique comme celles possibles dans WPF?

Mon fond est en Smalltalk & Java, mais actuellement, je travaille la plupart du temps en DHTML/.NET (ASP.NET/C#).

Était-ce utile?

La solution

Le cacao.Considéré par beaucoup comme le meilleur cadre d'application à jamais.Le langage Objective-C, SmallTalk-comme le langage qui a inspiré les créateurs de Java.

Vraiment, il n'y a pas d'alternative raisonnable à Cocoa pour mac OS X de développement, à moins que vous ayez des besoins spécifiques comme vouloir être multi-plateforme.

Autres conseils

De côté de l'Interface Builder qui est inclus dans les outils Xcode, vous pouvez également utiliser la bibliothèque QT, GTK+, AWT & SWING (pour Java arrière-plan), les Savoirs traditionnels, Squeak (pour votre Smalltalk arrière-plan), des Chaussures (très peu de fraîcheur Ruby GUI toolkit), FXRuby (plus de Ruby), wxWidgets, XULRunner, et d'autres, je suis sûr que j'ai oublié.Pour la plupart des autochtones comme des applications, cependant, Interface Builder est votre meilleur pari.

Le cacao est le principal cadre pour l'utiliser sur Mac OS X.C'est ce qu'Apple utilise, c'est ce que la plupart des nouvelles utilisations de développement, et c'est là que de nouvelles fonctionnalités sont principalement ajouté.

Si vous venez à partir de WPF, je pense que vous pourriez trouver un certain nombre de concepts dans le Cacao familier.(Malgré le fait que le Cacao est juste un peu plus âgé.) Il est entièrement construit autour de MVC, il y a bien des notifications de modification et de liaisons, il y a le support de l'animation, il y a une persistance et de l'objet graphique cadre de gestion, et ainsi de suite.

(Aussi, vous voudrez peut-être ajouter "mac" pour les balises.)

Avec votre Java fond, ne pas se laisser distraire par le désormais obsolète de Cacao-Java bridge.Au début OS X histoire, Apple a fourni une (laborieusement à la main maintenu) interface Java pour le Cacao bibliothèques.En raison des différences sémantiques entre Java et Objective-C, beaucoup de fonctionnalités les plus puissantes de Cacao, y compris la valeur-Clé de liaison (sur lequel de nombreuses autres fonctionnalités sont intégrées) est très difficile, conduisant à la divergence d'Objectif-C et Java capacités et de l'éventuelle dépréciation du pont.Toutes les de développement du Cacao est préférable de faire avec Objective-C ou l'un des nombreux (généré automatiquement) les ponts de langages dynamiques tels que Python ou Ruby.

Avec votre arrière-plan en smalltalk, je m'attends à ce que vous pourriez prendre en Objective-C dans un jour ou deux.

Je ne suis pas sûr de ce que WPF est, mais la plupart de développement pour la plateforme OSX est fait en Objective-C et Cocoa.Vous pouvez utiliser le obsolète Carbone Api avec d'autres langages comme Java, mais de nouvelles applications pour OSX vraiment devrait être développé en Objective-C.Vous pouvez commencer avec Apple guide de l' avec Xcode que votre IDE.

Pour mettre cela d'une façon différente que les précédentes affiches:si vous n'êtes pas la conception de votre interface en InterfaceBuilder et de les manipuler avec Objective-C, alors vous allez finir avec une application qui n'a pas l'air, sentir, agir, ou de travailler la façon dont une application Macintosh doit, et il va tenir le coup comme un pouce endolori pour les utilisateurs.Il va être une expérience désagréable pour l'utilisateur par rapport à d'autres applications, et ils vont probablement le désir d'une application différente, à cause de cela.

Des trousses d'outils comme QT sont acceptables si votre application utilise QT et vous souhaitez le port, il est rapide, mais si vous êtes à la rédaction d'une nouvelle application (ou un autre GUI) alors écrire dans le Cacao à l'aide de ObjC ou ObjC++.

Vous pourriez avoir un coup d'oeil à PyObjc qui est un pont entre le langage de programmation Python et de l'Objective-C, y compris les liaisons pour Mac OS X les composants, y compris le Cacao.

Avec un Smalltalk fond, je le recommande tout droit de Cacao et Objective-C.Cependant, si vous vous penchez vers une dynamique de la langue, RubyCocoa vous permettra d'utiliser Ruby qui, je pense, vous trouverez plus facile à ramasser que Python.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top