我阅读了许多有关Phonegap和Sencha Touch的文件。但我仍然对这两个感到困惑。
我已经创建了一个本机Android应用程序。现在,我想创建在多个设备上运行的相同应用程序。所以,我对这两个框架感到困惑。
这两个中最好用的是什么?为什么?
Phonegap和Sencha Touch有什么区别?
sencha touch和sencha touch之间有什么区别 2?
答案 0 :(得分:42)
Sencha Touch是一个HTML5移动框架。它将帮助您开发包含HTML,JavaScript和CSS的Web应用程序。还有更多类似的框架,比如jQuery Mobile或Lungojs。
另一方面,PhoneGap是一个平台,允许您通过JavaScript界面使用移动设备功能,如GPS,相机等。
总之,要使用这些技术创建应用程序,您将在HTML5中实现设计和逻辑(如果您愿意,使用Sencha Touch),将使用PhoneGap来利用设备功能并将应用程序包装为本机应用
答案 1 :(得分:38)
我想补充说,在Sencha触摸它可能使用一些设备功能。目前我正在使用构建到Android设备的web应用程序,我正在使用相机(http://docs.sencha.com/touch/2-1/#!/api/Ext.device.Camera)。它非常酷。
PhoneGap它的自我只是javascript和设备之间的层,通常是它唯一的浏览器,你可以使用原生的javascript来操作DOM,或者你可以使用JqueryMobile这样的框架。
Sencha touch是具有令人敬畏的js层的HTML5框架。您不需要使用任何外部框架来创建应用程序(但如果您确定可以这样做)。除了从版本2,他们支持原生到Android,iOs,可能还有黑莓(但在这里我不确定我只看到一些文章)。在新的alpha版本中有winphone和IE10的编译器。
对于我的项目,我使用phonegap + jquery制作了小应用程序,但我会说它看起来不是原生的,太慢了。现在我已经改写为Sencha Touch,它真的很酷,因为我无法看到任何速度问题,我也有命令行来构建项目。另一方面,我有一个小问题,一些如何在Prestigio设备上没有使用sencha触摸,所以我将调查这个问题是在我的应用程序或其Sencha触摸问题
哦,是的,这对我来说是最重要的问题。 PhoneGap apk文件在2mb附近,Sencha touch apk是600kb。功能完全相同。甚至在sencha touch中我添加了更多文件:)
答案 2 :(得分:27)
Phonegap和Sencha Touch有什么区别?
Sencha Touch 是一个完整而丰富的框架,用于创建移动用户界面和相关数据建模,服务器通信和业务逻辑。与用于桌面/平板电脑应用的Sencha ExtJS一样,您可以使用基于Javascript类的干净MVC设计对大部分应用进行编码。 HTML是由这些类生成的,它将HTML视为汇编语言。这抽象了各种移动平台浏览器和浏览器版本之间的差异/错误/ qwerks,从而使开发人员免于基于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 插件提供的,这些插件在每个OS平台上使用相同的Javascript接口重新实现。插件可能或可能不与这些硬件或其他操作系统功能集成(例如,条形码扫描插件使用Camera,而SQLite数据库引擎访问本地文件系统)。 PhoneGap附带了几个标准插件,但目前已注册了550多个Cordova plugins。
PhoneGap团队展望未来,其中一些硬件API正在进入浏览器API,并寻求遵循新兴标准,以确保随着这一趋势的出现,开发人员尽可能顺利过渡。
这两个中最好用的是什么?为什么?
希望您现在看到它们不是竞争对手,而是经常一起使用的互补技术。
您可以开发不依赖于任何其他框架的简单PhoneGap应用程序但是现在大多数移动开发人员将使用以下做之一的以下流行的javascript框架之一使用PhoneGap: AngularJS,Kendo UI,jQuery Mobile或Sencha Touch。
Cordova和PhoneGap有什么区别?
你没有问这个问题,但在这方面需要回答。最好的答案是here。
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还带来了View Models(MVVM取代MVC),我们期待它(尚待发布)Sencha Touch 3.x
如果您计划同时使用PhoneGap和Sencha Touch,您可能也会对我创建的免费开源应用Sencha Touch Live感兴趣,这将大大提高您的工作效率。使用单个命令,它可以在设备(或设备模拟器/模拟器)上创建,编译,部署和运行新应用程序。然后你就可以实时编辑" Sencha Touch代码一个或多个设备/模拟器。您只需保存文件,然后将应用程序重新加载到设备上即可。它甚至可以自动将SCCS文件编译为CCS。因此,您很少需要重新编译/重新部署/重新运行或重新启动调试器,只需编辑并保存并立即在多个设备上查看结果。与基于的PhoneGap Developer App不同,您可以使用任何的PhoneGap插件。享受其他很酷的功能!
答案 3 :(得分:9)
我们使用Phonegap和jQueryMobile进行了超过5个月的开发。为了给这个讨论增加一些价值,我不得不说Phonegap在iPhone 5和新的Android 4.x设备上没有速度问题,因为它们非常快。如果您定位iPhone 4和旧设备,您可能会感觉应用程序有点慢。那是真实的。但如果你不想进入Objective-C世界,如果为未来发展,Phonegap是一个非常真实的选择。但是不要忘记原生应用程序是真实的,其他框架也不一样......它们将非常接近。
答案 4 :(得分:0)
如果您是主要用于使用HTML,CSS和一些JavaScript构建网站的Web开发人员,您会发现jQuery Mobile比Sencha Touch更容易开发,因此开发速度更快。但如果你是一个喜欢“MVC方式”做事的专业JavaScript程序员,你会喜欢Sencha Touch。
此外,jquery mobile为您提供了很大的灵活性,这可能并不总是一件好事
答案 5 :(得分:0)
为什么不两者兼而有之? Phonegap / Cordova不是ui框架工作PG / Cordova介于本机功能和ui框架之间。所以你可以一起使用Sencha和Phonegap