【问题标题】:Developing for iPhone or Android? (As a C# developer) [closed]为 iPhone 或 Android 开发? (作为 C# 开发人员)[关闭]
【发布时间】:2010-05-20 08:32:51
【问题描述】:

我想在业余时间开始为 iPhone 或 Android 开发,作为学习新事物的机会,同时也希望获得一些额外的收入。

我不确定哪个是最适合我开始开发的开发。我拥有一部 iPhone,但我没有 Mac(我需要使用 SDK),而且对于 iPhone,我相信开发它需要支付年度费用。

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

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

我认为 iPhone 的另一个不利因素是它的 App Store 更加拥挤,我认为应用在 Android 上的曝光率更高?

【问题讨论】:

标签: iphone android


【解决方案1】:

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

iPhone - 不错

  • 很棒的 SDK 并开始使用 Xcode,效果非常棒
  • 在线记录良好(许多教程)
  • 大量部署的设备
  • 成熟的应用商店
  • 开始学习 Objective(我觉得它是一种有趣的语言)
  • 大多数人倾向于升级他们的 iPhone 操作系统,这样您就可以摆脱只为最新最好的开发工作

iPhone -

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

Android -

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

Android - 糟糕

  • 必须支持各种屏幕尺寸和设备
  • 许多人仍在使用旧版本的 Android OS (1.5),因此如果您想进入该市场,您可能必须支持这些人
  • SDK 不如 iPhone SDK 完善
  • Android 电子市场不如 iPhone App Store 受欢迎 - 热门应用赚不到多少美元

总而言之,从我认为合适的开始,尤其是现在 Android 正在取得进展。鉴于您的背景,我会说您应该选择 Android。

【讨论】:

  • “可以在 Android 上进行多任务处理” - 您现在可以在 iPhone 4 上执行此操作。
  • 经过深思熟虑的答案,我同意你对 Android 的最终投票。
  • 我不同意 XCode 的摇摆。它的“数百万顶级窗口”方法在 30 英寸显示器上可能几乎可以接受,但我无法原谅文本编辑器中的所有错误。
  • “Android Market 不如 iPhone App Store 受欢迎” - 在美国和英国,Android 手机数量超过 iPhone。很快就会占领世界。
【解决方案2】:

老实说,我认为 iPhone SDK 的最新变化让人眼前一亮。我是 Adob​​e 人员,您会假设,无限数量的开发人员开始在 CS5 中构建应用程序对您来说 App Store 会很棒吗?显然苹果不同意。

但是 - 如果您正在寻找曝光率,那么如果您构建了一个优质的应用程序,那么将应用程序放入 App Store 将会产生更多的结果。由于 Android 商店还没有站稳脚跟(如果他们能站稳脚跟的话),所有的营销都在你自己的头上。

我最近解散了 Apple,因为他们强迫我们的开发人员“成为他们”,我不同意他们的精神。


也就是说,在为两者都编程后,Android 安装起来有点棘手,并且需要很长时间才能自行解决。虽然说明非常好,示例定义明确。

如果您有 Mac,安装 iPhone SDK 是一件轻而易举的事,您就可以开始构建应用程序了。开发者连接的费用为 50 英镑,是的,android 是免费的。 [更正 - 这可能需要 25 美元的费用]

如果您正在构建一个面向狂野的 iPhone 应用程序,您将需要连接(根据我的经验,这可能需要长达 3 周的时间),以便您可以在您的 iPhone 上对其进行测试。

而且您肯定需要购买 Mac。

--

使用 Android、它的 java 和最新版本,这是一个非常好的 API。作为额外的好处,它基于 Eclipse 构建,因此您只需几秒钟即可了解发生了什么。

--

作为最后的想法 - 作为一名 Actionscript/JS 开发人员,向 Java 的过渡是一个合乎逻辑且简单的步骤,并且(如果您不同意,请不要向我开枪)Objective C 是两种不同语言的火车残骸样式。我发现它非常非常困难。

但不要只相信我的话,一定要同时尝试它们,因为我认为 Android 新兴市场现在只是一座冰山,但苹果已经建立。

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

    • 有趣的是,我认为这两个都是优势 :)
    • 如果 Apple 只是因为不安全或不安全而拒绝了应用程序,那么这两件事就不会太糟糕了(尽管仍然很糟糕)。
    【解决方案4】:

    您说您想 (a) 学习新知识并 (b) 赚取额外收入。

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

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

    和你一样,我是一名 c# 开发人员。我已经为自己的娱乐做了一些 Android 开发,而且(就其价值而言)我个人认为,与 iphone 相比,它是一个更优越的平台,因为它更开放(技术和商业上)。我相信 Android 很快就会与 iphone 平起平坐,甚至超越 iphone。

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

    【讨论】:

      【解决方案5】:

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

      iPhone 的限制越来越多。安卓正在开放。 Android 的手机出货量也比 iPhone 多。由你决定。

      【讨论】:

        【解决方案6】:

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

        【讨论】:

          【解决方案7】:

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

          附言哦,除非您想在 iPhone/iPad 模拟器中无法运行的实际硬件上测试某些东西,或者实际上将应用上传到商店,否则您无需支付 99 美元的开发费用。

          【讨论】:

            【解决方案8】:

            如果您是 C# 开发人员,并且希望开始 iOS 开发,那么您应该阅读Josh Smith's iOS Programming for .NET Developers

            这正是您要找的。​​p>

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2022-01-23
              • 2011-10-08
              • 2011-01-10
              • 1970-01-01
              • 2016-10-18
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多