jQueryMobile权威指南
上QQ阅读APP看书,第一时间看更新

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/