我决定开始为iPhone编写一些应用程序,最终将提交给App Store。所以我必须使用Apple支持的语言。
但是,据我所知,我可以选择多种语言。
Ansi C
Objective C
C
C++
我在2001年开始在学校学习C++
,所以也许我应该使用它。但是,我想使用支持最多的API和社区wize的语言。那是哪一个?
答案 0 :(得分:9)
这是低位:
所有iPhone SDK API都是Objective-C或纯(ANSI)C。纯C API往往是较低级别的API,因此您只能使用Objective-C。 然而 Objective-C是C的严格超集,所以你需要在C中有一个合理的基础来编写Objective-C。
完全支持C ++,但不是必需的(没有C ++ API)。您甚至可以使用Objective-C ++在同一个源中混合使用Objective-C和C ++。如果你这样做,最好使用C ++作为纯计算组件,使用纯Objective-C作为前端,使用Objective-C ++作为中间的“胶水”层。
总结:你需要 C和Objective-C。如果您特别需要,请将C ++用于某些部分。
答案 1 :(得分:3)
objective-c是最受支持的 - 所有示例都使用它
答案 2 :(得分:2)
iPhone平台的主要语言是objective-c - 几乎所有框架都是基于Objective-c的,所以至少你必须将它用于UI部分。但是,由于objective-c是c语言的超集,你也可以使用c / c ++编写程序的某些部分。
答案 3 :(得分:2)
有C和Objective-C框架。 Quartz2D是用C语言编写的,但Cocoa Touch框架是用Objective-C编写的。由于Objective-C是C的超集,如果选择Objective-C,您将能够毫无问题地使用所有可用的框架。
答案 4 :(得分:0)
根据您要编写的应用程序类型,您可以节省大量时间和时间。头痛并使用Appcelerator's Titanium Mobile(JavaScript)或Rhomobile(Ruby)。全部根据苹果最新的TOU,因此仍然可以提交到App Store。
答案 5 :(得分:0)
Apple正式允许的唯一语言是
不允许使用其他所有语言。
这种限制是否合法是一个完全不同的问题。 (我的直觉是,至少在那些有一些理智的反托拉斯法律的国家,它是非法的。)
答案 6 :(得分:-2)
Objective-C是C / C ++的超集。您必须学习使用Obj-C进行代码编写的C / C ++,但不能仅使用C / C ++为iPhone开发。许多问题必须用Obj-C编写,尽管你可以用C / C ++编写许多东西。例如Obj-C中的行
[anObject aProperty]
在C ++中等于此
anObject.aProperty
但是你不能将C / C ++用于合成属性,链接出口和动作等问题。
在游戏开发中,当你可以在C / C ++中使用类似的东西时,建议避免使用Obj-C,但Obj-C比C ++更强大,更清晰。