(转)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"
/>
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移动应用框架:
- jQT(ex jqTouch)
- App Framework(ex jqMoby)
- Kendo UI
- Titanium App Accelerator
原文: http://www.gajotres.net/sencha-touch-vs-jquery-mobile/ 译者: yale8848 译文: http://www.oschina.net/translate/sencha-touch-vs-jquery-mobile
(转)Sencha Touch和jQuery Mobile的比较的更多相关文章
- Sencha Touch 和 jQuery Mobile 的比较
Sencha Touch 和 jQuery Mobile 的比较 英文原文:Sencha Touch vs jQuery Mobile 标签: Sencha Touch jQuery Mobile 1 ...
- Sencha Touch和jQuery Mobile的比较
第一组-行销和平台支持 Sencha Touch和jQuery Mobile都以HTML5框架著称.jQuery Mobile谦虚的说自己只是内建于所有流行的移动设备平台,而Sencha Touch则 ...
- Sencha Touch vs jQuery Mobile
Sencha Touch:重量级框架,类似于Flex SDK;组件封装较多;在各平台交互表现统一(内部封装);入门门槛较高 jQuery Mobile:轻量级框架,实质是jQuery插件;组件较少;交 ...
- 【初探移动前端开发05】jQuery Mobile (整合版)
前言 为了方便大家看的方便,我这里将这几天的东西整合一下发出. 里面的例子请使用手机浏览器查看. 什么是jQuery Mobile? jquery mobile是jquery在移动设备上的版本,他是基 ...
- 【初探移动前端开发05】jQuery Mobile (下)
前言 继续我们移动端的学习,今天到了List相关了. 本文例子请使用手机查看 List列表 在移动设备平台下,由于移动设备屏幕比较小,我们又是用手在上面点击的触屏方式,传统的列表模式在手机上就不太友好 ...
- jQuery Mobile (整合版)
jQuery Mobile (整合版) 前言 为了方便大家看的方便,我这里将这几天的东西整合一下发出. 里面的例子请使用手机浏览器查看. 什么是jQuery Mobile? jquery mobile ...
- 【初探移动前端开发】jQuery Mobile 二
本文例子请使用手机查看 List列表 在移动设备平台下,由于移动设备屏幕比较小,我们又是用手在上面点击的触屏方式,传统的列表模式在手机上就不太友好了. 虽然HTML5与CSS3提供了强大的界面实现方案 ...
- jQuery Mobile和Sencha Touch哪个更适合你?
纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族 ...
- 移动Web框架:jQuery Mobile VS Sencha Touch
最近常被问到是用 jQuery Mobile还是Sencha Touch,本人也比较关注这两个框架,试图从以下两方面发表点儿见解: 身家背景,都系出名门 1.jQuery Mobile 建立在jQue ...
随机推荐
- Python--关于dict
慕课网<Python 入门>学习笔记 1.dict 特性 dict用花括号{}表示,然后按照 key: value, 写出来即可.最后一个 key: value 的逗号可以省略. ①.di ...
- [maven] 搭建多模块企业级项目
知识点:聚合.继承.工程依赖.单元测试.多war聚合.cargo发布 ① 准备工作 参考资料 http://www.cnblogs.com/quanyongan/archive/2013/05/28/ ...
- python中的binascii
import binascii as B s = 'abcde' h = B.b2a_hex(s) # 字符串转16进制 '6162636465' h = B.hexlify(s) # 作用同上 s ...
- OC 实例变量(instance var)与属性(@property)的关系 isa指针
实例变量(instance var)与属性(@property)的关系 Objective-C 2.0之后,声明一个@property name自动产生一个实例变量,名为_name,因此省去实例变量和 ...
- AJAX是什么? AJAX的交互模型(流程)?同步和异步的区别? AJAX跨域的解决办法?
AJAX是什么? AJAX的交互模型(流程)?同步和异步的区别? AJAX跨域的解决办法? 分类: web前端面试题2013-07-20 22:40 630人阅读 评论(0) 收藏 举报 目录(? ...
- Android开发--TextView的应用
1.概述 TextView主要用于Activity中文本的应用.其中layout中xml文件(activity)设置文本的宽度,高度,ID:values中strings.xml设置文本内容. Text ...
- Collecting Bugs(POJ 2096)
Collecting Bugs Time Limit: 10000MS Memory Limit: 64000K Total Submissions: 3064 Accepted: 1505 ...
- Hadoop集群中添加硬盘
Hadoop工作节点扩展硬盘空间 接到老板任务,Hadoop集群中硬盘空间不够用,要求加一台机器到Hadoop集群,并且每台机器在原有基础上加一块2T硬盘,老板给力啊,哈哈. 这些我把完成这项任务的步 ...
- ext afteredit
ext afteredit详解 grid.on("afteredit",afterEidt,grid); function(obj) { obj.row;;//修改过的行从0开始 ...
- spring mvc上传图片
1.需要commons-fileupload.jar commons-io.jar 2.需要在springmvc.xml中 配置存放静态资源的路径,对图片等静态资源放行 <mvc:resourc ...