移动Web框架:jQuery Mobile VS Sencha Touch
最近常被问到是用 jQuery Mobile还是Sencha Touch,本人也比较关注这两个框架,试图从以下两方面发表点儿见解:
身家背景,都系出名门
1、jQuery Mobile 建立在jQuery 和 jQuery UI框架之上,很好的继承了jQuery支持多浏览器的特性,官方介绍支持 iOS, Android, Blackberry, Palm WebOS, Nokia/Symbian, Windows Mobile, Opera Mobile/Mini, Firefox Mobile。
优点:超多平台支持、入门简单传统div布局。
缺点:目前处于Beta阶段性能有待加强、UI支持比较简单不适合复杂交互。
2、ExtJS更名为Sencha后,Sencha Touch便是其中重要的一员,继承大哥ExtJS优点,SenchaTouch 同样具有整体UI布局的解决方案、华丽的界面,这些只需要JavaScript全部搞定。
优点:针对触摸屏丰富的UI设计支持复杂交互、纯JavaScript搞定布局、版本稳定性能尚可。
缺点:入门较不易需要javascript基础、支持平台较少(以Webkit浏览器为核心的Android,IOS,BlackBerry平台)。
从需求出发做选择
1、功能简单,只想让现有网站支持手机和平板电脑等移动设备,可考虑jQuery Mobile框架,入门简单而且支持较多平台。
2、想做客户端而且跨平台、丰富的交互,如果项目组有熟悉ExtJS的开发人员就更好了,请选择Sencha Touch。
各自的优缺点:
Sencha Touch 的优缺点
前不久基于JavaScript编写的Ajax框架ExtJS,将现有的ExtJS整合JQTouch、Raphaël库,推出适用于 最前沿Touch Web的Sencha Touch框架,该框架是世界上第一个基于HTML5的Mobile App框架。同时,ExtJS更名为Sencha,JQTouch的创始人David Kaneda,以及Raphaël的创始人也已加盟Sencha团队
- 这是一个独立的库,包括 UI 部件、DOM 操作、Ajax 以及其他
- 无需依赖其他库
- 采用以 JavaScript 为核心的方法,基本上不需要写 HTML
- 提供大的对象模型,提供更多的功能,但是学习周期很长
- 统一的编程代码结构和要求,良好组织的代码易于维护
- 提供内置的服务器和本地存储的抽象层,可在关系数据基础上轻松执行 CRUD 操作。
- 提供内置的工具用于创建 iOS 和 Android 本地运行的程序
- 比 jQuery Mobile 支持的设备要少
jQuery Mobile的优缺点
jQuery Mobile是jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。此框架简单易用。页面开发主要使用标记,无需或仅需很少 JavaScript。
此框架简单易用。页面开发主要使用标记,无需或仅需很少 JavaScript。
- JM 只是一个 UI 库,依赖于 jQuery 和 jQuery UI 的 DOM 操作、Ajax 和其他库
- 为了创建 UI 部件,你只需要编写 HTML 即可,JM 为了对这些 HTML 元素进行修饰
- 可方便的重用已有的 HTML 代码
- 一些简单的应用直接用 HTML 即可实现,无需 JavaScript
- JM 具有相对小的对象模型,可以快速轻松学习,特别是他是一个 jQuery 的插件
- JM 对代码没有特定的要求,这可能是非常灵活的,但维护难度也加大
- 易于和其他框架进行集
- 比 Sencha Touch 支持更多的设备
- 不依赖某个特定的供应商
移动Web框架:jQuery Mobile VS Sencha Touch的更多相关文章
- jQuery Mobile和Sencha Touch哪个更适合你?
纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族 ...
- [转]使用 jQuery Mobile 与 HTML5 开发 Web App —— jQuery Mobile 事件详解
在前文<使用 jQuery Mobile 与 HTML5 开发 Web App —— jQuery Mobile 默认配置与事件基础>中,Kayo 对 jQuery Mobile 事件的基 ...
- HTML5开发移动web应用—JQuery Mobile(1)
JQuery Mobile是一个简单易用的web移动app开发框架.使用它就像使用jQuery一样,引入必要的文件就可以. 最基础的jQuery Mobile文件的结构代码例如以下: <body ...
- html5文章 -- 使用 jQuery Mobile 与 HTML5 开发 Web App —— jQuery Mobile 基础
这篇文章是使用 jQuery Mobile 与 HTML5 开发 Web App 系列的第二篇,在本文以及接下来的数篇文章 Kayo 将会介绍 jQuery Mobile 的组件.事件响应以及可以调用 ...
- HTML5开发移动web应用—JQuery Mobile(2)-导航栏和页脚
导航栏部分的代码一般放置在data-role为header的div的内. <div data-role="header"> <a href="#&quo ...
- (转)Sencha Touch和jQuery Mobile的比较
原文:http://extjs.org.cn/node/664 Sencha Touch和jQuery Mobile的比较 Posted 周三, 08/07/2013 - 10:07 by admin ...
- 选择移动web开发框架研究——有mui、frozenui以及Sencha Touch等
纯粹的总结一下移动web开发框架,移动 web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家 ...
- 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则 ...
随机推荐
- zookeeper(1)
参考文档:zookeeper中文网 一.介绍安装 zookeeper 是一个高效的分布式协调服务,它暴露了一些公用服务,比如命名/配置/同步控制/群组服务等.我们可以使用ZK来实现一些功能,例如:达成 ...
- 使用Cookie来统计浏览次数,当天重复刷新不增加
这是一种不严谨的做法,在浏览量不是很重要的时候可以使用 var oldCookie = Request.Cookies["newsCookie"]; if (oldCookie = ...
- Openjudge-计算概论(A)-苹果和虫子
描述 你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子.虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果? 输入输入仅一行,包括n,x和 ...
- mvc路由参数注解
routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); //过滤掉禁止访问的路由 routes.MapRoute( name: &quo ...
- 【Machine Learning in Action --4】朴素贝叶斯电子邮件垃圾过滤
摘要:这里用的是词袋模型,即一个词在文档中出现不止一次,每个单词可以出现多次. 1.准备数据:切分文本 前一节过滤网站恶意留言中词向量是给定的,下面介绍如何从文本文档中构建自己的词列表 先举例说明,在 ...
- Windows下QT4.8.4编译环境的搭建(转载http://blog.csdn.net/bestgonghuibin/article/details/38933141)
开始使用QT了,所以第一步就是把环境搭起来,这里小记一下,以免以后忘记. 1. 下载安装文件 要使用QT功能,那么必须要下载QT的源码,还必须要一个是用QT的编译环境,可以是VS2010,也可以是专用 ...
- C语言中结构体定义实际上相当于变量入栈
struct context { int edi; int esi; int ebx; int ebp; int eip;}; 对应的入栈顺序是 pushl %esp pushl %eip pushl ...
- postgresql删除属性
PostgreSQL update and delete property from JSONB column up vote 2 down vote favorite From this artic ...
- 一个有用的shell脚本
#!/bin/bash #if [ $1 -eq null ]; then # echo "please input params1!" # exit #fi #if [ $2 - ...
- java写文件时,输出不完整的原因以及解决方法close()或flush()
在java的IO体系中,写文件通常会用到下面语句 BufferedWriter bw=new BufferedWriter(new FileWriter("sql语句.txt")) ...