2011-02-04 61 views
4

哪种语言对iPhone应用程序开发更好?通常用于iPhone应用程序开发的目标c。但是monotouch支持用c#开发iPhone。c#iPhone开发vs Objective C iPhone开发

在此之前,我没有使用c#和目标c进行任何应用程序开发。所以我对这两种语言都是全新的。给我建议iPhone应用程序开发... :)

+1

您以前使用过哪些语言?您应该查看一些代码示例,并查看您觉得最适合的语言。 Objective-C与Apple Talk类似,在函数之间发送“消息”。如果你以前使用过java或类似的东西,我会去C#这是一个用于c#的人的另一个线程的链接http://stackoverflow.com/questions/2696518/monotouch-c-vs-objective -c-for-iphone-app – NoLifeKing 2011-02-04 10:24:00

+0

在我开发j2me,黑莓和基于android的应用程序之前。 – bharath 2011-02-04 10:34:13

回答

5

这是我的个人意见:

我一直在.NET世界一段时间。当iPhone启动创建本地应用程序的能力时,它引起了我的注意。我真的很想学习Objective-C。我读了两本书,开始尝试尝试并尝试一个月,然后我离开了iPhone编程,因为你必须在.NET上制作大量的东西才需要一行代码。

当Miguel de Icaza推出MonoTouch时,我试了一下,我意识到我以前完成的大部分代码都是功能齐全的。我一直试图将UI代码和业务代码分离开来,这真的是iPhone上.NET的一个重点 - 将大部分已经完成的业务逻辑带到设备上。

同样在Objective-C上,你不会找到任何像LINQ或var关键字。在MonoTouch上使用Web服务只需点击几下鼠标。

如果您想要定位Android平台,还有MonoDroid(monodroid.net)。另外如果你想要定位到Mac OSX,那就是MonoMac。所以你可以在这三个平台之间共享类库,而不用麻烦。更不用说,它也可以在Windows上工作,反之亦然(如果可能的话)。

您需要担心的唯一事情就是用户界面,但大部分业务逻辑都应该可以工作。

以下是MonoTouch支持的.NET程序集的完整列表:http://monotouch.net/Documentation/Assemblies。另外,MonoTouch公开了C#/ CIL绑定到所有CocoaTouch API。

此外,MonoTouch团队的支持也非常棒。您可以登录IRC,提出问题,并立即得到答复。他们也有邮件列表。 :)

我真的很喜欢MonoTouch。我知道任何语言都不适合所有任务,Objective-C也不例外。

3

取决于你的需求是什么。对于这个完全陌生的人,你可能会发现直接进入Objective C是更好的解决方案。

但是,这个问题是相当开放的,没有真正的答案,尝试两个,看看你最舒服。

4

如果你在monodouch中使用c#,与Objective-C相比文档要少得多,只是因为大多数iPhone应用程序是用Obj-C而不是c#开发的。如果您对这两种语言都陌生,我会建议Obj-C,因为大量的在线教程,Apple示例代码和文档以及人们的博客。 Obj-C iPhone开发也有更多的书可供购买。

虽然您还必须决定是否认为c#可能比Obj-C更容易学习,如果没有大量的样本就足够了。

在一天结束时,它只是你喜欢的。

1

如果您从未使用任何一种语言,我会建议使用Apple Xcode并学习Objective C,因为这是Apple支持的语言。成本也会降低。

1

既然您之前没有使用C#或Objective-C,我建议您选择本地化。在大多数iOS开发下面这种情况下,实际上是一个好主意:

  • 苹果文档是非常好的(IMO比Android的更好),你甚至可以采取网上课程(谷歌的CS193 - 斯坦福大学的iPhone应用开发类) ;在Objective-C(Kochan经典的“Objective-C中的编程”)和iPhone开发(所有我知道使用Objective-C的书籍)上都有很多优秀的书籍。
  • iOS开发有一个愿意共享知识的大社区(就像这里的StackOverflow一样),所以你一开始学习曲线可能很艰难,但你会比试图用C#解决一些问题更快地学习有用的东西(这是我的假设);

请注意:我从来没有尝试monotouch/C#组合,但我仍然相信用Obj-C本地化是一个明智的选择。

-3

请原谅或不要打扰。 Apple支持Objective-C,并且不支持 C#。