我应该用Sencha Touch或Native编写我的应用程序吗?

随着最近Sencha Touch的更新,它越来越像iPhone和iPad的原生应用程序。 目前还有很多不同之处,而且文件有点欠缺。

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

优缺点都有什么?

编辑:

感谢您的洞察力。 我的一个合作伙伴在周末写下了他们的观点,并提出了一些在这里没有提到的想法: Web vs Native:你应该怎么写你的应用程序?

优点:

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

缺点:

  • 使用任何基于networking的触摸框架,滚动仍然不太合适。
  • 较慢(硬件加速的CSSanimation有所帮助,但并不像Core Animation那么灵活)。
  • 缺乏对原生硬件和OS集成的全面访问(PhoneGap提供了一些,但不是全部),例如:
    • 推送通知。
    • 本地通知。
    • 后台位置更新(包括重要的位置监控)。
  • 这是值得商榷的,但在我看来,Cocoa Touch比JavaScript + Sencha / XUI /等更易于开发。

导致你自己的答案的问题:

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

你介意你的JavaScript源代码在每个客户的.ipa文件中可见的未encryption吗?

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

  • 优点:无
  • 缺点:它永远不会像原生应用程序那样原生。 你依赖于一个不属于你的API,例如。 一旦他们停止维护他们的API,所有的应用程序将是无用的。

但是,如果你没有经验,只需要制作一个短期应用程序(即将推出的电影宣传等),这将是完美的,因为它会节省您的时间。 但是,如果您想要一个具有更长生命周期的应用程序,请使用本机。

忘记比较这些框架与本地应用程序的细节,本地将永远胜利。 如果您的应用程序需要在“多个”平台上运行,那么最好使用PhoneGap和一个JavaScript框架。 这些框架将需要一段时间才能成熟,所以你必须弄清楚你现在可以做些什么。 PhoneGap也是开源的,所以如果你想公开的东西是本地的,贡献于项目。