Bob*_*toe 24
这可能会冒犯一些,但说实话,如果你要进行任何认真的开发,你应该学习Objective-C.不了解iPhone开发中的Objective-C只会成为一个障碍.你将无法理解许多例子; 你必须处理Mono的怪癖,而如果你有Objective-C的工作知识,你可以从平台文档中获得更多.
就个人而言,我不理解这样的立场,即增加您需要的信息量,以支持在平台的母语上使用Mono.这对我来说似乎有点适得其反.我认为如果这是一个非常昂贵的命题(学习一门新语言),那么花一些时间在基础编程概念上可能是值得的,因此学习新语言是一个相当便宜的命题.
Monotouch现在更容易.但后来更难了.
例如,当新种子问世时你需要测试但是出于某种原因打破MonoTouch会发生什么?
通过坚持使用Mono,每当您查找框架资源时,您必须在心理上将其转换为如何将它们与Mono一起使用.您的应用程序二进制文件会更大,在开发Objective-C几个月后,您的开发时间不会那么快,而其他应用程序开发人员将比您更具优势,因为他们使用的是本机平台.
另一个考虑因素是您希望使用C#,因为您比Objective-C更熟悉该语言.但是iPhone的绝大部分学习曲线都不是Objective-C,而是框架 - 您也必须使用C#调用它.
对于任何平台,您都应该使用直接表达该平台设计理念的平台 - 在iPhone上,即Objective-C.从相反的角度考虑这个问题,如果一个习惯于在GTK编程的Linux开发人员想要编写Windows应用程序,你会认真地建议他们不要使用C#并坚持使用GTK,因为他们"更容易"这样做吗?
这将是一个意见问题,但我的看法是你最好坚持使用 C#。切换到 Objective-C 会增加您在环境中高效工作之前必须学习的新信息量。
即使继续使用 C#,你仍然需要......
但使用 C# 有一些缺点
但我的直觉是,与学习一门新语言的成本相比,这些费用是微不足道的。
编辑
我想澄清我对学习一门新语言的想法。我认为学习语言很有趣,并且是程序员生活的必要组成部分。您应该至少每年尝试一次新语言。今年我正在玩弄 F#。
我针对这个问题建议反对的唯一原因是OP说“最简单的方法......”。学习一门新语言确实需要额外的时间,并且需要付出更多的努力,所以我认为坚持使用 C# 更容易。