应用程序。我们认为如果我们将 MonoTouch 和 Mono 用于
Android 我们只需要维护一个代码库,其中只有一个
每个设备的不同 UI 层。
如果您正确构建应用程序,这是可能的。如果不是:没有。
如果您使用 Java+ObjC+C#(用于 WP7 / Win8 Metro 等),那么这不是一个选项 AT ALL
因为目前我们没有人
小团队曾经开发过智能手机应用程序,我们需要它
很快我们想外包它。我们询问了其他公司是否
在 iPhone 开发中使用 MonoTouch 或 Objective C。他们中的大多数
说,会选择Objective C。
如果您将其外包,您当然应该指定您想要写的内容吗?如果您需要在内部支持它,而您只有 C# 技能,那么 MonoTouch 等对您(支付账单的人)更有意义!
他们说Objective C
提供更多功能和可能性,
FUD,也不对。 Monotouch 提供完整的 API。如果它不存在,则作为 Xamarin 绑定它(他们以前经常这样做)
更快
我很想看看基准。是的,从技术上讲,它可以在某些情况下更快,但在一般情况下,MonoTouch 相同或更快。
程序员错误是导致 iOS 应用性能问题的更常见原因。例如,不让事情脱离 UI 线程(这在 MonoTouch 中比在 ObjC 中更容易做到,这些块对此有很大帮助),或者花费太长时间才能退出 FinishedLaunching(如果你愿意,可以使用“main”方法)不是真的……)
垃圾收集和诸如 linq、xml/json 解析、泛型和集合之类的东西也非常有价值,而且速度非常快。
为了
MonoTouch 有可能 Apple 将不再支持它
未来。
是的,有机会。蒂姆库克也有可能用苹果的数十亿美元跑掉并购买整个夏威夷(而不是拉里埃里森的“我将拥有这个岛”购买)。但现在机会非常渺茫。
所有这些都是真的还是有其他理由更喜欢
目标C?我知道周围还有其他类似的线程,但他们
没有回答我的问题,尤其是关于苹果的问题
支持 MonoTouch。
Apple 不支持 MonoTouch。 Xamarin 做到了,而且他们做得非常好。除了他们的产品 XCode,Apple 不支持任何东西。
Apple 确实允许 MonoTouch 应用程序(有很多)。另一种看待它的方式:通常,前 100 名游戏中有 95% 是使用 Unity3D 编写的,它基于相同的技术(C# 代码的提前编译和嵌入 Mono/.NET 框架的缩减版本)。
选择 ObjC 的原因有:
- 您已经了解 ObjC 和 CocoaTouch 并且喜欢它。
- 您的团队已经了解 ObjC 和 CocoaTouch,或者您可以轻松聘请懂的人(注意:目前,据我所知,iOS 开发人员的招聘成本非常高,如果您能找到他们)
- 您需要在测试版发布之日使用。请记住,您可以使用当前的 MonoTouch 并将其部署到您的 iOS[已编辑] 设备上并安装测试版。你只是不能使用 iOS6 YET 中的新东西(Xamarin 说“大约 2 周”,现在应该是……)。另外请记住,您不能将应用程序部署到使用 beta SDK 构建的商店,即使您不使用其中的任何东西。你甚至不能在你的产品描述中提及 iOS[已编辑](我试过了)
- 你喜欢 [squareBrackets andTheOccasional:@"strange syntax things"];
现在,构建一个跨平台、共享代码的应用程序会是一件容易的事吗?一定不行。对于一个非平凡的应用程序来说,这是一个非常复杂的开发。但这就是软件开发的乐趣所在:如果它很容易,那就太无聊了!获取 Greg Shackles 书籍 (http://www.amazon.com/dp/1449320236),了解 iOS+WinPhone+Android 风格开发需要什么。