Sencha Touch还是jQuery Mobile?[关闭]


69

我想知道是否要开发一个移动Web应用程序(现在是两周还是一个月),我应该选择哪一个?您的移动Web开发人员会选哪个?

如果jQM 1.0今天正式发布,我很可能会接受它(只要它确实实现了它的承诺)。现在它处于Alpha状态,我想知道对于商业级项目是否值得加入?Sencha Touch会是更好的选择吗?


1
它不完全是重复的,但感谢您的指导。
威廉·纽

1
威廉在stackoverflow上有很多超人,他们在不理解开发人员问题的情况下将问题标记为重复的下投答案
Ashisha Nautiyal 2014年

Answers:


23

我已经使用jQuery mobile已有一段时间了。它在Blackberry 6,iPhone和Android上都能很好地工作。

我在这里写了一篇关于它的文章:jQuery mobile alpha

尽管它是Alpha版,但它们显示出良好的进步。我一直在github中研究他们的开发,看来到2011年初将会有很酷的东西。

UPDATE 2011-12-01 jQuery Mobile推出了1.0版,终于脱离了alpha版本。在此处了解更多信息:http : //jquerymobile.com/blog/2011/11/16/announcing-jquery-mobile-1-0/


7
只是为了补充这一点,我也一直在使用jQuery mobile(2个应用程序)。太棒了 但是,在我的Android HTC magic上,它的运行不如sencha touch流畅。这让我怀疑在速度较慢的设备上,jQuery mobile还没有准备好。差异很大,我正在切换到
sencha

1
同意!与Sencha相比,JQM的表现不佳。学习起来要复杂得多,但值得每一秒钟。
neoswf 2011年

1
是的,Olivier,以我的经验,ST2比JQM轻得多,功能丰富且强大。
里卡多

65

Sencha Touch是一个应用程序框架(您可以通过Java编程地创建界面),而jQuery Mobile则是一个移动增强库(您可以为内容编写常规的HTML,然后为过渡/动画添加jQuery mobile)。jQuery Mobile具有更轻松的学习曲线,但是Sencha Touch可以更好地模拟“本机”应用程序。


41

您需要问自己的第一个问题是应用程序的目的是什么。如果要在零售商店之一(iTunes,Andoid App Store)上发布销售应用程序,或者需要访问尚无法通过本地API访问的设备特定功能(加速度计,相机,通讯录等),则可以应该考虑使用Native或混合解决方案之一(Appcelerator,PhoneGap等)。

如果您的听众将更多地在“移动Web”领域,例如公司Web桌面站点的移动版本或Intranet Web应用程序端口,那么您应该考虑使用Sencha Touch和jQuery Mobile。这两者之间的决定实际上将取决于您的开发经验以及您感到更满意的内容。Sencha Touch是一个非常强大的平台,具有相互镜像的桌面(ExtJS)和移动设备(Sencha Touch),因此,您可以非常了解其中的一个,从而可以与其他人一起启动和运行。另外,Sencha已在客户端上转换为MVC模型,这确实有助于组织客户端代码并使之与服务器端开发平台更加一致。

上面的帖子实际上是不正确的,将客户端上的MVC模式与调度命令上的historyUrl结合使用,使您能够使用浏览器的浏览器后退和前进按钮,因此这并非jQuery Mobile所独有。另外,Sencha团队的产品套件包括一个Designer应用程序,该应用程序提供Designer,该Designer是一个WYSIWYG编辑器,允许拖放UI的创建。该公司的路线图正在更新Designer应用程序的过程中,以允许拖放式触摸屏和可与MVC模式一起使用的应用程序的拖放设计。他们还准备发布新版本的Sencha Command工具,它将在几分钟内自动为您生成完整的MVC应用程序结构,然后您可以添加必要的自定义代码来完善您的应用程序。最后,新的SASS主题功能允许设计人员使用CSS3和SASS配置文件以及变量和Mixins为您的应用程序生成跨浏览器的CSS样式表。

因此,选择哪种方式解决移动Web开发问题取决于您对面向对象javascript的适应程度。如果您对此感到非常满意,那么可以使用Sencha Touch,因为它是内置在核心引擎中的非常可扩展的类系统,可以根据您的喜好进行自定义...但是,如果您对JS的经验很少,并且您想要服务器来交付您的UI,而不必介意地址栏下拉菜单在页面之间移动(看起来不像Web 2.0),那么jQueryMobile是必经之路。

很明显,我对Sencha Touch抱有偏见,这是因为它具有深思熟虑的类结构,可扩展性,非常活跃的用户社区,Web /移动连续性以及不断改进的核心框架和简化开发工作的新工具。更不用说,由于jQM尚未进入生产模式,Touch平台更加成熟。


2
关于Sencha Touch的一件事是它很大(主要文件大小大于350kb sencha-touch.js,缩小后未压缩)。我不知道它是否需要在dev中添加更多文件。IMO,除非带宽和速度成为移动设备的瓶颈,否则这种大小是不可接受的。
牛纽

2
好吧,考虑的过程是先交付应用程序框架,然后发出XHR请求以从服务器检索小得多的信息,例如XML或JSON数据。因此,虽然正确无误,但初始加载时间比JQM大一些,但是您可以在ajax页面请求期间进行弥补,而不必为其他框架中的许多页面都去服务器获取完整页面。只要您能为用户提供足够的加载指示符,大多数人都愿意等待优越的应用程序内页面性能和用户界面小部件带来的好处。
user576929 2011年

1
@ user576929:感谢您的解释!您提出了一个有效的观点。如果该Web应用程序可以被用户视为本机应用程序的替代品,则下载量实际上很小。但是,假设是用户需要具有这种心态。我不知道这个假设何时可以实现。


5

Sencha touch的寿命比jquerymobile更长,但是我发现jquerymobile处理设备后退按钮的能力比SenchaTouch好得多。我一直认为后退/历史按钮的处理在我的应用程序中很重要,因此我更喜欢jquerymobile。我一直认为自己是JavaScript程序员,但是我喜欢这样的事实,当我使用jquerymobile时,几乎不需要键入任何JavaScript代码。jquerymobile设计是出色的恕我直言。


1
在Sencha Touch 2中,这一点已经改变,我们现在在框架中内置了历史支持(我是作者...)。我们在大量扩展的文档中提供了有关它的指南-请参阅docs.sencha.com/touch/2-0/#!/guide/history_support
Ed Spencer

3

我也赞成sencha,JQM确实很慢,并且没有给人以本机应用程序的印象。

  • 普拉文

2

为什么要限制自己...

研究PhoneGapTitanium Appcelerator

根据您要完成的任务进行比较。我知道Sencha Touch需要支付许可费,就像您所说的,jQM尚未正式发布。

这是进入移动领域的绝佳时机,因为有许多可行的选择


2
由于额外的抽象层,我不愿意使用像PhoneGap这样的框架。当本地SDK更改时,我可能依赖PhoneGap团队来使他们的框架保持最新。您不认为这是一个潜在的问题吗?

2
这是为您提供的一种方案:将前置摄像头添加到iPhone4中时。我认为PhoneGap可能需要更新其API以适应该更改。谁知道将来还会发生什么,也许是热检测?那只是硬件级别。苹果有时会更改固件级别。

2
@William,如果该功能对您至关重要,只需从github下载代码,添加功能并继续...仍然需要更少的代码,然后自己编写整个程序。
亚伦·桑德斯


9
实际上,PhoneGap是JQM / ST问题的一个正交问题。PhoneGap为您提供了一个本机外壳,可在其中编写HTML / JS / CSS内容-在其中可以使用您选择的JS框架(JQM或ST)。
ob1

2

我认为jQuery mobile更易于学习,而且似乎很有前途。版本1.0尚不可用,但它将是一个很好的产品。我发现它非常有吸引力,因为它基于jQuery-座右铭是简单


我们为改善Sencha Touch的学习材料付出了巨大的努力。我们已经添加了20个从入门到部署的指南,以及大量的类文档和大量升级的文档中心应用程序。希望您能看一下我们在2.x中所做的事情:在Sencha Touch 2中已进行了更改,现在我们在框架中内置了历史支持(我是作者...)。我们在大量扩展的文档中提供了有关此指南的信息-请参阅docs.sencha.com/touch/2-0
Ed Spencer,


2

我一直在尝试sencha架构师,说实话,这是开始运行的噩梦。

我的背景是DotNet,html,javascript,VB,java,并且已经使用eclipse等一段时间了,所以在弄清楚依赖项等方面不是一个新手。

这是我的印象:

我去了Sench网站,下载了Architect。然后让我下载了工具包和sencha touch。我准确介绍了帮助文件/站点所建议/指示的内容。我有Sencha Architect V2.1.0 Build 584.,sencha-touch-2.0.1.1-commercial.zip,Sen​​chaSDKTools-2.0.0-beta3-windows.exe

我还下载并安装了新的java sdk /运行时等。安装已在干净的XP盒(vmware)上完成。Web服务器是xampp。

Sencha无法识别SenchaSDKTools-2.0.0-beta3。您必须努力查找说明才能破解它。即使被黑客入侵,架构师也无法使用适当的SDK,并会在部署时给出错误消息。

沿途还存在许多错误,甚至在遵循字母指示的情况下也无法加载数据的问题。

我花了11个小时来达到使应用程序正常运行而不会发愁的地步,但是它不会部署。学习一个新的工具/框架等不够好,而又不会引起思想上的麻烦,而“教学演示”会引导您前进。

很多人到处都是相同的错误。

经过15个小时的努力,我放弃了这份糟糕的工作,并使用老式的手工编码的html5 / CSS3和jquery / Ajax / JSon应用程序返回到IBM XPages / PHP和Blueprint CSS。

我这样做的原因是:Application Architect不断将您推回命令行。我喜欢命令行,给我一个bash shell和vi,我很高兴。但是,对于复杂,多文件的部署(例如移动应用程序),好的IDE值得一试。建筑师还没在那里。我一直需要掀开引擎盖,努力使事情正常进行。

我最初是为12岁的Sencha看过的,他对移动应用程序感兴趣并且正在寻找使用的助手。我尝试了-不适合-即使对于新手来说,运行hello世界类型的应用程序也太多了,帮助文件中的第一个应用程序无法说明自身,但您是否复制了用于从网站提取数据的代码您必须注册。(ccitybars应用)。

sencha的一大改进是,当Architect开箱即用时(可能是具有sdk,tools,touch和architect的安装程序全部安装在一起),而fisrt应用程序-遍历是一个简单的hello世界,然后构建为输入数据,保存数据,然后显示数据,然后再进行多形式转换。


那么你的结论是什么?
奥斯汀·亨利

1

大约半年前,我面临着相同的选择,然后选择了jQTouch而不是Sencha Touch,后者发现我以Javascript为中心。我目前正在将该项目移植到jQuery Mobile,我认为过渡将比Sencha Touch项目要平稳得多。


1

如果您了解基本的PHP,我强烈建议您使用jqmphp.com。在不到3天的时间内就可以运行整个在线移动网站来订购食物!


1

MoSync团队最近做了一个有趣的比较:

哪种移动JavaScript框架最好:jQuery Mobile,Sencha Touch,jQtouch或Kendo UI?

http://www.codefessions.com/2012/04/mobile-javascript-frameworks-evaluation.html http://www.codefessions.com/2012/04/which-mobile-javascript-framework-is.html http: //www.codefessions.com/2012/05/which-mobile-javascript-framework-is.html

jQueryMobile赢得了胜利,但是由于许可的原因,极大地推动了它的发展。我更喜欢jQueryMobile,因为我不希望别人(我)来编写我的标记,这样,黑客攻击就变得困难了(至少对我而言),但是,我现在确实有几个HTML5应用程序,jQM和Sencha Touch。尽管jQM使您一天开始工作,Sencha Touch使其变得更加平滑,非常难学,但存在一些错误,但是由于围绕该框架的出色网络社区,您通常会遇到一些错误。


1

我使用Sencha在几天之内构建了一个不错的生产应用程序,Touch 2.0并且按文档所述交付。而且,它是快速的。可能会有一些错误,但是,当我遇到一个错误时(很少见),似乎有很多方法可以解决该问题,因此它实际上并不那么重要。


0

Sencha Touch看起来不错,但很难使用。Sencha支持论坛提供的支持最少。Sencha Touch 2.x仍处于Alpha状态,存在很多问题


1
实际上,我认为我们有一个非常活跃的论坛社区。到目前为止,仅Sencha Touch 2就有近10,000个帖子,大大超过了jqm。此外,特别是现在,该团队与所有Touch 2论坛都紧密合作。
Ed Spencer

0

Sencha touch将是最好的选择,因为它有据可查并且拥有社区支持,因此您刚刚开始。另外,借助phonegap,您可以将更多的时间花在开发上,而将更多的时间花在其他移动平台上。一旦将其上载到构建器,Phonegap就会为您构建应用程序。



0

基于Sencha Touch的应用程序只能在基于WebKit的浏览器上运行。基于JQueryMobile的应用程序可以在所有移动Web浏览器上运行。

我认为您可以在未来2到3年内继续使用JQueryMobile。我预计在2-3年内,所有移动浏览器都将基于WebKit引擎。一旦所有移动浏览器开始支持WebKit,主要是因为非常好的质量的用户界面,所以转移到Sench Touch。


0

我建议KendoUI

在几天的训练中,它是无与伦比的,快速的表现。更不用说快速更新和新功能以及对服务器端包装程序(asp.net,php,jsp)的支持。它是独一无二的!


0

我都用过,它们每个都有一个条件,一个条件比另一个条件更适合。

在我看来,您将在以下情况下使用JQueryMobile:1.您需要Web应用程序的快速轻量级移动实现。2.您有时间限制(与Sencha Touch相比,学习和实施起来绝对快)。3.不需要原生的外观。

当扩展现有的Web应用程序时,必须将相对简单的功能扩展到移动应用程序(确实又快速又容易),我发现JQM非常有用且直截了当。

在我看来,您应该在以下情况下使用sencha:1.您想要本机的外观和感觉2.您想要在移动端具有更高的功能(可以通过电话间隙访问本机api)3.定位最新的智能手机(性能令人印象深刻) )

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.