11

随着 Sencha Touch 最近的更新,它看起来越来越像 iPhone 甚至 iPad 的原生应用程序。仍然存在许多差异,目前文档有点缺乏。

我的问题是,鉴于我已经完全有能力在 Objective C 中创建原生应用程序,我应该切换到 Sencha Touch 和 PhoneGap,还是开始集成这些工具?

优缺点都有什么?

编辑:

感谢您的深刻见解。我的一位合作伙伴在周末写下了他们的意见,其中包含一些此处未提及的想法:Web vs Native:您应该如何编写您的应用程序?

4

4 回答 4

13

优点:

  • 更容易移植到其他平台。
  • 如果应用程序不需要任何本机 API,您可以在 App Store 之外分发。

缺点:

  • 对于任何基于 Web 的触摸框架,滚动仍然感觉不太对劲。
  • 更慢(硬件加速的 CSS 动画有帮助,但它不如 Core Animation 灵活)。
  • 缺乏对本机硬件和操作系统集成的完全访问权限(PhoneGap 提供了一些,但不是全部),例如:
    • 推送通知。
    • 本地通知。
    • 后台位置更新(包括重要的位置监控)。
  • 这是有争议的,但在我看来,Cocoa Touch 比 JavaScript + Sencha/XUI/etc 更容易开发。
于 2011-02-04T22:01:52.263 回答
5

导致您自己回答的问题:

您需要原生 ARM 应用程序的原始性能吗?还是您需要一个仅适用于 Objective C 的 API?(例如,用于实时音频合成等)您想使用 Apple 最新的 API,而无需等待某些工具或库供应商吗?

您介意您的 javascript 源代码在每个客户的 .ipa 文件中都是可见的未加密吗?

或者您想轻松地移植一个更简单的跨平台应用程序?

于 2011-02-04T22:02:54.090 回答
3
  • 优点:无
  • 缺点:它永远不会像原生应用程序那样原生。你依赖于一个不属于你的 API,例如。一旦停止维护 API,您的所有应用程序都将毫无用处。

但是,如果您没有经验并且只需要为短期活动(即将上映的电影宣传等)制作一个应用程序,这将是完美的,因为它可以节省您的时间。但是好吧,如果你想要一个生命周期更长的应用程序,那就去原生吧。

于 2011-02-04T21:58:48.140 回答
3

忘记将这些框架与原生应用程序进行比较的细节,原生总是会赢。如果您的应用程序需要在“多个”平台上运行,那么您最好使用 PhoneGap 和 javascript 框架。这些框架需要一段时间才能成熟,所以你必须弄清楚你是否可以接受它们现在提供的东西。PhoneGap 也是开源的,所以如果您想公开一些原生的东西,请为该项目做出贡献。

于 2011-02-05T17:06:48.247 回答