Phonegap和Sencha Touch之间的区别

我阅读了很多有关Phonegap和Sencha Touch的文档。 但我仍然与这两个混淆。

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

  • 从这两个使用哪个是最好的,为什么?

  • Phonegap和Sencha Touch有什么区别?

  • sencha touch和sencha touch 2有什么不同?

Phonegap和Sencha Touch有什么区别?

Sencha Touch是创build移动用户界面和相关数据build模,服务器通信和业务逻辑的完整而丰富的框架。 像Sencha ExtJS的桌面/平板电脑应用程序,你使用基于Javascript类的干净的MVCdevise编码大部分的应用程序。 HTML是由像汇编语言一样处理HTML的这些类生成的。 这将抽象出各种移动平台浏览器和浏览器版本之间的差异/缺陷/问题,从而使开发人员免受基于HTML的解决scheme所带来的大部分困难。 相反,开发人员组装更高级别的组件,提供诸如数据build模和集合绑定,拖放和UIanimation等function。 您还可以通过DOM元素重用在内部提供优化的DOM性能,同时获得平滑的滚动和自动数据预取潜在的无限数据收集。 这是可能的,因为你不再直接编码HTML或XML,而是JavaScript类为你创build/销毁/回收DOM元素。 您仍然可以使用HTML模板自定义组件。

ExtJS 5现在支持ViewModels(MVVM),所以它预计Sencha Touch 3.x也会。

您可以使用Sencha Touch来创build外观和感觉像移动应用程序的Web应用程序,或者您可以将它们编译为本机应用程序,该应用程序随附PhoneGap本机包装器或Sencha自带的本机包装器。 Sencha正在将自己的PhoneGap封装在自己的未来工作上,并提供了几个与PhoneGap API集成的设备相关的类,有时在PhoneGap未加载(例如在桌面浏览器中testing)时提供这些API的模拟。

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

PhoneGap团队已经着眼于未来,其中一些硬件API正在进入浏览器API,并试图遵循新兴的标准,以确保开发者尽可能顺利地过渡到这一趋势。

从这两个使用哪个是最好的,为什么?

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

您可以开发简单的PhoneGap应用程序,不依赖于任何其他框架,但今天大多数移动开发人员将使用PhoneGap与以下stream行的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还缺less许多其他function,包括与PhoneGap和新的Sencha Command构build系统集成。

Sencha Touch 2.x引入了一个新的更智能,更精简的类devise,最近被ExtJS 5.x完全采用。 ExtJS 5.x还带来了View Model(MVVMreplaceMVC),我们预计将会(尚未发布)Sencha Touch 3.x

如果您打算一起使用PhoneGap和Sencha Touch,那么您可能也对Sencha Touch Live感兴趣,我创build的免费的开源应用程序将显着提高您的工作效率。 使用单个命令,它可以在设备(或设备模拟器/模拟器)上创build,编译,部署和运行新的应用程序。 然后您可以“实时编辑”一个或多个设备/仿真器的Sencha Touch代码。 您只需保存该文件,然后将该应用程序重新加载到设备上。 它甚至可以自动编译你的SCCS文件到CCS中。 因此,您很less需要重新编译/重新部署/重新运行或重新启动debugging器,只需编辑并保存并立即在多个设备上查看结果即可。 与PhoneGap Developer App不同的是,它可以使用任何 PhoneGap插件。 其他酷function吨享受!

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

另一方面,PhoneGap是一个平台,允许您通过JavaScript界面​​使用移动设备function,如GPS,相机等。

总之,要使用这些技术创build应用程序,您需要在HTML5中实现devise和逻辑(如果您愿意,可以使用Sencha Touch),使用PhoneGap来使用设备function并将应用程序作为本机应用程序包装。

我想补充一点,在Sencha触摸它可能使用一些设备function。 目前我工作在构build到Android设备的networking应用程序,我正在使用相机( http://docs.sencha.com/touch/2-1/#!/api/Ext.device.Camera )。 它工作很酷。

PhoneGap其自身只是javascript和Devices之间的层,而且一般只有它的浏览器,你可以使用native javascript来操作DOM,或者你可以使用JqueryMobile之类的框架。

Sencha touch是带有真棒js层的HTML5框架。 你不需要使用任何外部框架来制作应用程序(但如果你确定你可以做到的话)。 另外从版本2他们支持本机构build到android,iOs和可能的黑莓(但在这里我不知道我只看到了几篇文章)。 在新的alpha版本中有winphone和IE10的编译器。

对于我的项目,我使用phonegap + jquery制作了一个小应用程序,但是我会说它看起来不是本地的,太慢了。 现在我已经重写了Sencha Touch,它真的很酷,因为我不能看到任何速度问题,我也有命令行来build立项目。 另一方面,我有一些小问题,一些如何在Prestigio设备上触摸不工作,所以我会调查,如果这个问题是在我的应用程序或Sencha触摸问题

哦,是的,对我来说是最重要的问题。 PhoneGap apk文件接近2mb,Sencha touch apk是600kb。 function是完全一样的。 更在sencha触摸我添加了一些文件:)

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

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

此外,jQuery的移动给你很大的灵活性,这可能并不总是一件好事

为什么不兼得 ? Phonegap /cordova不是UI框架PG /cordova之间的原生function和用户界面框架。 所以你可以一起使用Sencha和Phonegap