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

时间:2010-05-20 08:32:52

标签: iphone android

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

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

据我所知,Android是免费的,可以在Windows上使用。

我专业开发使用.net和C#,听起来更类似于基于Java的Android环境。

我认为对iPhone的另一个负面影响是它拥有更加拥挤的App Store,我认为应用会在Android上获得更好的曝光度?

8 个答案:

答案 0 :(得分:29)

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

iPhone -

  • Great SDK&得到使用Xcode摇滚
  • 在线(很多教程)
  • 大型部署设备基础
  • 成熟的应用商店
  • 学习目标(我觉得它很有趣)
  • 大多数人都倾向于升级他们的iPhone操作系统,这样你就可以逃脱只开发最新最好的

iPhone - 错误

  • 拥挤的应用程序商店,非常难以突破(“金矿”是一个神话)
  • App Store应用程序需要得到Apple的批准,其中一些应用程序经常因为可疑原因而被拒绝
  • 必须购买Mac(不一定是坏事)
  • 必须学习目标C(可能很麻烦)
  • 每年支付99美元发布应用
  • 只能在iPhone 4.0+上进行多任务处理。硬件限制意味着许多设备无法使用此功能

Android -

  • 对您可以开发/发布的应用程序没有限制
  • 设备的广泛部署和增长 - 很快就会超越iPhone
  • 可以在Android上进行多任务处理
  • 使用广为人知的Java代码
  • 与Eclipse集成的一些SDK工具很不错(虽然还需要更多的工作)
  • 只需支付25美元即可发布应用(一次性费用)
  • 可以在任何平台(Mac / Windows / Linux)上进行开发
  • 今年推出的Android设备很棒 - 平台真的可以起飞。
  • 很好的XML布局方式。虽然不像iPhone Interface Builder那样具有外观,但功能非常强大。
  • 开始在Eclipse中工作(有些人认为是岩石)

Android - 错误

  • 必须支持各种屏幕尺寸和设备
  • 许多人仍在使用旧版本的Android操作系统(1.5),因此如果您想要进入该市场,您可能需要支持这些版本
  • SDK不像iPhone SDK那样精致
  • Android Market并不像iPhone App Store那样受欢迎 - 热门应用程序不会像$$$
  • 那么多

总而言之,从我认为的最好的开始,特别是现在Android正在取得进展。鉴于你的背景,我会说你应该选择Android。

答案 1 :(得分:6)

在我的诚实意见中 - 我看到iPhone SDK最近的变化是一个很大的问题。我是一个Adobe人,你会认为,无数的开发人员开始在CS5中构建应用程序对你的App Store来说会很棒吗?显然Apple不同意。

然而 - 如果您正在寻找曝光,如果您构建高质量的应用程序,将应用程序放入App Store将会产生更多结果。由于Android商店还没有立足(如果他们永远都是一个),所有营销都是你自己的。

我最近解散了Apple,因为它们迫使我们的开发者“成为他们”而且我不同意他们的精神。


也就是说,已经为两者编程了,Android安装起来有点琐碎,花了很长时间才能解决问题。虽然说明非常好,但示例也很明确。

如果你有一台Mac,那么安装iPhone SDK就是一个难题,你准备好构建应用程序了。它确实花费了50英镑的开发人员连接,是的android是免费的。 [更正 - 这可能需要花费25美元之一]

如果您正在构建一个前进的iPhone应用程序,您将需要连接(根据我的经验,这可能需要长达3周),因此您可以在iPhone上进行测试。

你肯定需要购买Mac。

-

使用Android,它的java,以及最新的版本,可以使用非常好的API。作为一个额外的奖励,它建立在Eclipse之上,所以你需要花几秒钟来了解最新情况。

-

作为一个最终的想法 - 作为一个Actionscript / JS开发人员,过渡到Java是一个合乎逻辑且简单的步骤(如果你不同意,请不要拍我)目标C是两种不同语言的火车残骸样式。我觉得非常困难。

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

答案 2 :(得分:5)

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

  1. Apple test&接受应用程序之前将它们放入AppStore(这需要时间和接受程度取决于Apple当前的政策) - Google似乎并不关心这一点。
  2. AppStore它是iPhone应用程序的唯一官方场所 - 在Android上,您可以从不安全源(即网站或电子邮件附件)安装应用程序 - 因此您可以通过各种方式为应用程序提供和收费

答案 3 :(得分:5)

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

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

一旦熟悉移动平台的开发,您就可以更好地了解构建其他人想要使用的应用程序所需的内容,甚至可能需要付费。此时,您可以从(b)的角度评估平台,并决定采用哪种平台。如果您最终购买mac并支付开发许可证,那么至少您将做出明智的决定。但首先要获得一些经验。

和你一样,我是一个c#dev。我已经为自己的娱乐做了一些Android开发,并且(为了它的价值)我的个人意见是它与iphone相比是一个更优越的平台,因为它更开放(技术和商业)。我相信Android很快就会与iphone达成共享,甚至超越它。

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

答案 4 :(得分:2)

MonoDroid for Android is in beta,这意味着您将能够使用C#编写Android应用程序。您可以在此处注册测试版。

iPhone正在变得越来越严格。 Android正在开放。 Android也提供比iPhone更多的手机。你决定了。

答案 5 :(得分:1)

看看this book,这是决定第3种方式的一个很好的参考... HTML,javascript&适用于iPhone和Android的CSS,基于webkit,使用jQTouchPhoneGap。你可以在第一章看到利弊。

答案 6 :(得分:0)

我建议你先从朋友手中购买最新的iPhone SDK和Mac,然后才能采取行动,除非对macmini(我在我的情况下所做的)最低600美元的投资并不打扰你。 您可以尝试安装GNUstep for Windows并弄乱Objective-C,而无需购买Mac来检查语言,但如果没有XCode和Interface Builder,SDK等,它就不一样了。 我说这个的原因是因为我正在学习iPhone课程而且只是学习Objective-C的学习曲线比我想象的还要大得多,并且比我照顾的时间要多得多。 与C#或Java不同,你必须手动跟踪内存管理,这真的很烦人,而且更不用说Cocoa Touch,它有点像.Net或Objective-C的Java类;另一个很大的学习曲线底线忽略了它是SmallTalk和C的混合这一事实并且看起来很糟糕如果你可以克服它仍然很难和你的程序崩溃。 忘记在Inteface Builder中正确连接你的outlook? 崩溃! 由于松散的类型检查,忘记使用@作为NSSTring? 崩溃! 我只是说你可能会更高效,并且实际上在你的业余时间完成应用程序,使用Android更熟悉的Java语言路由与Apple路由相比。此外,我不确定Android在整个MVC概念上有多大,但它在iPhone SDK中无处不在,因为Cocoa始终使用模型 - 视图 - 控制器(MVC)设计模式。 另一方面,如果你喜欢挑战或学习苹果路线是要走的路,如果你很好,你的应用程序会卖,你会赚钱。就像我说的那样,在你开始考虑销售下一个杀手级应用程序LOL之前,用iPhone学习还有很多东西。

P.S。哦,除非你想在iPhone / iPad模拟器上不起作用的实际硬件上进行测试,或者实际上将应用程序上传到商店,你不需要支付99美元的开发费用。

答案 7 :(得分:0)

如果您是C#开发人员,并且您正在寻求开始iOS开发,那么您应该自己阅读Josh Smith's iOS Programming for .NET Developers

这正是你要找的。