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

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)或请求此设备自动适应页面。

 

能携带的网络 Anyfi 150万建网络虚拟热点 又将颠覆产业?传苹果正开发蓝牙智能手表 JavaScript社区开发者调查结果 欢乐淘、求PS大神获腾讯开放平台应用创新大赛年度金奖 2012是响应式设计之年 12月28日:1903年计算机之父冯&#183;诺依曼出生 Android木马病毒:伪装成Google Play图标进行DDoS攻击 IE10 CSS Hack 程序员技术分享:训练机器学习 SVM算法解析 2013,谷歌的数据科学家都将干什么呢? Facebook“也”对服务器进行浸泡冷却 日本最大电脑商:Windows 8表现并不好 日均新增415个应用,Windows 8应用总数突破35000 百度推出图像搜索引擎“百度识图” 可基于图像实现全网人脸搜索 解决专利纠纷 RIM向诺基亚预付6500万 巨头的得意与失落:2012移动游戏十大收购案 Mozilla或许将发布iOS平台浏览器Junior Mozilla:Facebook手机将采用Firefox OS Anonymous2013年将放慢脚步,McAfee预测遭质疑 一周消息树:Facebook公布2012年Hackathon大赛顶级“黑客作品” HTML+CSS+JS 开发 Firefox OS 应用编程实战 前端开发工程师如何在2013年里提升自己 Java受Objective-C影响很大 而不是C++ Instagram回击报告指责:用户仍保持增长态势 回顾:2012年科技行业十大败笔 苹果地图入选 Amazon CEO Jeff Bezos:好年景,大挑战 2012年度盘点:移动互联网大事件回顾 详解Amazon Redshift 移动周报:再见,2012!你好,2013! 英特尔或在2月宣布其电视计划:提供分类频道 Prismatic:用机器学习分析用户兴趣只需10秒钟 ★★请教AVI文件的API函数★★(关于将位图存成avi时写入的一点问题:急问) 请问各位大大北大青鸟APTECH认证培训有什么优缺点,对找工作有帮助吗? 我想通过点击SELECT里的内容之后打开一个新窗口,应该怎么写?里面有代码,怎么修改? 这有人用VB做嵌入式开发吗? 朋友,帮帮我,About python C 需要一个方法去判断?谁能说说? 请问各位大大北大青鸟APTECH认证培训有什么优缺点,对找工作有帮助吗? 在DELPHI 6中怎样在TADODatset中 锁定一条记录,使它不能移动? 请教:rmi中的server为什么不能注册? 要在机房度过24小时!问:怎么过?(null) 我要在 dos 下用语言描一正玄波形想请教除了描点还有什么好的办法 能不能用PHP在图片上写汉字?!?! 我用<a href="Javascript:History.go(-1);">back</a> 提示 :运行出现错误 ,history 未定义。怎么办? 老问题:为何连接sql anywhere数据库时出现unable to connect database server:unable to start specified database. 一个困扰了我很久的问题,关于对话框关闭的问题! 怎样得到Windows系统的临时路径. 愿用1000求解的,高深问题??? test 关于数据库设计中的权限管理问题? 过六一了,节日快乐!为庆祝塞内加尔胜利散200分 请问!如何对一文本文件一次一行的读出!!! 如何制作类似于marquee的效果 编译问题:为何第一次编译总是出现如下问题? 这段程序我是从书上抄下来的,请问这么会语法错误,100分 100分求如何响应鼠标离开的事件 Delphi的帮助用得我真难受:( 数据库软件在我的机上正常,但在其他机上不正常? 谁有地方下《Delphi高级开发指南》的电子书? 请介绍一下如何在vc++6.0中使用msxml 编译问题:为何第一次编译总会出现以下问题? 将分组字段作为输入参数的存储过程咋写? 怎么样对一个查询结果的某字段作汇总? 报表啊!!!报表。。。----:::::::::::::((((((((((((((((( delphi用BDE控件的SQL语句建立的dbf表,或者batchmove产生的dbf表,无法被其他软件识别,比如foxpro,excel.请问如何解决该问题,在线等待 这是什么原因产生地 DaNiao(鸿雁) 拜托了! 为什么我的Session不管用(解决问题一定给分) 初学编程!想做个系统来练练手,请高手指点我要怎么做才事半功倍?! 我是新来的,很菜的问题,希望大家帮忙!!!! 请推荐一本COM方面的书。 为什么在VC下有些变量名(类型是自己定义的类或结构)调试时候watch窗口里不能看到他的内容? 关于数据库的问题。 如何从imagelist控件中提出图片显示在image控件上 高分求DOS下串口传送文件的算法! 在vb6中我需要一个这样的按钮,该如何实现? 窗口对象的showModalDialog问题 高分求DOS下串口传送文件的算法! 找asp速查手册 怎样不用MFC能写出用MFC写的属性页的效果啊?(就是用CPropertySheet和CPropertyPage的那种效果) 超超高手请进!万分紧急!100大分奉献! datawindow中column得到焦点后有一个焦点框,设置什么属性把它去掉? word分栏问题 请问如何把最后一页的文字集中于一个分栏 也就是一个分栏满了再开始下一个分栏 小苏打是什么样子的 古今中外的诗人 画家等都喜爱梅花,为什么?把你的看法写一写. 溶液中含有两种溶质氯化钠和硫酸,它们的物质的量之比为3:1.用石墨做电极电解该溶液时,根据反应产物可明显分为三个阶段,则下列叙述不正确的是( ).A.阴极只析出氢气B.阳极先析出氯 小苏打是什么?生活中什么地方能用到? 古今中外的诗人.画家都喜爱梅花,为什么?大家说说你们的看法这是我的作业 科学家从什么动物身上得到启示发明了什么 小苏打是什么啊?听说小苏打可以去黑头,对洗面奶可以收缩毛孔.请问小苏打到底是什么?超市都有卖,那么它在超市里面包装上叫什么啊?好象没有看到过.我问的是超市包装上打什么啊,没有看 古今诗人为什么非常喜欢写梅花 科学家从哪些动物身上得到启示发明了什么 古代最爱菊的是哪位诗人写出诗句 北宋诗人林 因喜爱梅花和仙鹤,所以有___之称 长江水系的大型水电站 长江黄河干流上各建了那些大型的水电站?分别位于哪个省区范围内?长江黄河的干流上修建了许多的水电站,我知道的有长江三峡水利工程,葛洲坝水电站,和小浪底水利工程,请问还有哪些大型 格尔尼卡:1.对立体主义的绘画方式你感到能理解吗?why?2.怎样用立体主义的绘画方式绘画吗?要交的, 长江水系与黄河水系大型水电站的作用 100字左右 不要太多 先说出大型水电站有哪些,再分别介绍各位GGMM们帮帮忙哈 kuai kuai 长江和黄河干流上各建了哪些大型水电站?它们分别位于哪个省(区)范围内快 立体主义画派是于哪年始于法国?着是手机宠物里的问题- - L50*50*6角钢每米的重量怎么计算? 苏打,小苏打,泡打粉,发酵粉有什么区别?学名与俗称分别是什么 一根圆柱形木材长4米,底面周长1.256米如果每立方米木材重150kg,这跟木材重多少kg? 汽车电路 写梅花的诗有哪些?他表达了诗人的什么情感? (1)一根圆柱形木材长4米,底面周长是1.256m,如果每立方米木材重150kg,这跟木材重多少kg?(2)小齐生日这天,妈妈为她定做了一个两层的圆柱型蛋糕,每层高6cm,底面直径分别是40cm.20cm,这块蛋糕 描写人物悲伤的句子200字 梅花的诗句!最好是唐代诗人写的. 5*50*50等边角钢每米重量是多少 L63x6角钢每米重量怎么计算 描写“梅花”的好段 什么气体能与氢气,氧气都发生反应? 温度计的问题把温度计放在冰水混合物中读数为4摄氏度把温度计放在冰水混合物中读数为4摄氏度;把它插入标准大气压下的沸水中,读数为94°c;若用它来测量一杯水,读数为22摄氏度.问,实际温 为什么开水不能烧太久.详细点 有关10克氢气和10克氧气发生反应的问题为何反应生成11.5克水而不是90克?如何比例? 黄河水系大型水电站要著名一点的 有什么生活用品,是科学家从动物身上受到启示,而发明的 斜管沉淀池表面负荷? 高中物理-如图所示为汽车蓄电池与车灯(电阻不变)、启动电动机组成的电路,蓄电池内阻为0.05Ω.如图所示为汽车蓄电池与车灯(电阻不变)、启动电动机组成的电路,蓄电池内阻为0.05Ω. 从古到今著名的画家有哪些?他们所在的朝代及代表作、风格分别是什么样的?最好用图表的形式 等边角钢L50*50*5每米理论重量为? 如图所示为汽车蓄电池于车灯(电阻不变)、启动电动机组成的电路,蓄电池内阻r为0.05殴,电流表和电压...如图所示为汽车蓄电池于车灯(电阻不变)、启动电动机组成的电路,蓄电池内阻r为0 有代表作的画家 电镀废水处理中斜管沉淀池能只设1座吗 ArcGIS生成的图像不能在ERDAS里打开,怎么办?错误提示如下, 汽车蓄电池与车灯的问题.晚上未关车灯,造成蓄电池电量少,但能启动汽车,对车灯会不会烧坏?新车,蓄电池怎样来充电? 画家与他的代表作短一点的,六年级寒假生活中的.欢迎六年级的学友帮忙.谢谢! 古代诗人喝酒写下的诗有哪些 1.那次会议是在去年冬天举行的The meeting ____ _____last winter.2.I won’t be mad at my best friend anymore.同义句I won’t ____ ____ ___my best friend anymore 炸香蕉是怎么炸的呢?炸的时候香蕉表层涂上的是什么,炸出来那么酥,有什么简单又方便的方法吗 古代诗人非得饮酒才会做诗吗 上海今天晴天还是暴雨 根据意思写词语:颜色众多,非常美丽. 有关Arcgis的问题?在运行这个软件时出现了Tool not license对话框,对话框中的内容是Unable to execute the selected tool.You do not have the necessary license to execute the selected tool. 明天是不是晴天? 这件衣服的颜色很艳丽. 科学家从动物身上发明了什么作文具体一点, 汽车蓄电池充电电流表不动怎么回事急!正负极接对了,电流表不动,新买的充电器,怎么电流表不动啊,是不是充不上电啊?谢谢各位 单个神经纤维的长度由多少?每个反射弧只有一个神经细胞传递么 word分栏 我分栏后除了第一排OK外 第二排第三排都少字呢 如下图所示 如果调整啊,我用标尺怎么都调不好~ 小苏打是什么东西啊,哪里有买的?小苏打是什么东西啊,哪有买》? 神经元,神经纤维,神经冲动,反射弧都是什么?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘