【问题标题】:Long-term potential of iPhone/Windows Mobile development platformsiPhone/Windows Mobile 开发平台的长期潜力
【发布时间】:2010-10-02 07:59:59
【问题描述】:

在创建良好的全方位开发者生态系统(SDK、应用分发、货币化等)方面,Apple 似乎是迄今为止所有移动平台中走得最远的。但是,阅读之前关于移动开发的 SO 问题的 cmets(例如 thisthis),似乎会出现某些批评,例如:

  • Objective-C 虽然是一门不错的语言,但并未真正用于 Apple 产品之外。
  • 开发环境和工具与 Microsoft 提供的 Visual Studio 和 .NET 不匹配。

所以,我想知道 Apple 生态系统在长期(即 2-4 年)内的可行性。如果 Windows Mobile 7 手机(预计在一年左右发布)获得市场份额,iPhone 开发环境是否能够与 .NET + Visual Studio(加上微软推出的任何“App Store”类型的分发机制)竞争)?从我读到的有关 iPhone 开发的文章来看,我的印象是,我们可能会看到开发人员逐渐流失到 Windows Mobile,因为大多数人更愿意使用 Microsoft 的工具套件进行开发。

对于使用过这两种平台的开发者,您对这个话题有什么印象? iPhone 平台是否具有超越其拥有更多市场份额的初始优势的长期生存能力(相对于 Windows Mobile)?

==

编辑:关于 App Store 优势的公平点。但我对这两个平台的长期潜力感到好奇,微软推出自己的应用商店(例如 SkyMarket)似乎只是时间问题,这使得安装就像在 iPhone 上一样简单。 (虽然 iPhone 的应用商店可能会占上风,因为它先来。)

【问题讨论】:

    标签: .net iphone windows-mobile


    【解决方案1】:

    “如果 Windows Mobile 7 手机(预计在一年左右发布)获得市场份额...我们可能会看到开发人员逐渐流失到 Windows Mobile,因为大多数人更愿意使用 Microsoft 的工具套件进行开发。”

    让我们假设 VS 和 CLR 提供了更好的编程体验。即便如此,对 WM 的“逐渐减员”是否会发生也完全不清楚。 “编程经验”只是开发者会面临的因素之一;现有的市场份额和认知是另一回事(想想亚马逊和 eBay,或者就此而言,iTunes 的 MP3 商店)。

    您所说的“长期”是 2-4 年。到时候,WM7 有机会获得比苹果更大的市场份额吗?不现实。

    即使我们将您的时间框架放得更远,面对 WM7 的卓越编程体验,iPhone 开发是否会在 4 年内崩溃? MS 有什么可以想象成为对抗 iPhone 的平台杀手? C# 4、DLR、VS2K10?这些都不够。可能(可能)能做到的是 Azure。

    但我认为,如果你认为 Azure 是 iPhone 平台的杀手,那么你必须同样关注 Google / Android。

    所有这些都是说,从风险管理的角度来看,风险最小的选择显然是 iPhone。如果您想降低出错的风险,请充分考虑您的 Cocoa 程序,以便您可以在例如 C# 中重新实现它们。

    【讨论】:

    • 有趣的回复; +1。但是 Azure 将如何扮演 iPhone 平台杀手的角色呢?
    • +1 - 非常正确。我认为开放平台之一将在未来几年内成功崛起,问题是它是Android还是WM7......
    • ...据说,或者一些未知数。
    【解决方案2】:

    我不认为 Windows Mobile 是 iPhone 的竞争对手。据我所知,对于面向消费者的应用程序,开发人员现在应该考虑四个平台:

    • iPhone
    • 黑莓(带有新的App Store
    • Palm Pré(将获得 App Store)
    • Android(将为付费应用提供 App Store)

    其他一切都是非实体。 Symbian 和 Windows Mobile 可能会再次变得相关,但截至今天,它们不再相关。这些设备上的软件没有健康的市场,我不清楚大部分决定购买 Windows Mobile 手机的人是否关心第三方软件。

    至于工具和语言,差异是微不足道的。这不是问题。开发者不会因为不喜欢这些工具或语言而放弃 iPhone 这样的市场。

    更重要的是,Xcode 已经足够好(有些人更喜欢它而不是 Visual Studio - 我当然认为它的某些方面比他们的 Visual Studio 对应物更好),如果你了解 Java、C++ 或 C#,你会学到Objective-C 最多一周内。它基本上是两个或三个新概念,语法和引用计数略有不同。如果您已经了解一些面向对象的语言,那么学习 Objective-C 是没有问题的,如果您不了解,这也是学习一些新想法和概念的好借口。

    真正的区别在于库,与 .Net 库相比,我个人更喜欢 Cocoa,后者通常需要您调用 .Net 之前的 API。

    也许四年后,一切都会有所不同。也许诺基亚会彻底修复 Symbian 并接管智能手机市场。谁知道?你必须利用我们今天拥有的东西:-)

    所以我的观点是:

    • 在 Windows Mobile 真正开始成为第三方应用程序的可行平台之前,请忽略它
    • 相反,看看 Pré、iPhone、Blackberries 和 Android 手机
    • Objective-C 只是一种编程语言。想太多也没有意义。任何程序员都可以在一周内学会它
    • Xcode 有它的弱点,但它也有它的长处,并不比 Visual Studio 差
    • 可可很棒
    • 四年很长,谁也不知道到时候会发生什么

    为 iPhone 编程非常有趣,如果您从未涉足过 .Net 世界,您会学到很多新东西。只需拿起一本好书,留出一个周末,设定一个小目标(比如一个小游戏,或者一个待办事项应用程序,或类似的东西),然后开始编码。即使你不喜欢 Xcode,即使你最终没有编写任何 iPhone 应用程序,你也会成为一个更好的程序员。

    如果 Symbian确实赢了,学习为 iPhone 编写代码的经验至少会教会你如何在新平台上启动和运行 :-)

    【讨论】:

      【解决方案3】:

      如果您编写的电话软件就像是桌面软件一样,那您就大错特错了。 Palm 曾经有一些关于如何为他们的掌上电脑进行开发的很好的指导方针,这些建议同样适用于手机。

      由于您将不得不进入不同的心态,因此使用稍微不同的语言和不同的工具不会成为大问题。事实上,不同的开发环境可能会帮助您保持不同的心态。

      【讨论】:

      • 事实上,从消费者的角度来看,这是 Windows Mobile 面临的主要问题之一——他们试图让它尽可能像桌面,这使得手机非常糟糕。许多/大多数应用程序都有相同的问题。
      【解决方案4】:

      这真的非常主观,因为我们都没有水晶球。十年来我一直在做移动和嵌入式开发,几乎所有的东西我都玩过(你忽略了 Symbian 或 RIM,而且曾几何时 Palm 也是一个主要参与者)。

      我对过去几年微软的移动“战略”感到非常失望——他们似乎只关注企业应用程序和开发人员。然而,他们在创建一流工具方面做得很好,而且 Compact Framework 是我见过的从 Redmond 运出的最可靠的产品之一(v1 诚然是有限的,但对于 v1 来说它非常可靠,从无到有交付)。

      iPhone 似乎正在利用这一点,并在消费领域大力击败微软。但你不能真的指望微软(或任何代替他们的企业)在激烈的竞争面前会坐以待毙。我确信他们已经计划好了(尽管我也不知道该计划是什么)。恢复就够了吗?谁知道呢。

      iPhone 就是它所吹捧的一切吗?好吧,我认为它并不像某些人认为的那样开放。你能写的东西是有限的,你销售和分发的方式是有限的。您可以使用的工具和可以运行的目标硬件受到限制。不是最好的环境。但同样,面对可能来自 MS、RIM 甚至谷歌的竞争,他们会保持这种状态吗?很难说,但我敢打赌这不太可能。

      那么谁会赢呢?我不会对他们中的任何一个承担风险。我们已经在硬件和学习以及微软的技术上投入了大量资金,所以我们不太可能放弃它。尽管如此,我们已经为 iPhone 工作做了一些工作和工作竞标,因为如果我们把所有的鸡蛋都放在一个篮子里,那就太傻了。

      【讨论】:

        【解决方案5】:

        有趣的是,开发平台的生存能力真的次于交付平台的生存能力。

        如果您可以使用该平台制作的产品没有市场,那么世界上最好的开发平台几乎一文不值。

        iPhone/iPod touch 是一种孤立的“专有”产品,但同时它的销量也很多。更重要的是,它向喜欢从 App Store 购买东西的人销售产品。对于许多用户来说,App Store 是一个引人注目的卖点。

        因此,基本上,开发平台的生存能力与平台本身的生存能力密切相关。

        【讨论】:

          【解决方案6】:

          您错过了 Apple 工具集 IMO 的重点。

          VisualStudio 可能有一个很好的工具集,但 Apple 的工具集已经足够好(而且非常棒,IMO),已经支持了超过 500,000,000 次下载的 15K 应用程序。我会说这对未来来说是个好兆头。

          iPhone 的杀手级应用是 AppStore。这是在手机上获取应用程序的唯一方式,并且不在运营商控制系统之外。例如,尝试在 Verizon 手机上安装一个应用程序,您很快就会发现控制对无线运营商意味着什么。

          Discovery 是基于网络的,因此您可以向某人发送应用程序的链接,当他们加载该链接时,该链接会转到他们可以安装该应用程序的页面。简洁大方。

          Objective-C 的语言怪癖是红鲱鱼。任何有能力的开发人员都会在几周内赶上进度。 Cocoa 是一个令人难以置信的框架。

          另外,不要低估控制硬件规格的力量。苹果对硬件规范的控制对开发人员来说是一个福音,因为他们可以指望事情不会变得复杂和分散,因为尽可能完全地交付不符合 iPhone SDK 规范的手机不符合苹果的利益。当 OEM 制造符合 Windows Mobile 规范的硬件时,总会有对规范的“解释”,这意味着开发人员只能在手机 a 和手机 b 之间夹手而立,为什么我的应用程序在两者上的运行方式不同?

          这是移动设备中一个经常被忽视的重要点。如果硬件规范没有一个所有者,它很容易变成“一次编写,到处调试”。

          【讨论】:

          • Apple 对硬件的控制对 Apple 来说也是一个福音,因为它很多更容易测试和验证几个平台,而不是由第三方开发的几十个平台。这允许更快的操作系统周期和平台刷新时间,使平台更加灵活。
          • 我会将其修改为“一次编写,到处调试,永远”,因为即使您在发货前在每台设备上进行测试,您也几乎总能数数在新设备上运送您的软件会以某种方式导致您的应用程序崩溃。
          • 我会添加界面元素的一致性。大多数基于数据的应用程序在使用默认对象时看起来和感觉都非常棒,甚至高度自定义的表格和单元格也以可预测的方式运行。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-01-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多