说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

jQuery Mobile 开发入门手册--技术理论

HTML文档下载 WORD文档下载 PDF文档下载
jQuery Mobile技术理论:WebKit和HTML5,移动 Web 应用程序的考虑,一般站点的呈现.

 

作者:张勇辉

 

技术理论

 

WebKit 和 HTML5

 

WebKit  是一种浏览器引擎,支撑着 iPhone  内的 Mobile Safari  浏览器以及 Android  内的浏览器背后的技术。WebKit  也在其他的移动环境内有自己的用武之地,但是我们还是将我们的讨论集中于 iPhone  和 Android  平台。

WebKit  是一个开源项目,其起源可追溯到 K Desktop Environment (KDE)。WebKit  项目催生了面向移动设备的现代 Web  应用程序。虽然设备本身的能力和形态因素都相当重要,但移动用户最热衷的仍然是内容。如果移动用户可用的内容只是 Internet  用户可用内容的一个很小的子集,那么用户体验充其量也只能划分为二等。

我们当中的大多数人都更希望生活是连贯的 — 如果我们在家中的笔记本上访问了一个网站,我们同样希望在火车上旅行时仍然访问到同样的内容。内容是最好的应用程序。不管我们身在何处、在做什么,我们都想要访问到我们的数据。WebKit  让 iPhone  和 Android  平台上可以有丰富的内容。

有一点很值得注意,即 WebKit  还应用在了桌面的 Safari  浏览器内,该浏览器是 Mac OS X 平台默认的浏览器。不管我们讨论的是桌面版本还是 iPhone  或 Android  上的浏览器引擎,WebKit  均优先支持 HTML  和 CSS  特性。实际上,WebKit  还支持尚未被其他浏览器采纳的一些 CSS  样式 — 这些特性正在得到 HTML5  规范的考虑。

HTML5  规范是一个技术草案集,涵盖了各种基于浏览器的技术,包括客户端 SQL  存储、转变、转型、转换等。HTML5  的出现已经有些时间了,虽然尚未完成,但是一旦其特性集因主要浏览器平台支持的加入而逐渐稳定后,Web  应用程序的简陋开端将成为永久的记忆。

Web  应用程序开发将成为主导 — 并且不只是在传统的桌面浏览器空间,还将在移动领域。移动将一跃成为首要考虑,而不再是后备之选。

 

移动 Web  应用程序的考虑

 

为了访问 Web  开发技术,如今,应用程序开发人员有几个选择。第一,应用程序可严格编写为服务器上的 HTML、CSS  和 JavaScript  文件。当然,HTML  内容可以产生自静态 HTML 文件,也可以从任何的服务器端技术(比如 PHP、ASP.NET、Java Servlets  等)动态生成。

所有这些技术追根到底都可简单地用术语 HTML  指代 — 这不是本文讨论的重点所在 —并且最为重要的是,受 WebKit-支撑的浏览器能够在移动设备上解析和呈现 HTML。

用户通过在移动设备上(即 iPhone  或 Android)打开浏览器应用程序并输入目标服务器对应的 URL:http://yourcompanyname.com/applicationurl  来访问 Web  应用程序。

特定的某个移动 Web  应用程序总是能找到自己的位置:从一般的 Web  站点到高度特定于平台的移动 Web应用程序。

 

一般站点的呈现

 

WebKit  内的呈现引擎,再配以 iPhone  和 Android  平台上的高度直观的 UI,实际上就使得几乎任何一个基于 HTML  的 Web  站点都能呈现在此设备上。Web  页能被正确呈现,不再像原来的移动浏览器体验:内容被包裹起来或是根本不显示。当页面加载后,内容通常被完全缩放以便整个页面都可见,尽管内容会被缩放得非常小,甚至不可读,如图 1  所示。不过,页面是可滚动、放大、缩小的,这就提供了对全部内容的访问。默认地,浏览器使用 980 像素宽的视见区或逻辑尺寸。

要想使 Web  页面从一般的页面变成支持移动设备的页面,Web  应用程序可以在几个方面进行修改。

虽然页面可以在 WebKit  中正确呈现,但是,一个以鼠标为中心的设备(比如笔记本或台式机)与一个以触摸为中心的设备(比如一个 iPhone  或 Android  智能手机)还是有区别的。其中主要的一些差异包括 “可单击” 区域的物理大小、“悬浮样式” 的缺少以及完全不同的事件顺序。如下所列的是在设计一个能被移动用户正常查看的 Web  站点时需要注意的一些事情:

•iPhone/Android  浏览器呈现的屏幕是可读的 — 大大好于传统的移动浏览器 — 所以不要急于草草制作您网站的移动版本。

•手指要大过鼠标指针。在设计可单击的导航时要特别注意这一点 — 不要把链接放得相互太靠近,因为用户不太可能单击了一个链接而不触及相邻的链接。

•悬浮样式将不再奏效,因为用手指不能进行用鼠标指针进行的 “悬浮”。

•诸如 mouse-down、mouse-move  等事件在基于触摸的设备上自然大相径庭。这类事件中有一些将被取消,不要指望移动设备上的事件顺序与桌面浏览器上的一样。

让我们来看看要使一个 Web  站点对 iPhone  或 Android  访客具有友好性所面临的最为明显的一个挑战:屏幕大小。我们今天使用的实际移动屏幕尺寸是 320x480。请注意由于用户可能会选择横向查看 Web  内容,所以屏幕大小也可以是 480x320。正如我们在图 1  中看到的,WebKit  将能很好地呈现面向桌面的 Web  页面,但是文本可能会太小以至于若不进行缩放或其他操作就无法有效阅读内容。那么,我们该如何应对这个问题呢?

最为直观也是最不唐突的适合移动用户的方式是通过使用一个特殊的 metatag:viewport。metatag  是一个放入 HTML  文档的 head  元素内的 HTML  标记。如下是一个使用 viewport 标记的简单例子:<meta name="viewport" content="width=device-width" />。当这个 metatag 被添加到一个 HTML  页面后,我们看到此页面被缩放到更为适合这个移动设备的大小,如图 2  所示。如果浏览器不支持此标记,它会简单地忽略此标记。

为了设置特定的值,将 viewport metatag  的 content  属性设为一个显式的值: <meta name="viewport" content="width=device-width, initial-scale=1.0 user-scalable=yes" />。通过改变初始值,屏幕就可以按要求被放大或缩小。将值分别设置在 1.0  和 1.3  之间对于 iPhone  和Android  平台是比较合适的。viewport metatag  还支持最小和最大伸缩,可用来限制用户对呈现页面的控制力。

自具有 320x480  布局的 iPhone  面世以来,其形态系数就一直没有改变过,而随着来自不同制造商、针对不同用户群的更多设备的出现,Android  则有望具备更多样的物理特点。在开发应用程序并以诸如 Android  这类移动设备为目标时,一定要考虑屏幕尺寸、形态系数以及分辨率方面的潜在多样性。

除了 Android  设备与其他设备之间的这些物理差异之外,经验还表明 Android  的软件还通过设备内置的(on-device)浏览器设置对页面的呈现实施了更多控制。不仅稳定,Android  平台还很灵活。取决于 SDK  等级和制造商,某个设备上的设置很可能不同于您的开发环境。

图 4  显示了取自 Android Emulator V1.6 的浏览器应用程序的设置页面。这个设置屏幕允许用户将一个设备设置为一个预先定义的缩放等级(far、near、medium)或请求此设备自动适应页面。

 

Android中String资源文件的format方法 Android工程内嵌资源文件的两种方法 Android AIDL全攻略三 - AIDL框架 Android AIDL全攻略二 - Service绑定 自定义Android主题风格theme.xml方法 Android开发之模拟按下Home键的效果 Android AIDL全攻略一 Android Picture和PictureDrawable的用处 Android自定义View以及layout属性全攻略 Android通过Intent发送电子邮件含附件 Android调试技巧之Eclipse行号和Logcat Android Txt文本读写类源代码 Android游戏开发之旅20 双按事件捕获 Android游戏开发之旅19 分辨率大全 保护你的Android付费软件-LVL全攻略(二) 保护你的Android付费软件-LVL全攻略 android调试工具monkey压力测试实战 Android开发工具-App Inventor Android游戏开发之旅18 SoundPool类 Android多线程下载远程图片 Android读写Txt文本文件代码 Android游戏开发之旅17 图像渐变特效 Android游戏开发之旅16 异步音乐播放 Android游戏开发之旅15 按键中断处理 Android游戏开发之旅14 游戏开发实战一 Android游戏开发之旅13 Sensor感应示例 Android游戏开发之旅12 Sensor重力感应 Android游戏开发之旅11 View中手势识别 Android游戏开发之旅十 位图旋转 Android游戏开发之旅九 VideoView类剖析 Android游戏开发之旅八 SurfaceView类实例 CComboBox为何不能下拉,属性已设为Drop List 菜鸟问题,怎样用photoshop画出的矩形有3D边框?没分了,请帮忙 急!磁盘检测出错?在线 有关限制插入操作的问题(SQL Server 2000),救急! 蓝星梦工厂的电视卡 怎样把"34444"->34444? 构造函数初级问题 求串口联网方法! 爱情和事业是不是真的水火不容不可兼得??? 窗体里的数据能不能排序呢 救急,为什么我设置的fnOpenModal参数无效? 如何修改listview中的值? 经常去联众下围棋的兄弟进来,问个问题 用jbuilder怎样把htc文件打包到web application中去? 求助高手指点:用vb实现把结果输出到已定制的word表格中 用200百分问个很菜的问题 关于超星的问题 探讨:如何把软件开发工作为我们一生的事业 ocx问题?参数传递 用200百分问个很菜的问题 请问谁能告诉我一个制作从模糊到清晰运动的源代码或地址? 改变对话框中菜单区的背景色,急 弱智问题:我修改一个打印报表的数据窗口格式,修改后的新问题是它每次打印时接着纸的最上面, IE不能打开新窗口。是什么道理? java下如何得到当前程序(application)的路径?很急!! 组件调用问题? 初学者问题, 简单!! 为什么struts的中文资料如此之少??哪位知道有哪些中文书籍?电子书最好!! 我想做一个报表之类的东西,能在网页上显示,大家给点提示,有现成的例子最好,先谢了 请教各位大大 一个关于消息映射的郁闷 如何在Remote Data Module中使用ADOCommand? 真失败...关于优化pl/sql的问题 为什么名字空间下没有ADO 如何获得一个文件的完整URL地址? 谁能详细的讲讲我不明白的例子。我开ID送1000分。我把ID给费了。一定要搞懂 Applet从html中读取参数信息????? 在win98里可上网,但为什么不能查看网络邻居的属性?(在线等!!!) 关于超星的问题 有谁知道win2003+sql2000的问题? 怎么删除表中列的DEFAULT啊??? 高手请进,将程序加为服务 关于邮件服务器 组件编写中的问题--如何显示图标 记得以前学计算机的热情很大,并且非常希望有一台计算机,可是现在机器有了,却没有了以前的热情,经典书买了一堆却都没有看,我在想到底要不 关于超星的问题 大家装了windows server 2003么?怎么样啊?讨论一下好么!! 救救我吖!!怎样在oracle8.0.5中直接添加数据!!高分!急!! 大问题!!!装2003后网卡驱程不行,声卡装了听不到声音??? java能不能实现多文档(象VC++中)? 哪位E文好的同志能把这段话翻译出来,是RFC1928中的一段。 当初喜欢她,想追她,给她打了几次电话,她又不接,然后我就放弃了.现在她又会来看我.但是回去之后她也没再说什么了,也没给我打电话,我也再没给她打过电话了, 现在全世界最残暴的人是谁 英文 我们不可以在公园做什么?我们不可以喂鸟. 谁能帮我解释:女人心海底针.谁能帮我解释:女人心海底针.谁能帮我解释:女人心海底针. 拟人的修辞手法 鸟毛是啥意思?百科上的解释还是无法让我明白鸟毛的真正含义 女人心海底针, 为什么傲游浏览器打开土豆是这样说明403 ForbiddenYou don't have permission to access the URL on this server.Sorry for the inconvenience.Please report this message and include the following information to us.Thank you very much!Server:a 鸟事是什么意思 修辞的用法? 帮我查矛盾原理方法论 加鸟子是啥意思 修辞的各种用法?带上例子 玩命猜图116关是什么呀 丹麦的格陵兰岛比英国的大不列颠岛大约大195.5平方千米,是大不列颠岛的9.5倍.问大不列颠岛和格陵兰岛的面面积分别是多少万平方千米?(用方程解应用题) 语文修辞的总体用法~常用的就行~本人在此谢过了~ 玩命猜图116关是什么?求助! 丹麦的格陵兰岛面积比英国的不大列颠岛大约大195.5万平方千米,是不大列颠岛的9.5倍.问大不列颠岛和格陵兰岛的面积分别为多少万平方千米? 了解修辞的用法和意义 关于我国社会主义市场经济的特点,有人编了这样一个顺口溜:“无形手,有形手,手拉手,向前走” 材料 两 我今天错过一个给她 排比修辞的用法 举重125KG 两只手夹角120°每只手所受的力 请从政治、经济、外交关系等角度说明我们在近代“错失良机”的原因. 请问组织化分为很多种吗?那农民组织化有哪些模式呢? 116是什么意思 举例说明什么叫“错过了不少良机”? 组织化推动的定义 business finance的 (IRR)Internal Rate of return VPN我会求 请举例说明在生活中有哪些事可以说明错失良机、一事无成【除了(最大的麦穗)】 凡曝沙之鸟的“之”什么意思? 什么是DIFFERENTIAL_INTERNAL_RATE_OF_RETURN?如题 求错失良机的小故事从古至今因错失良机而悔恨终生的小故事.(最好是名人的) 满井游记凡曝沙之鸟的凡的意思 什么是Modified_internal_rate_of_return? 如何理解资本主义社会一定被社会主义社会所替代,你的观点是什么? 商鞅变法与“管仲相桓公”相比较,它所产生的不同于“相桓公”的作用是什么?管仲相桓公,霸诸侯,一匡天下. 函数f(x)在[0,+∞)上是单调递减函数,则f(1-x^2)的单调递增区间是 一个圈里一个“村”字.打一先秦作家,, 凡鸟偏从末世来,都知爱慕此生才.写的是谁? 在网络上菜鸟是什麽意思 一个圈里一个村,打一先秦作家名,为什么是庄子? 英语翻译如题,请英语好的朋友帮帮忙!把张学友的《女人心》翻译成汉语版的如:HELLO 翻译成 :哈楼还如:Conrazon De Melao,Melao Melao Melao 苦恼手的没老,没老没老没老.就是要学着唱的 ,就是苦于 商鞅变法与 管仲相桓公 相比较,它所产生的不同与 相桓公 的作用是什么 鸟字的意思是什么我朋友老是说我鸟字,是什么啊 张学友的中文翻译最好是一句中文一句英语的翻译,谢谢了~ 商鞅变法与“管仲相恒公”相比较,他所产生的不同于“相恒公”的作用是什么? 请各位医生跟我看看男,25岁!我三叔以前是跑车的!我小时候经常坐他的货车去各地!车山有汽油味!不知道怎么的我就很喜欢闻汽油味!它们都说汽油味难闻,但是我闻着是香的!还有就是几年前我 用“通”字组词,意思是普通 《动物世界》和《走近科学》现在还有播出么,如果有的话,请问是什么具体时间呢, 东欧剧变的原因请填空:照搬______模式,长期受制于苏联内部原因:经济发展滞缓,导致__________;外部原因:苏联的_________改革思想的影响;西方国家的“______________”等政策的推行直接原因 通表示没有障碍,穿得过去的意思能组什么词语 电路,喇叭电动玩具喇叭声音小给孩子买了个遥控的小车,带个小喇叭,里边有几首歌,刚买来充好电,音乐声音特别大,正常关机,再次打开的时候声音就变小了,好像是有人把音量调小了一样.音质 如何快速便捷的取出轴承滚珠滚珠很大,一只手只能抓两个. “女人心, 模拟汽笛声的电路,最好555,或分立的 轴承里的滚珠是干什么用的 女人心海底针是什么意思? 为什么说人是世界上最善良,又是最残忍的高级动物? 英语翻译现在立刻马上过了不要你的 辛格访华获“不寻常待遇” 两国握手世19岁女孩把自己包装成富家女 梦想嫁财政部将续发行280亿元记账式附息国杭州地铁4号线开通后1号线票价将下降中铁建出台招待费管理办法 单张发票控京津冀等六省区市领导商议大气污染防治安监总局:呼吸类防护品合格率达96.“延长养老保险缴费达成共识”说法不准俄总理梅德韦杰夫访问安徽 在中科大发菲总统拒就香港人质事件道歉 担心引发沙特拒绝“非常”背后有小心思韩情报院涉嫌干涉大选引发在野党不服选巴沙尔下台又能怎么样?俄移民局:2015年所有在俄移民必须男明星的大胆\"告白\" 盘点男神心俄罗斯总理访问安徽 拿相机拍照(组图储蓄过少不敢言退 不少美国中产阶级称沙特王室称将疏远美国 美国沙特关系或1亿美国人不工作 劳动力参与率创35巴基斯坦总理访美“提携”经济合作 签英国央行维持现行货币政策 看好经济走长春站南一售票室将“全自助”《哨响shaoxiang长春站南一售票室将“全自助”集中清理“三大商圈”水务集团:检测水质合格醉酒开班车要去送员工等红灯睡着被警方3男子开超市“碰瓷”:遥控商品 顾客市民救了一只受伤猫头鹰我省交警严管冬季校车交通安全民营银行概念股还有多大机会?楼顶落积雪 砸中路过车IPO重启口径没变男婴疑异物卡喉 送医牵动众人心女子躺地引发堵车市民、民警耐心劝解吉林明后天再迎降雪 部分地方有暴雪两块混凝土挡在路中央谁家的? 请快认清华大学最高可降60分录取十位读者获奖有没有你?吉林松原发生5.3级地震 市民称比上李虎恩任主帅高钟勋任助教可口可乐 缤纷有奖活动精彩上演
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘