丰富的GUI OS X框架?

时间:2008-08-21 05:57:15

标签: wpf user-interface macos frameworks

对于像WPF中那样的图形应用程序的OS X开发,您会推荐什么?

我的具体背景是Smalltalk& Java,但我目前主要使用DHTML / .NET(ASP.NET / C#)。

8 个答案:

答案 0 :(得分:15)

可可。被许多人认为是有史以来最好的应用程序框架。该语言是Objective-C,类似SmallTalk的语言,启发了Java的创建者。

实际上,没有合理的替代Cocoa for OS X开发,除非你有特殊的需求,比如想要跨平台。

答案 1 :(得分:4)

除了作为Xcode工具的一部分包含的Interface Builder之外,您还可以使用QT,GTK +,AWT& amp; SWING(适用于您的Java背景),Tk,Squeak(适用于您的Smalltalk背景),Shoes(非常酷的小型Ruby GUI工具包),FXRuby(更多Ruby),wxWidgets,XULRunner以及其他我相信我已经忘记了。但是,对于大多数类似本机的应用程序,Interface Builder是您最好的选择。

答案 2 :(得分:2)

Cocoa是在Mac OS X上使用的主要框架。它是Apple使用的,它是大多数新开发使用的,而且主要是添加新功能的地方。

如果你来自WPF,我想你可能会发现Cocoa中的一些概念很熟悉。 (尽管Cocoa有点老了。)它完全围绕MVC构建,有属性更改通知和绑定,有动画支持,还有持久性和对象图管理框架等等。

(另外,您可能希望在标签中添加“mac”。)

答案 3 :(得分:2)

使用Java后台,不要被现已弃用的Cocoa-Java桥所牵制。在OS X历史的早期,Apple为Cocoa库提供了一个(费力的手工维护)Java接口。由于Java和Objective-C之间的语义差异,Cocoa的许多最强大的功能,包括键值绑定(构建许多其他功能)非常困难,导致Objetive-C和Java功能的分歧和桥的最终弃用。所有Cocoa开发最好用Objective-C或许多(自动生成的)桥接到动态语言(如Python或Ruby)。

以smalltalk为背景,我希望你能在一两天内拿到Objective-C。

答案 4 :(得分:1)

我不确定WPF是什么,但OSX平台的大多数开发都是在Objective-C中使用Cocoa完成的。您可以将已弃用的Carbon API与其他语言(如Java)一起使用,但OSX的新应用程序确实应该在Objective-C中开发。您可以使用XCode作为IDE开始Apple's guide

答案 5 :(得分:0)

使用与以前的海报不同的方式:如果您没有在InterfaceBuilder中设计界面并使用Objective-C对其进行操作,那么您将最终得到一个看起来,感觉,行为或不看的应用程序。按照Macintosh应用程序的方式工作,它会像用户的拇指一样突出。与其他应用相比,这对用户来说将是一种不愉快的体验,并且由于它,他们可能会想要一个不同的应用。

如果您的应用程序已经使用QT并且您希望快速移植它,那么像QT这样的工具包是可以接受的,但是如果您正在编写新的应用程序(或单独的GUI),那么使用ObjC或ObjC ++在Cocoa中编写它。

答案 6 :(得分:0)

您可以查看PyObjc,它是Python编程语言和Objective-C之间的桥梁,包括Mac OS X组件的绑定,包括Cocoa。

答案 7 :(得分:0)

有了Smalltalk背景,我推荐直接使用Cocoa和Objective-C。但是,如果您倾向于使用动态语言,RubyCocoa将允许您使用Ruby,我认为您会发现它比Python更容易获取。