我正在Mac上开发GUI应用程序.我已经使用C++超过10年了.我需要切换到Objective C吗?

ano*_*non 5 c++ cocoa objective-c

我已经在C++/Linux上编写了10多年的代码.

我正在转向做Mac开发.

我的开发涉及GUI组件.

我是学习Cocoa/Objective-C的唯一选择,还是有办法包装Cocoa并在C++中使用它?

谢谢!

Ole*_*ann 9

是的,你需要学习Objective-C.此外,如果你不需要,你不会获得太多.它不是那种难以学习的语言,而是Cocoa框架(不是因为它固有的硬性,而是因为它如此巨大).


phi*_*red 8

你可以使用Carbon,但这已被弃用了.

正如Ole所说,如果你有C++背景,Objective-C并不难学 - 如果你使用Objective-C++(这可能很有用,但通常最好对使用不同语言的代码进行分区,你可以混合使用 - 所以使用Objective-C/Cocoa作为GUI层,使用C++作为核心逻辑.我在iPhone游戏vConqr中这样做.

如果你已经用C++完成了GUI工作,我想你会理解为什么为Cocoa选择了Objective-C.它非常适合事件驱动的设计,并且具有许多自然适合的抽象.然而,当你进入更抽象的领域时,特别是如果你使用了大量的容器和算法,你可能会开始发现这些限制有点烦人.但是给它时间 - 还有其他有用的抽象并不是很明显(动态类型,键/值编码和其他形式的反射,类别......).

您可能还会发现此stackoverflow问题很有用.