1.1 jQuery Mobile简介
jQuery是一个非常流行的Web程序开发时使用的JavaScript类库,但它只是为PC端的浏览器而设计的。在移动互联网中为了满足浏览器更好地运行Web程序的需求,在基于jQuery与jQuery UI的基础之上,推出了jQuery Mobile这套框架,其主旨就是在进行移动项目开发的过程中,为开发者提供统一的接口与特征,依靠强大的jQuery类库,节省JavaScript代码的开发时间,提高项目开发的效率。
1.1.1 功能特点
jQuery Mobile 为开发移动应用程序提供十分简单的应用接口,而这些接口的配置则是由标记驱动的,开发者在HTML页中无须使用任何JavaScript代码,就可以建立大量的程序接口。使用页面元素标记驱动是jQuery Mobile仅是它众多特点之一,概括而言,它具有如下特点:
特点1 强大的AJAX驱动导航
无论页面数据的调用还是页面间的切换,都是采用AJAX进行驱动的,从而保持了动画转换页面的干净与优雅。
特点2 以jQuery与jQuery UI为框架核心
jQuery Mobile的核心框架是建立在jQuery基础之上的,并且利用了jQuery UI的代码与运用模式,使熟悉jQuery语法的开发者能通过最小的学习曲线迅速掌握。
特点3 强大的浏览器兼容性
jQuery Mobile继承了jQuery的兼容性优势,目前所开发的应用兼容于所有主要的移动终端浏览器,使用开发者集中精力做功能开发,而不需要考虑复杂的浏览兼容性问题。
特点4 框架轻量级
目前jQuery Mobile最新的稳定版本为1.0.1,压缩后的体积大小为24KB,与之相配套的CSS文件压缩后的体积大小为6KB,框架的轻量级将大大加快程序执行时的速度。
特点5 支持触摸与其他鼠标事件
jQuery Mobile提供了一些自定义的事件,用来侦测用户的移动触摸动作,如tap(单击)、tap-and-hold(单击并按住)、swipe(滑动)等事件,极大提高了代码开发的效率。
特点6 强大的主题化框架
借助于主题化的框架和ThemeRoller应用程序,jQuery Mobile可以快速地改变应用程序的外观或自定义一套属于产品自身的主题,有助于树立应用产品的品牌形象。
1.1.2 支持平台
目前jQuery Mobile 1.0.1版本支持绝大多数的台式机、智能手机、平板和电子阅读器的平台,此外,对有些不支持的智能手机与旧版本的浏览器,通过渐进增强的方法,将逐步实现能够完全支持。下面通过一个分级的支持系统,详细说明各浏览器对jQuery Mobile 1.0.1的支持状况。
A(最优)
□苹果iOS 3.2~5.0-最早的iPad(4.3/5.0)、iPad 2(4.3),最早的iPhone(3.1)、iPhone 3(3.2)、iPhone 3GS(4.3)和iPhone 4(4.3/5.0)
□安卓2.1~2.3-HTC(2.2)、最早的Droid(2.2)、Nook Color(2.2)、HTC Aria(2.1)、谷歌Nexus S(2.3)
□安卓Honeycomb-三星Galaxy Tab 10.1和摩托罗拉XOOM
□Windows Phone 7~7.5-HTC Surround(7.0)、HTC Trophy(7.5)和LG-E900(7.5)
□黑莓6.0-Torch 9800和Style 9670
□黑莓7-BlackBerry® Torch 9810
□黑莓Playbook-PlayBook版本1.0.1/1.0.5
□Palm WebOS(1.4~2.0)-Palm Pixi(1.4)、1.4前版本(1.4)、2.0前版本(2.0)
□Palm WebOS 3.0-HP触摸板
□Firebox Mobile(Beta)-安卓 2.2
□Opera Mobile 11.0-安卓 2.2
□Meego 1.2-Nokia 950和N9机型
□Kindle 3和Fire-内置的每个WebKit浏览器
□Chrome(11~15)桌面浏览器-基于OS X 10.6.7和Windows 7操作系统
□Firefox(4~8)桌面浏览器-基于OS X 10.6.7和Windows 7操作系统
□Internet Explorer(7~9)-Windows XP、Vista和Windows 7(有轻微的CSS错误)
□Opera(10~11)桌面浏览器-基于OS X 10.6.7和Windows 7操作系统
B(良好)
□黑莓5.0-Storm 29550和Bold 9770
□Opera Mini(5.0~6.0)-基于iOS 3.2/4.3操作系统
□诺基亚Symbian^3-诺基亚N8(Symbian^3)、C7(Symbian^3)、N97(Symbian^1)机型
C(较差)
□黑莓4.x-Curve 8330
□Windows Mobile-HTC Leo(WInMo 5.2)
□所有版本较老的智能手机平台将都不支持
说明 浏览支持系统为三个级别,分别为A、B、C。A级表示完全基于AJAX的动画页面转换增加的体验效果,代表最优;B级表示仅是除了没有AJAX的动画页面转换增加的体验效果,其他都可以很好地支持,代表良好;C级表示能够支持实现基本的功能,没有体验效果,代表较差。
1.1.3 与jQTouch、Sencha Touch、SproutCore的比较
移动Web开发有易于上手、开发周期相对短以及可以自动更新等众多的优点,因此,除jQuery Mobile外,还有很多框架可支持开发Web应用,如jQTouch、Sencha Touch、SproutCore等。那它们与jQuery Mobile有什么区别呢?接下来我们进行详细说明。
1.jQTouch
jQTouch 与jQuery Mobile 十分相似,也是一个jQuery插件,同样也支持HTML页面标签驱动,实现移动设备视图切换效果。但与jQuery Mobile不同在于,它是专为WebKit内核的浏览器打造的,可以借助该浏览器的专有功能对页面进行渲染;此外,开发时所需的代码量更少。如果所开发的项目中,目标用户群都使用WebKit内核的浏览器,可以考虑此框架。
官方下载地址:http://www.jqtouch.com/
2.Sencha Touch
Sencha Touch 是一套基于ExtJS开发的插件库。它与jQTouch相同,也是只针对WebKit内核的浏览器开发移动应用,拥有众多效果不错的页面组件和丰富的数据管理,并且全部基于最新的HTML 5与CSS 3的Web标准。与jQuery Mobile不同之处在于,它的开发语言不是基于HTML标签,而是类似于客户端的MVC风格编写JavaScript代码,相对来说,学习周期较长。
官方下载地址:http://www.sencha.com/products/touch/
3.SproutCore
SproutCore 同样也是一款开源的JavaScript框架,以少量的代码开发强大的Web应用。开始仅用于桌面浏览器的应用开发,后来,由于功能强大,许多知名的厂商也纷纷使用它来开发移动Web应用。但与jQuery Mobile相比,SproutCore对一些主流终端浏览的支持还有许多不足之处,如屏幕尺寸略大,开发代码相对复杂些。
官方下载地址:http://www.sproutcore.com/