58

我阅读了很多关于 Phonegap 和 Sencha Touch 的文档。但是我仍然对这两个感到困惑。

我已经创建了一个原生 android 应用程序。现在,我想创建在多个设备上运行的相同应用程序。所以,我对这两个框架感到困惑。

  • 这两个中哪个是最好的,为什么?

  • Phonegap 和 Sencha Touch 有什么区别?

  • sencha touch 和 sencha touch 2 有什么区别?

4

6 回答 6

42

Sencha Touch 是一个 HTML5 移动框架。它将帮助您使用 HTML、JavaScript 和 CSS 开发 Web 应用程序。还有更多类似的框架,例如 jQuery Mobile 或 Lungojs。

另一方面,PhoneGap 是一个平台,允许您通过 JavaScript 接口使用移动设备功能,例如 GPS、相机等。

总之,要使用这些技术创建应用程序,您将在 HTML5 中实现设计和逻辑(如果您愿意,可以使用 Sencha Touch),将使用 PhoneGap 来利用设备功能并将应用程序包装为原生应用程序。

于 2013-02-01T10:00:51.100 回答
38

我想在 Sencha touch 中补充一点,它可以使用一些设备功能。目前我正在开发构建到 android 设备的网络应用程序,并且我正在使用相机(http://docs.sencha.com/touch/2-1/#!/api/Ext.device.Camera)。它工作得非常酷。

PhoneGap本身只是javascript和Devices之间的一层,一般是它唯一的浏览器,可以使用原生javascript操作DOM,也可以使用JqueryMobile等框架。

Sencha touch 是一个带有很棒的 js 层的 HTML5 框架。您不需要使用任何外部框架来制作应用程序(但如果您想确定可以这样做)。此外,从第 2 版开始,它们支持原生构建到 android、iOs,可能还有黑莓(但在这里我不确定我只看到了几篇文章)。在新的 alpha 版本中,有 winphone 和 IE10 的编译器。

对于我的项目,我使用 phonegap + jquery 制作了小应用程序,但我会说它看起来不像原生的,太慢了。现在我已经重写了 Sencha Touch,它真的很酷,因为我看不到任何速度问题,而且我有命令行来构建项目。另一方面,我有一个小问题,即 sencha touch 无法在 Prestigio 设备上运行,因此我将调查此问题是否在我的应用程序中或其 Sencha 触摸问题

哦,是的,对我来说最重要的问题。PhoneGap apk 文件接近 2mb,Sencha touch apk 为 600kb。功能完全一样。甚至在 sencha touch 中,我添加了更多文件 :)

于 2013-02-01T11:31:45.207 回答
27

Phonegap 和 Sencha Touch 有什么区别?

煎茶触摸是一个完整而丰富的框架,用于创建移动用户界面和相关的数据建模、服务器通信和业务逻辑。与桌面/平板应用程序的 Sencha ExtJS 一样,您使用基于 Javascript 类的干净 MVC 设计来编写大部分应用程序。HTML 由这些将 HTML 视为汇编语言的类生成。这抽象了各种移动平台浏览器和浏览器版本之间的差异/错误/qwerk,从而使开发人员免于基于 HTML 的解决方案所表现出的大部分痛苦。相反,开发人员组装了提供数据建模和集合绑定、拖放和 UI 动画等功能的更高级别的组件。您还可以平滑滚动和自动预取潜在无限数据集合的数据,同时通过 DOM 元素重用在内部提供优化的 DOM 性能。这之所以成为可能,是因为您不再直接编写 HTML 或 XML 代码,而是 Javascript 类为您创建/销毁/回收 DOM 元素。您仍然可以使用 HTML 模板自定义组件。

ExtJS 5 现在支持 ViewModels (MVVM),因此预计 Sencha Touch 3.x 也将支持。

您可以使用 Sencha Touch 创建外观和感觉类似于移动应用程序的 Web 应用程序,或者您可以将它们编译成原生应用程序,这些应用程序附带 PhoneGap 原生包装器或 Sencha 自己的原生包装器。Sencha 将未来的工作重点放在PhoneGap 本地包装器上,它提供了几个与PhoneGap API 集成的设备相关类,有时在PhoneGap 未加载时提供这些API 的模拟(例如在桌面浏览器中进行测试)。

PhoneGap为 Javascript 代码调用原生设备功能(如数字罗盘、麦克风、相机、电池、设备功能/状态、文件系统等)提供了一个桥梁。这些是通过 PhoneGap插件提供的,这些插件在每个操作系统平台上使用相同的 Javascript 接口重新实现。插件可能会或可能不会与这些硬件或其他操作系统功能集成(例如,条形码扫描插件使用相机,而 SQLite 数据库引擎访问本地文件系统)。PhoneGap 附带了几个标准插件,但目前注册了 550 多个Cordova 插件

PhoneGap 团队展望了未来,其中一些硬件 API 正在进入浏览器 API,并寻求遵循新兴标准,以确保随着这种趋势的出现,开发人员尽可能顺利地过渡。

这两个中哪个是最好的,为什么?

希望您现在会看到它们不是相互竞争,而是经常一起使用的互补技术。

您可以开发不依赖任何其他框架的简单 PhoneGap 应用程序,但今天大多数移动开发人员会将 PhoneGap 与以下流行的相互竞争的 JavaScript 框架之一一起使用:AngularJS、Kendo UI、jQuery Mobile 或 Sencha Touch

Cordova 和 PhoneGap 有什么区别?

你没有问这个,但它需要在这种情况下回答。最好的答案在这里

Sencha Touch 和 Sencha Touch 2 有什么区别?

最初的 Sencha Touch 1.x 和 Sencha ExtJS 4.1 现在都已弃用,但都使用了早期的 Javascript 类模型。Sencha Touch 1.x 还缺少许多其他功能,包括与 PhoneGap 的集成和新的 Sencha Command 构建系统。

Sencha Touch 2.x 引入了一种新的更智能、更精简的类设计,最近被 ExtJS 5.x 完全采用。ExtJS 5.x 还带来了我们预计将出现在(尚未发布)Sencha Touch 3.x 中的 View Models(MVVM 代替 MVC)

如果您打算同时使用 PhoneGap 和 Sencha Touch,您可能还会对Sencha Touch Live感兴趣,这是我创建的一个免费开源应用程序,它将显着提高您的工作效率。只需一条命令,它就可以在设备(或设备模拟器/模拟器)上创建、编译、部署和运行新应用程序。然后,您可以“实时编辑” Sencha Touch 代码一个或多个设备/模拟器。您只需保存文件,它就会将应用程序重新加载到设备上。它甚至会自动将您的 SCCS 文件编译成 CCS。因此,您很少需要重新编译/重新部署/重新运行或重新启动调试器,只需编辑并保存并立即在多个设备上查看结果。与它所基于的 PhoneGap Developer App 不同,您可以使用任何PhoneGap 插件。大量其他很酷的功能供您享用!

于 2014-09-12T07:47:44.607 回答
9

我们已经使用 Phonegap 和 jQueryMobile 进行了 5 个多月的开发。为了给这个讨论增加一些价值,我不得不说 Phonegap 在 iPhone 5 和新的 Android 4.x 设备上没有速度问题,因为它们非常快。如果您针对 iPhone 4 和旧设备,您可能会觉得应用程序有点慢。那是真实的。但是如果为未来开发,如果你不想进入 Objective-C 世界,Phonegap 是一个真正的选择。但不要忘记原生应用程序是真实的,其他框架不会相同......它们将非常接近。

于 2013-05-22T12:15:18.177 回答
0

如果您是一个主要习惯于使用 HTML、CSS 和一些 JavaScript 构建网站的 Web 开发人员,您会发现 jQuery Mobile 比 Sencha Touch 更容易开发,因此开发速度更快。但如果你是一个专业的 JavaScript 程序员,喜欢“MVC 方式”做事,你会喜欢 Sencha Touch。

此外,jquery mobile 为您提供了很大的灵活性,这可能并不总是一件好事

于 2013-02-14T11:30:10.537 回答
0

为什么不兼得 ?Phonegap/Cordova 不是 ui 框架 PG/Cordova 介于原生函数和 ui 框架之间。所以你可以一起使用 Sencha 和 Phonegap

于 2014-04-23T13:45:34.160 回答