丰富的GUI OS X框架?

6

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

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

8个回答

15

Cocoa。被许多人认为是有史以来最好的应用框架。使用的语言是Objective-C,一种类似于SmallTalk的语言,启发了Java的创作者。

实际上,在OS X开发方面,除非您有跨平台的特定需求,否则没有合理的Cocoa替代品。


4

除了作为Xcode工具的一部分包含的Interface Builder之外,您还可以使用QT、GTK+、AWT&SWING(用于Java背景)、Tk、Squeak(用于Smalltalk背景)、Shoes(非常酷的小型Ruby GUI工具包)、FXRuby(更多的Ruby)、wxWidgets、XULRunner等等。然而,对于最类似本地应用程序的体验,Interface Builder是您最好的选择。


2

Cocoa是在Mac OS X上使用的主要框架。这是苹果公司使用的框架,也是大多数新开发项目使用的框架,也是新增功能的主要添加地点。

如果你来自WPF,我认为你可能会发现Cocoa中有很多概念是熟悉的。(尽管Cocoa略微比WPF旧一些。)它完全建立在MVC模式之上,有属性更改通知和绑定,支持动画,有一个持久性和对象图管理框架等等。

(此外,您可能需要将“mac”添加到标签中。)


2

有了你的Java背景,不要被现在已经弃用的Cocoa-Java桥所分心。在OS X历史的早期,苹果提供了一个(费力地手工维护的)Java接口,用于Cocoa库。由于Java和Objective-C之间的语义差异,许多Cocoa最强大的功能,包括键值绑定(许多其他功能都建立在其上)非常困难,导致Objective-C和Java能力的分化以及桥梁的最终弃用。所有Cocoa开发最好使用Objective-C或其中许多(自动生成的)桥接到动态语言,如Python或Ruby。

有了你的Smalltalk背景,我相信你可以在一两天内学会Objective-C。


1

我不确定WPF是什么,但大多数针对OSX平台的开发都是使用Objective-C和Cocoa完成的。你可以使用已弃用的Carbon API与其他语言(如Java)一起使用,但是新的OSX应用程序真正应该使用Objective-C进行开发。你可以从Apple's guide开始,使用Xcode作为IDE。


0

如果你有Smalltalk的背景,我建议直接使用Cocoa和Objective-C。然而,如果你更倾向于动态语言,RubyCocoa 可以让你使用Ruby,我认为这比学习Python更容易。


0
换句话说,如果你不是在InterfaceBuilder中设计界面并使用Objective-C进行操作,那么你最终得到的应用程序将不会像Macintosh应用程序一样具有外观、感觉、行为或工作方式,用户会对其产生不愉快的体验,与其他应用程序相比,它会显得格格不入。如果你的应用程序已经使用QT并且想要快速移植,那么像QT这样的工具包是可以接受的,但如果你正在编写一个新的应用程序(或单独的GUI),那么请使用ObjC或ObjC++编写Cocoa。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接