ios – 为什么不推荐使用MonoTouch进行iPhone开发?

前端之家收集整理的这篇文章主要介绍了ios – 为什么不推荐使用MonoTouch进行iPhone开发?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们想开发iOS和 Android智能手机的应用程序.我们主要使用Microsoft技术来开发我们的应用程序.我们认为,如果我们使用MonoTouch和Mono for Android,我们只需要为每个设备维护一个只有不同UI层的代码库.

因为目前我们的小团队中没有人开发出智能手机应用程序,我们很快就需要它来外包.我们问其他公司是否将MonoTouch或Objective C用于iPhone开发.他们中的大多数人都表示会选择Objective C.他们说Objective C提供了更多的功能和可能性,它更快,MonoTouch有机会在将来不再支持它.所有这些都是真的还是有其他理由喜欢Objective C?我知道有这样的其他线程,但他们没有回答我的问题,特别是关于苹果支持MonoTouch的问题.

解决方法

applications. We thought that if we would use MonoTouch and Mono for
Android we would only have to maintain one code base with only a
different UI layer for each device.

如果您构建您的应用程序,这是可能的.如果没有:否

如果您使用Java ObjC C#(对于WP7 / Win8地铁等),那么这不是所有的选项

Because currently nobody in our
small team ever developed a smartphone application and we need it
quickly we want to outsource it. We asked other companies whether they
perfer MonoTouch or Objective C for iPhone development. Most of them
said,that the would choose Objective C.

如果你外包,你应该决定你想要的东西,肯定吗?如果您需要在内部支持,并且您只拥有C#技能,那么MonoTouch等对您来说更有意义,支付帐单的人们将会更加有意义!

They said that Objective C
offers more functionality and possibilities,

FUD,也不正确. Monotouch拥有完整的API.如果不在那里,作为Xamarin绑定它(他们以前经常做的)

it’s faster

我很乐意看到基准.是的,从技术上讲,在某些情况下可能会更快,但一般来说,MonoTouch是一样的或更快的.

程序员错误是iOS应用程序性能问题的常见原因.例如,不要让UI线程脱机(在MonoTouch中比在ObjC中更容易做到这一点),或者花费太长的时间才能完成“完成”(“main”方法),如果你愿意的话这不是真的…)

垃圾收集和linq,xml / json解析,泛型和集合等东西也非常有价值,而且非常快.

and for
MonoTouch there is a chance that Apple will not support it anymore in
the future.

是的,有机会还有一个机会,蒂姆·库克将逃跑与苹果的数十亿美元,并购买所有的夏威夷(而不是拉里·埃里森的“我只会有这个岛”购买).但是机会现在相当纤细.

Is all of that true or are there other reasons to prefer
Objective C? I know there are other threads like this around,but they
did not answer my questions,especially the one regarding Apple’s
support for MonoTouch.

苹果不支持MonoTouch. Xamarin确实如此,他们做得非常好.苹果不支持除了XCode之外的任何东西,这是他们的产品.

苹果允许MonoTouch应用程序(有很多).另一种看待它的方式:通常,前100名游戏中的95%是使用Unity3D编写的,它基于相同的技术(提前编译C#代码并嵌入Mono / .NET框架的缩小版本).

有理由喜欢ObjC,这将是:

>你已经知道ObjC和CocoaTouch,喜欢它.
>您的团队已经知道ObjC和CocoaTouch,或者您可以轻松地雇佣那些做的事情(注意:据我所知,iOS开发人员CRAZY的CRAZY很贵,如果可以得到它们)
>您需要使用测试版才能出来的那一天.请记住,您可以使用当前的MonoTouch并将其部署到您的iOS [REDACTED]设备上,并附带测试版.你不能在iOS6 YET中使用新的东西(Xamarin说“大约2周”,应该是现在…).还要记住,您不能将应用程序部署到使用beta SDK构建的商店中,即使您没有使用任何内容.您甚至不能在您的产品描述中提及iOS [删除](已尝试)
你喜欢[SquareBrackets andTheOccasional:@“奇怪的语法”];

现在,将建立一个跨平台,共享代码应用程序是一个容易的事业?一定不行.这是一个非常复杂的开发应用程序.但这是软件开发的有趣的部分:如果很容易,这将是无聊的! Grab Greg Shackles书(http://www.amazon.com/dp/1449320236)了解iOS WinPhone Android风格开发所需要的内容.

猜你在找的iOS相关文章