EdwardSiCong 2013-08-06
很多人问我Sencha Touch (百度百科Sencha Touch译者加) 和jQuery Mobile哪个更好。事实上,它两的区别就像是Web后台编程,PHP和Java。它们都能完成同样的功能,但其实它们是为不同的目的而创造的。
Sencha Touch基于web-kit浏览器并做了优化,而jQuery Mobile适用于一般浏览器。因为Sencha Touch做了优化,很多人觉得它比jQuery Mobile更棒。混合移动应用(类似用用Webview编程,译者注)会让Sencha Touch熠熠生辉,它会让移动应用非常流畅就像是用原生API开发的一样。但jQuery Mobile也会在不同的地方发光发彩的。与Sencha Touch只支持web-kit不同,jQuery Mobile在支持HTML5的浏览器工作的也是相当的漂亮。无论你是使用Windows,MAC OS,Android或是iOS系统,jQuery Mobile都能吸引你的眼球。
下面我将以我个人经验来谈谈它们的不同,这也许不会很客观。就个人而言我不会偏袒任何一方,下面的章节经按组进行比较,每组都有胜者。
Sencha Touch和jQuery Mobile都以HTML5框架著称。jQuery Mobile谦虚的说自己只是内建于所有流行的移动设备平台,而Sencha Touch则说自己是唯一能让为开发者在iOS,Android,BlachBerry,Windows Phone等更多的OS上开发漂亮应用的框架。老实说,这种夸大其词的广告让我失望。我还没有发现它说的那样好,Sencha Touch只能孤芳自赏了。
jQuery Mobile
结论:jQuery Mobile胜
正如您所见,Sencha Touch和jQuery Mobile在UI视觉是有些区别的。一个是完全的javascript驱动,而另一个是用HTML驱动的。这两种方式都可以展示漂亮的UI,但是Sencha 的UI更像是用原生API开发的一样(在混合应用程式中)。很不幸,它两在复杂UI程式中表现的就很糟糕了,尤其是jQuery Mobile.
Sencha Touch
jQuery Mobile
结论:Sencha Touch 胜
这是个完全不同的比较。jQuery Mobile是标记语言驱动,它是依赖于jQuery并很容易控制的。如果你喜欢MVC模式,那你就得选择Sencha Touch。当然这会带来付费的问题,至少这会让不喜欢用javascript的人不顺心的。最后,咱这组比较就是比较使用的难易的。
Sencha Touch
jQuery Mobile
结论:jQuery Mobile胜
再好的产品也会因此而被人们遗忘。它们两的文档都不错。Sencha Touch官方文档相当不错,jQuery Mobile文档的封面都是很漂亮的。但是,Sencha Touch的文档比jQuery Mobile的更好。
Sencha Touch
jQuery Mobile
结论:Sencha Touch 胜
这个话题也是很重要的,好的开发工具和插件会让开发者更容易上手。
Sencha Touch
jQuery Mobile
结论:平局,jQuery Mobile略胜一筹
jQuery Mobile
优点
缺点
使用场合
代码例子
<!DOCTYPE html> <html> <head> <title>jQM Complex Demo</title> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/> <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=no; target-densityDpi=device-dpi"/> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" /> <!--<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>--> <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script> </head> <body> <div data-role="page" id="index"> <div data-theme="b" data-role="header"> <h1>Index page</h1> </div> <div data-role="content"> </div> </div> </body> </html>
Sencha Touch
优点
缺点
使用场合
代码例子
new Ext.Application({ name: 'MyApp', launch: function() { this.viewport = new Ext.Panel({ fullscreen: true, id : 'mainPanel', layout: 'card', items : [ { html: 'Welcome to My App!' } ] }); } });
它们两都是成熟的框架。jQuery Mobile 容易使用而且在大部分场合都能工作良好,但是如果你想优化优化混合移动应用程序,那你就选择Sencha Touch吧。
其它值得看看的HTML5移动应用框架: