O que você recomendaria para o desenvolvimento do OS X de uma aplicação gráfica como as possíveis no WPF?
Meu background específico está em Smalltalk & Java, mas atualmente trabalho principalmente em DHTML / .NET (ASP.NET/C#).
Respostas:
15 para resposta № 1Cacau. Considerado por muitos como o melhor framework de aplicativos de todos os tempos. A linguagem é Objective-C, linguagem semelhante a SmallTalk que inspirou os criadores de Java.
Realmente, não há alternativa razoável ao desenvolvimento do Cocoa para OS X, a menos que você tenha necessidades específicas, como querer ser multi-plataforma.
4 para resposta № 2
Além do Interface Builder, que é incluído comoComo parte das ferramentas do Xcode, você também pode usar QT, GTK +, AWT e SWING (para o seu background Java), Tk, Squeak (para o seu fundo Smalltalk), Shoes (muito legal pequeno Ruby GUI toolkit), FXRuby (mais Ruby), wxWidgets, XULRunner e outros Eu tenho certeza que me esqueci. Para os aplicativos mais nativos, no entanto, o Interface Builder é sua melhor aposta.
2 para resposta № 3
O Cocoa é a estrutura principal para usar no Mac OS X. É o que a Apple usa, é o que a maioria dos novos desenvolvimentos usa, e é onde os novos recursos são adicionados principalmente.
Se você está vindo do WPF, eu acho que você pode encontraralguns dos conceitos do Cocoa são familiares. (Apesar do fato de que o Cocoa é um pouco mais antigo). Ele é construído inteiramente em torno do MVC, há notificações e ligações de alteração de propriedade, há suporte a animação, há uma estrutura de gerenciamento de persistência e gráfico de objeto e assim por diante. .
(Além disso, você pode querer adicionar "mac" às tags.)
2 para resposta № 4
Com o seu fundo Java, não se desviepela agora obsoleta ponte Cacau-Java. No início da história do OS X, a Apple forneceu uma interface Java (laboriosamente mantida à mão) para as bibliotecas Cocoa. Devido às diferenças semânticas entre Java e Objective-C, muitos dos recursos mais poderosos do Cocoa, incluindo ligação de valor-chave (sobre os quais muitos outros recursos são construídos) são muito difíceis, levando à divergência dos recursos Objetive-C e Java e a eventual depreciação da ponte. Todo o desenvolvimento do Cocoa é melhor feito com Objective-C ou uma das muitas pontes (geradas automaticamente) para linguagens dinâmicas como Python ou Ruby.
Com o seu background em smalltalk, eu esperaria que você pudesse pegar o Objective-C em um dia ou dois.
1 para resposta № 5
Eu não tenho certeza do que WPF é, mas a maioria dos desenvolvimentopara a plataforma OSX é feito em Objective-C com Cocoa. Você pode usar as APIs de carbono reprovadas com outras linguagens como Java, mas novas aplicações para o OSX devem ser desenvolvidas em Objective-C. Você pode começar com Guia da Apple com o XCode como seu IDE.
0 para a resposta № 6
Para colocar de uma maneira diferente do que os posters anteriores: se você não está projetando sua interface no InterfaceBuilder e manipulando-a com Objective-C, então você vai acabar com um aplicativo que não aparente, sinta, aja ou trabalhe como um aplicativo Macintosh deveria, e ele se destacará como um polegar dolorido para os usuários. Será uma experiência desagradável para o usuário em comparação com outros aplicativos, e eles provavelmente desejarão um aplicativo diferente por causa disso.
Toolkits como QT são aceitáveis se o seuaplicação já usa QT e você quer portá-lo rapidamente, mas se você está "re escrevendo uma nova aplicação (ou uma GUI separada) então escreva-a em Cocoa usando ObjC ou ObjC ++.
0 para resposta № 7
Você pode dar uma olhada PyObjc que é uma ponte entre a linguagem de programação Python e o Objective-C, incluindo ligações para componentes do Mac OS X, incluindo o Cocoa.
0 para a resposta № 8
Com experiência em Smalltalk, eu recomendaria cacau direto e Objective-C. No entanto, se você estiver inclinado a uma linguagem dinâmica, RubyCocoa permitirá que você use Ruby, que eu acho que você achará mais fácil de entender que o Python.