适用于iphone应用的MonoTouch和C#VS Objective C.

Eyl*_*yla 11 c# iphone objective-c xamarin.ios

问候,我是一名C#程序员.我打算开始为iphone开发应用程序,但我不确定我是否应该在MonoTouch下使用C#或者只使用iphone OS的本地语言Objective C.

使用C#或Objective C的iphone应用程序是否有不同的程序?

使用C#为iphone编程应用程序是否存在限制,或者它可以像Objective C那样开发iphone应用程序吗?

Bar*_*ark 12

MonoTouch包含大部分但不是全部的iPhone SDK.所以,是的,你还有一些你不能做的事情,但它们相对较少而且相差甚远.

许多.Net人员发现他们使用MonoTouch更有效率(至少最初),因为他们可以利用他们现有的技能.另一方面,没有什么比用土地的母语工作,只需要更长的时间.您将不得不学习一些Objective-C,因为世界上大多数文档都使用它(和/或C级CoreFoundation API).Objective-C的动态性质一开始会让人觉得陌生,但是一旦你完全理解它,你会发现它很自由.在我的职业生涯中使用过多种语言,我发现Objective-C(以及Cocoa API)是最愉快的开发体验之一.


Chr*_*s S 10

这是一个Monotouch开发人员的答案,而不是一些猜测人们浏览博客的工作.

你买过Monotouch牌照吗?如果没有那么明确客观-C将是首选.如果您已经购买了许可证,那么在Monotouch中开发应用程序是有意义的,因为:

  • 域名和业务逻辑可以在今年晚些时候轻松移植到Windows Mobile 7应用程序中
  • 即将推出的Monodroid也是如此,API也很容易移植到Java.
  • 控制器,视图和整个Monotouch系统栏static void main可以非常容易地转换为objective-C.名称都相同,但在Pascal情况下.

至于应用程序被接受 - 到目前为止Apple已经让Monotouch应用程序通过.我并不是说他们不会突然说"不!你应该使用目标-C",但是对于他们在像Stackoverflow这样的高端网站上禁止SO iPhone客户端将是糟糕的公关.

Apple在他们的演示中使用应用程序打破了他们自己的SDK(Tap Tap Revolution就是其中之一),并且十分之一的appstore畅销游戏使用了非客观C的健康部分.

Monotouch是直接映射到Cocoa和UIKit.你需要有一个mac来使用编译器和IDE.据我所知,Flash没有这样的限制,它的UI在强制UINavigationController,UITabViewController,UIAlertView等常见的"widget"设置方面要严格得多.


Edu*_*coz 6

这是我的看法:如果你生活中绝对没有见过Obj-C代码,那么需要一点时间来适应它.将SDK与完全不同的事实放在一起,你将不得不学习每一种新方法,如果你努力学习,你可能需要至少几个月的时间才能成为一名普通的开发人员.

相反,使用MonoTouch并使用C#学习整个SDK.在几周内,您将感到宾至如归,所有课程,Interface Builder等.您将能够以与Obj-C相同的方式开发应用程序,但在C#中.演示版允许您免费使用所有内容.

然后你决定做什么.取决于Apple的整个问题如何,您可能决定继续使用MonoTouch,或者您可能决定学习Obj-C,并且基本上使用您已经获得的关于SDK的所有知识,这将使转换更容易.