ac#程序员为i-Phone开发的最简单方法是什么?

Nes*_*tor 7 c# iphone

我应该使用Mono + c#吗?或者我最好学习和使用目标c?谢谢

Bob*_*toe 24

这可能会冒犯一些,但说实话,如果你要进行任何认真的开发,你应该学习Objective-C.不了解iPhone开发中的Objective-C只会成为一个障碍.你将无法理解许多例子; 你必须处理Mono的怪癖,而如果你有Objective-C的工作知识,你可以从平台文档中获得更多.

就个人而言,我不理解这样的立场,即增加您需要的信息量,以支持在平台的母语上使用Mono.这对我来说似乎有点适得其反.我认为如果这是一个非常昂贵的命题(学习一门新语言),那么花一些时间在基础编程概念上可能是值得的,因此学习新语言是一个相当便宜的命题.


Ken*_*ner 7

Monotouch现在更容易.但后来更难了.

例如,当新种子问世时你需要测试但是出于某种原因打破MonoTouch会发生什么?

通过坚持使用Mono,每当您查找框架资源时,您必须在心理上将其转换为如何将它们与Mono一起使用.您的应用程序二进制文件会更大,在开发Objective-C几个月后,您的开发时间不会那么快,而其他应用程序开发人员将比您更具优势,因为他们使用的是本机平台.

另一个考虑因素是您希望使用C#,因为您比Objective-C更熟悉该语言.但是iPhone的绝大部分学习曲线都不是Objective-C,而是框架 - 您也必须使用C#调用它.

对于任何平台,您都应该使用直接表达该平台设计理念的平台 - 在iPhone上,即Objective-C.从相反的角度考虑这个问题,如果一个习惯于在GTK编程的Linux开发人员想要编写Windows应用程序,你会认真地建议他们不要使用C#并坚持使用GTK,因为他们"更容易"这样做吗?


Jar*_*Par 1

这将是一个意见问题,但我的看法是你最好坚持使用 C#。切换到 Objective-C 会增加您在环境中高效工作之前必须学习的新信息量。

即使继续使用 C#,你仍然需要......

  • 了解 iPhone API
  • 了解使用 iPhone 本身进行开发的怪癖

但使用 C# 有一些缺点

  • 大多数 iPhone 示例将使用 Objective-C。因为您不懂该语言,所以很难将它们应用到您的问题集中
  • 在 Mono 中使用静态编译肯定会有一些小怪癖,您需要习惯这些怪癖。

但我的直觉是,与学习一门新语言的成本相比,这些费用是微不足道的。

编辑

我想澄清我对学习一门新语言的想法。我认为学习语言很有趣,并且是程序员生活的必要组成部分。您应该至少每年尝试一次新语言。今年我正在玩弄 F#。

我针对这个问题建议反对的唯一原因是OP说“最简单的方法......”。学习一门新语言确实需要额外的时间,并且需要付出更多的努力,所以我认为坚持使用 C# 更容易。

  • 但另一方面......学习新事物总是很有趣!但既然问题要求“简单”,你是对的。MonoTouch 可能是可行的选择,尽管 400 美元的许可证价格更高,并且可能会在问题上获得较少的社区支持。 (2认同)