zoukankan      html  css  js  c++  java
  • (转)Sencha Touch和jQuery Mobile的比较

    原文:http://extjs.org.cn/node/664

    Sencha Touch和jQuery Mobile的比较

    很多人问我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 vs jQuery Mobile

     

      下面我将以我个人经验来谈谈它们的不同,这也许不会很客观。就个人而言我不会偏袒任何一方,下面的章节经按组进行比较,每组都有胜者。

      

    第一组-行销和平台支持

      Sencha Touch和jQuery Mobile都以HTML5框架著称。jQuery Mobile谦虚的说自己只是内建于所有流行的移动设备平台,而Sencha Touch则说自己是唯一能让为开发者在iOS,Android,BlachBerry,Windows Phone等更多的OS上开发漂亮应用的框架。老实说,这种夸大其词的广告让我失望。我还没有发现它说的那样好,Sencha Touch只能孤芳自赏了。
    • 只支持web kit内核浏览器(据说这会在未来有所变化)
    • 大家知道的,有很多移动应用框架比Sencha Touch好
    jQuery Mobile 很多框架都不会为某一特定的平台做优化的,包括jQuery Mobile(据说1.4版本会做一些优化) 结论:jQuery Mobile胜

     

      

    第二组-UI和视觉映像

      正如您所见,Sencha Touch和jQuery Mobile在UI视觉是有些区别的。一个是完全的javascript驱动,而另一个是用HTML驱动的。这两种方式都可以展示漂亮的UI,但是 Sencha 的UI更像是用原生API开发的一样(在混合应用程式中)。很不幸,它两在复杂UI程式中表现的就很糟糕了,尤其是jQuery Mobile. Sencha Touch
    • 在移动设备上,Sencha会比jQuery更加的流畅
    • Sencha遵循MVC哲学,它不会让你写任何HTML代码,一切基于javascript
    • Sencha 提供更多的UI元素和组件,比如说旋转
    • Sencha支持SVG(可缩放矢量图形,译者注),对于游戏来说是个好事
    • Sencha Touch IDE是付费的,虽然这个和UI没有关系。
    jQuery Mobile
    • 于Sencha不同,jQuery Mobile UI更像是web UI
    • 要想展现jQuery Mobile UI只要在HTML中加入jQuery Mobile CSS即可,就像是jQuery UI框架的使用一样
    • 使用Ajax会让有些开发者在页面特效处理方面感到困惑
    • 使用CSS会让一些UI看起来很相似,要让UI表现的不一样得额外花费时间来处理。比如说SongMeanings.com网站中的mobile内容。
    • 与Sencha Touch不同,jQuery Mobile得让你好好关心页面的构成,有时这是很麻烦的。所有都绑在了一起,这,时好时坏说不定。1.4版本也许会有所改善。
    结论:Sencha Touch 胜

     

      

    第三组-可用性,使用的难易

      这是个完全不同的比较。jQuery Mobile是标记语言驱动,它是依赖于jQuery并很容易控制的。如果你喜欢MVC模式,那你就得选择Sencha Touch。当然这会带来付费的问题,至少这会让不喜欢用javascript的人不顺心的。最后,咱这组比较就是比较使用的难易的。 Sencha Touch
    • 全都是javascript,新手会有些迷惑
    • 很难debug
    • 不容易上手
    jQuery Mobile
    • 如果你和大多人一样喜欢jQuery,你也会喜欢jQuery Mobile的
    • 语法简单
    • 可以用Backbone.js或Knockout.js来弥补MVC设计方面的缺陷
    • 支持很多不同的主题,而且一切都可以用CSS来操作
    • 任何IDE都可以开发
    结论:jQuery Mobile胜

     

      

    第四组-文档

      再好的产品也会因此而被人们遗忘。它们两的文档都不错。Sencha Touch官方文档相当不错,jQuery Mobile文档的封面都是很漂亮的。但是,Sencha Touch的文档比jQuery Mobile的更好。 Sencha Touch
    • 比jQuery Moblie文档更好,而且不会让人困惑。
    • 内容不多
    • 官方支持可不免费,也不会涉及IDE
    jQuery Mobile
    • 没达到Sencha Touch官方文档的水准
    • 有博客,文章,论坛,Stackoverflow...等方式的支持
    • 封面很漂亮
    结论:Sencha Touch 胜

     

      

    第五组-工具,插件,第三方支持

     

      这个话题也是很重要的,好的开发工具和插件会让开发者更容易上手。 Sencha Touch

    • 支持自家本地应用程序
    • 支持主题包
    • IDE要付费
    jQuery Mobile
    • Phonegap是支持本地应用的开发包,用jQuery Mobile开发Phonegap会让人感到有些怪
    • 支持主题包,但支持的不全面,因为一些核心的CSS元素不容易更改,比如说已经被激活的元素
    • 支持大量第三方插件,与jQuery插件兼容
    • 比Sencha Touch更容易扩展
    结论:平局,jQuery Mobile略胜一筹

    最终比较

    jQuery Mobile 优点
    • 易开发
    • 不错的第三方支持,插件就是知识,知识就是力量
    • 易调试
    • Stackoverflow
    缺点
    • 比Sencha Touch慢
    • APP几乎是同样的UI,如果你是个能忍的UI设计师,那你就可以接受这种呆滞的UI
    • 官方文档缺少一些东西,因为其在UI方面介绍的太多而欠缺在架构方面的介绍
    使用场合
    • 移动网站
    • 简单的混合应用程序

     

    代码例子

     

    01.<!DOCTYPE html>
    02.<html>
    03.<head>
    04.<title>jQM Complex Demo</title>
    05.<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
    06.<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"/>
    08.<!--<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>-->
    10.</head>
    11.<body>
    12.<div data-role="page" id="index">
    13.<div data-theme="b" data-role="header">
    14.<h1>Index page</h1>
    15.</div>
    16. 
    17.<div data-role="content">
    18. 
    19.</div>
    20.</div>   
    21.</body>
    22.</html>

     

    Sencha Touch 优点

    • 运行非非常流畅,有中像是原生API开发的一样
    • 有MVC结构
    • 文档很完美
    缺点
    • 对于缺乏经验的开发者来说过于复杂
    • 第三方支持太少
    • 由于只支持webkit,所以除过混合应用程序外,对于一般程序来说作用不大
    • IDE和支持都得付费
    使用场合
    • 建议在复杂的混合应用程序,特别是要求看起来像是原生API开放的程序中使用

     

    代码例子

     

    01.new Ext.Application({
    02.name: 'MyApp',
    03. 
    04.launch: function() {
    05.this.viewport = new Ext.Panel({
    06.fullscreen: true,
    07. 
    08.id    : 'mainPanel',
    09.layout: 'card',
    10.items : [
    11.{
    12.html: 'Welcome to My App!'
    13.}
    14.]
    15.});
    16.}
    17.});

     

    它们两都是成熟的框架。jQuery Mobile 容易使用而且在大部分场合都能工作良好,但是如果你想优化优化混合移动应用程序,那你就选择Sencha Touch吧。

    其它值得看看的HTML5移动应用框架:

     

    原文: http://www.gajotres.net/sencha-touch-vs-jquery-mobile/ 译者: yale8848 译文: http://www.oschina.net/translate/sencha-touch-vs-jquery-mobile

  • 相关阅读:
    [转]我们应该做什么样的研究
    [转]面向服务架构(SOA)和企业服务总线(ESB)
    [转]程序员应知——团队精神
    vs2010 调试快捷键
    asp.net 获取ip的6种方法
    解决了防止用户重复登陆和session超时
    IE 10 也能随网站应变,图标决定一切!
    Sony VAIO Duo 11 游戏性能测试
    翻出Windows 8 当中的游戏管理器
    Office 2013预览版已到期,需要付费才可正常使用
  • 原文地址:https://www.cnblogs.com/allearner/p/3749046.html
Copyright © 2011-2022 走看看