我应该使用 Sencha Touch 还是 Native 来编写我的应用程序? [关闭]

Posted

技术标签:

【中文标题】我应该使用 Sencha Touch 还是 Native 来编写我的应用程序? [关闭]【英文标题】:Should I write my app with Sencha Touch or Native? [closed] 【发布时间】:2011-02-04 21:53:22 【问题描述】:

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

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

有什么好处和坏处?

编辑:

感谢您的深刻见解。我的一位合作伙伴在周末写下了他们的意见,其中包含一些未在此处提及的想法:Web vs Native: How Should You Write Your App?

【问题讨论】:

为什么我会对此投反对票?也许有人是真正的土生土长的顽固分子...... 【参考方案1】:

优点:

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

缺点:

对于任何基于 Web 的触摸框架,滚动仍然感觉不太对劲。 较慢(硬件加速的 CSS 动画有所帮助,但不如 Core Animation 灵活)。 缺乏对本机硬件和操作系统集成的完全访问权限(PhoneGap 提供了一些,但不是全部),例如: 推送通知。 本地通知。 后台位置更新(包括重要的位置监控)。 这值得商榷,但我认为 Cocoa Touch 比 javascript + Sencha/XUI/etc 更容易开发。

【讨论】:

【参考方案2】:

导致您自己回答的问题:

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

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

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

【讨论】:

【参考方案3】: 优点:无 缺点:它永远不会像 本机应用程序。你依赖于一个 API 那不是你的,例如。你所有的应用 一旦他们停止将无用 维护他们的 API。

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

【讨论】:

当然,在安卓设备上运行你的 iPhone 应用程序的能力不是专业的...... @ckuetbach:不,不是。两种操作系统都有不同的理念。就像说 pro Qt 可以让 Windows 程序在 Mac 上运行一样。当然会,但想吐可不是什么好感觉。 @ckuetbach: Brechreiz wäre das passende Wort, was auch immer das jetzt auf Englisch ist.【参考方案4】:

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

【讨论】:

以上是关于我应该使用 Sencha Touch 还是 Native 来编写我的应用程序? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Sencha Touch 2如何清理资源

Sencha Touch:点击面具事件

将 Sencha Touch 1.X 升级到 Sencha Touch 2.X

Sencha Touch 和 ExtJS

在 Sencha Touch 2 中屏蔽 Flash 内容

Sencha Touch 应用部署到 iPhone 和 Android