为iPhone或Android开发? (作为C#开发人员)

我想在空闲时间开始为iPhone或Android开发,作为一个学习新东西的机会,同时也希望赚取一些额外的收入。

我不确定哪个是我开始发展的最好的发展。 我拥有一部iPhone,但是我没有Mac(我需要使用SDK),再加上iPhone,我相信每年都会收费。

据我了解Android,SDK是免费的,可以在Windows上使用。

在专业上,我开发使用.net和C#,这听起来更像是基于Java的Android环境。

另一个我对iPhone的看法是它拥有一个更加拥挤的应用程序商店,我认为应用程序会在Android上曝光得更好?

Solutions Collecting From Web of "为iPhone或Android开发? (作为C#开发人员)"

由于各种原因,这两者都可能是好的/坏的。

iPhone很好

  • 很棒的SDK和得到使用Xcode哪些石头
  • 很好地在线logging(许多教程)
  • 大型部署的设备基地
  • 完善的应用程序商店
  • 去学习目标(我觉得它是一种有趣的语言)
  • 大多数人倾向于升级他们的iPhone操作系统,所以你可以逃脱只发展的最新和最伟大的

iPhone糟糕

  • 拥挤的应用程序商店,很难突破(“金矿”是一个神话)
  • 应用程序商店的应用程序需要得到苹果公司的批准,有些经常因为可疑的原因而被拒绝
  • 必须买一台Mac(不一定是坏事)
  • 必须学习Objective C(可以很麻烦)
  • 必须支付$ 99 /年来发布应用程序
  • 只能在iPhone 4.0以上进行多任务处理。 硬件限制将意味着许多设备将不能使用这个

Android很好

  • 没有限制您可以开发/发布的应用程序
  • 设备的广泛部署和成长 – 即将超过iPhone
  • 可以在Android上多任务
  • 获取广为人知的Java代码
  • 一些与Eclipse集成的SDK工具很不错(尽pipe还需要更多的工作)
  • 只需支付25美元即可发布应用程序(一次性付费)
  • 可以在任何平台上开发(Mac / Windows / Linux)
  • 今年推出的大型Android设备 – 平台真的可以起飞。
  • 好的XML布局意见的方式。 虽然不像iPhone Interface Builder那样闪光,但它非常强大。
  • 在Eclipse中工作(有些人认为是石头)

Android不好

  • 必须支持各种各样的屏幕尺寸和设备
  • 许多人仍然使用旧版本的Android操作系统(1.5),所以如果你想要达到这个市场,你可能不得不支持这些
  • SDK不像iPhone SDK那样精美
  • Android Market并不像iPhone App Store那么受欢迎 – 命中的应用程序不会赚更多的$$$

总而言之,从我看来,以现在的情况为准,特别是现在Android正在逐渐成熟。 鉴于你的背景,我会说你应该去Android。

我诚实的看法 – 我看到iPhone SDK的最近的变化一脚踢。 我是一个Adobe的人,你会假设,无数的开发人员开始在CS5中build立应用程序将是伟大的你的App Store? 显然苹果不同意。

但是,如果您正在寻找曝光度,如果您构build高质量的应用程序,将应用程序joinApp Store将会产生更多的效果。 由于Android商店还没有build立起来(如果他们会成为一个),所有的营销都是在你自己的头上。

我最近解雇了苹果,因为他们迫使我们的开发人员“做他们”,我不同意他们的精神。


也就是说,编写了这两个程序,Android稍微安装一些,花了很长时间才能整理出来。 虽然说明非常好,例子也很清楚。

如果你有一个mac,安装iPhone SDK是一个蹩脚的,你准备好构build应用程序。 它的开发人员连接花费50英镑,是的Android是免费的。 [更正 – 这可能会花费25美元的费用之一]

如果您正在构build一个iPhone应用程序,那么您将需要连接(根据我的经验,这可能需要3周时间),因此您可以在iPhone上进行testing。

而且你肯定需要购买一台Mac。

使用Android,它的Java和最新的版本,一个非常好的API来处理。 作为基于Eclipse的构build的额外奖励,所以需要花几秒钟的时间来了解发生了什么事情。

作为一个Actionscript / JS开发人员的最后一个想法,向Java的过渡是一个合理而简单的步骤(如果您不同意,请不要开枪)。Objective C是两种不同语言风格的火车残骸。 我发现这非常困难。

但是不要只听我的话,一定要尝试一下,因为我现在看到Android新兴市场只是一个冰山,但是苹果已经成立。

iPhone / iPad应用程序生态系统的两个缺点是:

  1. 苹果testing和接受应用程序之前把它们放到AppStore(这需要时间和接受取决于苹果目前的政策) – 谷歌似乎并不在乎那么多。
  2. AppStore是iPhone应用程序的唯一官方位置 – 在Android上,您可以安装来自不安全来源 (即网站或电子邮件附件)的应用程序 – 因此您可以通过各种方式为应用程序提供和收费。

你说你想(a)学习新的东西,(b)赚取额外的收入。

就(a)而言,Android进入门槛可能较低。 您可以在Windows,Linux或Mac上开发; sdk是免费的,没有收费。 Android开发通常是用Java来完成的,这与你已经知道的C#没有什么不同。 所以,我会说得到Reto Maier的书,并尝试给Android。 在某些时候,你需要一个Android手机,但是你可以通过模拟器获得一些方法。 您不必购买Mac或支付开发者许可证。

熟悉移动平台开发之后,您将会更好地了解如何构build其他人希望使用的应用程序,甚至可以付费。 在这一点上,您可以从(b)的angular度评估平台,并决定采取哪一种平台。 如果您最终购买了一台Mac并为开发许可证付款,那么至less您会做出明智的决定。 但是先获得一些经验吧。

像你一样,我是ac#dev。 我为自己的娱乐做了一些Android的开发,并且(为了它的价值),我个人认为它是一个比iPhone更优越的平台,因为它更开放(技术和商业)。 我相信Android会相当快或者实现与iPhone的共享,甚至超越。

尝试Android,获得一些移动体验,然后决定。

MonoDroid for Android目前处于testing阶段 ,这意味着您可以使用C#编写Android应用程序。 你可以在这里注册testing版。

iPhone越来越受限制。 Android正在开放。 Android也在运送比iPhone更多的手机。 你决定。

看看这本书 ,这是一个很好的参考,以决定第三种方式… HTML,JavaScript和CSS的iPhone和Android同时,基于webkit,使用jQTouch和PhoneGap 。 你可以在第一章看到利弊。

我build议你在开始尝试之前,先从朋友那里得到最新的iPhone SDK和Mac,除非$ 600的最低投资(我在我的例子中做的)不会打扰你。 你可以尝试安装GNUstep for Windows,并且在不购买Mac的情况下使用Objective-C来检查语言,但是如果没有XCode和Interface Builder,SDK等,它就不一样了。 我之所以这样说,是因为我现在正在学习iPhone课程,只是学习Objective-C的学习曲线比我想像的还要大得多,而且耗费的时间比我所关心的要多得多。 与C#或Java不同,你必须手动跟踪内存pipe理,这真的很烦人,更不用说Cocoa Touch了,这就像Objective-C的.Net或者Java类一样。 另一个大的学习曲线! 底线忽略了这个事实,它是SmallTalk和C的混合体,看起来很糟糕,如果你能克服它,仍然很难和容易的崩溃你的程序。 忘记在Inteface Builder中正确连接您的前景? 崩溃! 由于松散types检查,忘记使用@作为NSSTring? 崩溃! 我只是说,你可能会更有效率,实际上在空闲时间完成应用程序,使Android更熟悉的Java语言路线与苹果路线。 另外,我不确定Android在整个MVC概念上有多大,但是因为Cocoa始终使用模型 – 视图 – 控制器(MVC)devise模式,所以在iPhone SDK中无处不在。 另一方面,如果你喜欢挑战或者学习苹果路线是一条路,那么你的应用就会卖,你就会赚钱。 就像我说的那样,在开始考虑销售下一个杀手级应用程序LOL之前,还有很多事情要跟iPhone学习。

PS哦,除非你想在iPhone / iPad模拟器无法正常工作的实际硬件上testing一些东西,或者实际上传一个应用程序到商店,你不需要支付99美元的开发费用。

如果您是C#开发人员,并且您正在开始iOS开发,那么您应该自己阅读Josh Smith的针对.NET开发人员的iOS编程 。

这正是你要找的。