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

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

 

Meteor PK Django,谁更适合开发实时Web应用? 学编程就像选家具:去宜家还是从种树开始? 前车之鉴 十二个年度最差设计网站汇集 冷暖交替,2014年编程兴衰趋势预测 诺基亚出Android手机,微软或将受惠 苹果不收购Nest的大猜想 Netflix开源S3一致性提升利器S3mper Fi 《近匠》第06期:UCloud——目标!完整云服务 小三上位:Windows Phone不容忽视的契机 “详解Visual Studio 2013”全国巡讲北京站:无忧开发iOS及Android应用 Chrome最新版:快速静音及在Win8中建Chrome OS系统 雅虎COO Henrique de Castro因业绩不佳被解雇 分析比特币背后的数据算法,抢占背后巨大市场先机 美食菜谱将会成创业风口的两大理由 Windows XP杀毒软件更新 将被延至2015年7月 小心,商家已经盯上你了 一软一硬 让你时刻保持清醒的可穿戴产品 寓教于乐 贝瓦依托移动平台打造中国式儿童“轻教育” 中科创达:CES2014上的中国红 SA:2014年移动互联网十大技术创新预测 回顾2013:HBase的提升与挑战 Google打造云中Hadoop便捷版,强势对抗AWS 【信息图】专业Web设计师和业余设计师的发展状况并不协调 先试后买:Agawi推新型广告服务AppGlimpse 搜狗CEO王小川:“硬件免费”是误区 平均比Hive快24倍,Impala剑指Stinger 利用ElasticSearch和Redis检索和存储十亿信息 微软高管再度失血 媒体及娱乐副总裁因内部重组离职 Google研制智能隐形眼镜 帮助病人监测血糖指标 盘点2013:最优秀的HTML5&amp;CSS3设计【多图】 AMD:未来PC将同时搭载Android、Windows双系统 我想用可视化的Java工具VisualCafe,哪里有不限制版?或有正版注册码? 各位,我现在的操作系统是win2k professional 我现在想运行.jsp程序。我应该有什么样的准备。用什么工具做jsp.服务器怎么配置。这些东西都那里去下载。请指点。不胜感激! 急,listbox的columns设置为大于1后,它的这几个列怎样添加字符 一个弱智的问题: 怎样判断实例是否存在?? 再议 在VB中如何创建三层结构的应用程序 紧急问题!Crystal Report是否不支持中文的? 如何得到系统的开关机时间(在WIN2K下)???急 怎么实现这种嵌套的查询结果?(急急求救) 对象的handle,hwnd和指向此对象的指针之间是什么关系??? JavaBean+jsp+Tomcat4.0?把我搞醉了 一个非常棘手的问题,都吃不下,睡不着了,帮忙啊,分不够的话,再开数贴。 高分请问:会跳舞(有音乐)的圣诞老人(玩具,大约有电脑显示屏一般高度)在上海买多少钱,急急急 已有CBitmap m_Bitmap,如何求对应的HDIB 在音乐文件中加入一个代码…… 这种情况下如何用进程条控件? 看了一通sps的sdk,看的我头大的不得了,看来英语还是不过关阿 我要把格林威治平时转换成当地时间用什么函数呢???? 用SQL语句显示记录集中的倒数200条记录,及显示从第几条到第几到的记录?? 问:vb.net采用的是c#,那么在ms.net里面到底有没有visual c#.net??? 高手请进!ADO问题 给我已给在javabean里面使用HttpServletRequest对象的例子好吗?谢谢你了,具体到里面看看可以吗? 在office2000中打印来自matlab53的图形,总是提示word内存不足,word自行关闭。请问为何? 开开关关的窗口 用VC编写操纵数据库方面的COM组件有前途吗? 请问如何将CString中的字符串赋给char* ADODB.Connection问题,急!! 急急! 在javabean里面使用HttpServletRequest对象的例子好吗?谢谢你了,具体到里面看看可以吗? 河南的程序员考试成绩出来了没有?都快把大家急疯了! 一个类的四个问题?this指针等等,欢迎大家的光临。 请大家帮个忙!我的PARADOX数据库有660M,但是在读取的时候出现‘BLOB HAS BEEN MODIFIED‘!! 请问哪里有ado数据库引擎下载,谢谢~! BDE错误$2109 如何得到“我的文档”里的IShellView指针? SOS!各位帮帮我呀!“实现汉诺塔” 幫忙看一下下面這段代碼有什么問題? 改进后的开开关关窗口特别酷 请问在VB6与VB.NET在数据库方面有多大的区别呀?? 关于C语言 寻找将 AUTOCAD 文件格式转换成 PDF 格式的软件 谁有包含开发接口的OCR软件? 求助:没有紧急修复软盘,怎样恢复win2kserver的双启菜单。 请问怎么得到DATAGRID1中记录的总条数! 转发:一粒沙子的爱情故事 公司發過年禮物了 ,哎 ,原來是一塊石英表 ,雖然是情侶表 ,卻只發一塊 ,不是一對 ,你們呢!..... ??有解密高手吗?或者哪里有这样的论坛?? 怎样用多线程显示多个form? VB串口发送大数据量时其他程序没有反应? 这句sql语句怎么写?低手请教! 数据库高手请进,报表问题!!! 请介绍VC测试内存泄漏的好工具. 谁能科学的回答下先有鸡还是先有蛋最好拿出数据 这是什么昆虫? 甲乙两站相距360Km一列快车从甲站开往乙站,每小时60km,快车行驶半小时后,另外一列车从乙站,每小时行驶48km,快车行驶几小时与慢车相遇? 甲,乙两站相距480km,一列慢车从家站开出,速度为90km/h,一列快车从乙站开出,速度为140km/h,根据这个回答下面的题目, 媒介昆虫种类有哪些?举例说明 动物与动物之间的天敌有哪些? 甲、乙两车站相距480km,一列慢车从甲站开出,每小时行60km,一列快车从乙站开出,每小时行90km.设两车同时开出,相背而行,xh后相距600km,方程是(90-60)x=480吗? 王大爷在自家墙外围了一个养鸡场.围养鸡场的长是22,其中一条边是22m,求养鸡场的面积 蛇的天敌忘了是什么动物了长得很像松鼠?长得很小不是黄鼠狼,有点象老鼠蛇不是他的主食只有饿急了才吃 甲、乙两车站相距480km,一列慢车从甲站开出,每小时行60km,一列快车从乙站开出,每小时行90km.两车同时开出,同向而行,且慢车在前,xh后快车追上慢车,方程是? 用关联词把两个句子组成一句话.养鸡场主人有事没事.养鸡场主人喜欢散布谣言. 眼睛蛇的天敌是什么动物 A.B两地相距480KM,一列慢车从A地出发,每小时行60KM,一列快车从B地出发,每小时行驶90KM,快车提前30分钟出发,两车相向而行,慢车行驶了多长时间后两车相遇. 一个长方形养鸡场,一条长边利用原一墙,其余三条是竹篱笆,已知竹篱笆共长24米,宽是长的2分之一,养鸡场的面积是多少平方米? 蛇的天敌是什么动物 甲乙两地相距480km,一列快车从甲地开出,每小时行驶120km,一列慢车从乙地出发,每小行驶80km.若两车同时开出,同向而行,问快车用多少小时追上慢车?用 方 一条关于养鸡场的问题.速求~要建一个面积为150m²的长方形养鸡场,养鸡场的一边靠着原有的一面墙,墙长a米,另三边用竹篱笆围城,篱笆总长为35m.(1)求养鸡场的长与宽(2)当a<15或15≤a 怎么样办一个养鸡场山区养殖草鸡!按10000只的规模,大概投资多少钱?前景如何?请高手和专家指点指点!感谢! 例1、甲乙两站相距480公里.一列慢车从甲站开出,每小时行90公里;一列快车从乙站出发,每小时行140公里.(1)慢车先开出1小时,快车再开.两车相向而行.问快车开出多少小时后两车相遇?2)两 甲乙两地相距480km.一列快车从甲地出发,每小时行驶120km,一列慢车从乙地开出,每小时行驶80km若辆车同时出发,相向而行,快车行驶一小时后,因故障停车20分钟后继续行驶,问慢车出发几小时两车 爷爷在自家墙外围了一个梯形养鸡场,围养鸡场的篱笆总长是25米,其中一条边长8米,求这个养鸡场的面积. 7、甲、乙两站相距480公里,一列慢车从甲站开出,每小时行90公里,一列快车从乙站开出,每小时行140公里.(1)慢车先开出1小时,快车再开.两车相向而行.问快车开出多少小时后两车相遇? (2) 甲乙两地相距480km,一列慢车从甲地开出,速度为80km/h;一列快车从乙地开出,速度为120km/h.1.如果两车相向而行,在他们同时开出xh(未相遇)时,两车相距多少千米?2.如果两车相背而行,在他们同时 养鸡场主要用什么消毒? 甲,乙两站相距480公里,一列慢车从甲站开出,每小时行90公里,一列快车从乙站开出甲、乙两站相距480公里一列慢车从甲站开出每小时行90公里一列快车从乙站开出每小时 甲乙俩地相距200km,快车走120km/h,慢车走80km/h,慢车从甲地出发,快车从乙地出发,(1)如果两车同时出发,相向而行,出发后几时相遇(2)如果俩车同时出发,同向而行,出发后几时相遇 养鸡场如何消毒 甲、乙两站相距480公里,一列慢车从甲站开出,每小时行90公里,一列快车从乙站开出,每小时行140公里.(1)慢车先开出1小时,快车再开.两车相向而行.问快车开出多少小时后两车相遇?(2) 某农场要建一个长方形的养鸡场,鸡场的一边靠墙(墙长25m),另外三边用木栏围成,木栏长40m.鸡场的面积能达到列出式子 养鸡场消毒池多久换一次? 家庭昆虫的种类成年昆虫长1.5至2厘米,宽2至3毫米,黑色,尾部有分叉,六爪,带触角,能快速爬行!我想问,此虫的名称,对人类生活有无影响? 养鸡场投资 建设一个1W羽规模的养鸡场,大概要投资多少?年后养鸡做准备的~· 建一个一W只的养鸡场要多长时间 昆虫分类根据口器,翅膀,触角来分类 王大爷在自家墙外围成一个养鸡场,围鸡场的篱笆的总长是22m,其中一条边是8m,求养鸡场的面积. 养鸡场地如何消毒? 先有鸡还是先有蛋,科学的回答 王大爷在自家墙外围成一个养鸡场,围鸡场的篱笆的总长是22米,其中一条边是8m,求养鸡场的面积 世界上的昆虫种类为什么那么多.让我们查查为什么昆虫种类那么繁多,麻烦大家拜拜忙啊. 先有鸡还是先有蛋?要有科学道理.要清楚. 甲、乙两地相距360km,慢车每小时行80km,快车与慢车的速度比是5:4.两车分别从甲、乙两地同时开出,经过几小时相遇 一辆客车从甲地到乙地要6小时,一辆货车从乙地到甲地要8小时,现在两车相向而行相遇时离乙地60KM两地相距两地相距几千米 请问,是先有鸡还是先有蛋?请给个科学的回答! 两车从相距360km的甲乙两地相向而行,经过4小时相遇,已知快车与慢车的速度比是5:4,慢车每小时行多少千米? 一列客车,从甲地开往乙地,去用每小时60km,返回时每小时90km,往返平均速度是多少?(60+90)/2180*275km 是先有鸡还是先有蛋?要科学的回答! 甲乙两地相距80KM,快车和慢车同时从甲地到乙地,快车比慢车早20分钟到.快慢车速度比4:3,那么慢车速度多快慢车速度比4:3,那么慢车速度多少? 客车从甲地到乙地要6小时;货车从乙地到甲地要8小时.两车同时分别从两地出发相对开出,相遇时货车行了240km.甲乙俩地相距多少千米?算式 要仔细 急 甲乙两地相距480km,一列快车从甲地开出120km/小时,一列慢车从乙地开出80km/小时 1若两车同时出发,相向而行,快车行驶1小时后,因故障停车20分钟后继续行驶,问慢车出发几小时两车相遇.2若两车 快慢两车同时从甲乙两地相向而行,快车速度45km,慢车速度20km,两车三次相遇后快车又行360km相遇,求全程快慢两车同时从甲乙两地相向而行,快车速度45km,慢车速度20km,两车三次相遇后快车又行360 我想知道养鸡场怎么办?需要什么什么条件?具体知道养鸡场的规模怎么确定、平面怎么布置、成本预算、怎么向政府贷款? 昆虫怎么分类 请问有哪些好的养鸡场名 北京和呼和浩特相距660km,一列慢车从呼和浩特开出,每时40km,一列快车从北京开出,每时60km,两车同时开两车同时开出,相向而行.如果快车先出发一小时,慢车才开出,快车出发几分后两车相遇?( 先有鸡还是先有蛋,我要科学,科学, 两列火车从甲乙两地相对开出,4小时后在距终点48千米处相遇,慢车是快车速度的5\7,各车的速度是多少,路程? 甲乙两地相距162km,一列慢车从甲站开出,每小时走48kn,一列快车从乙站开出,每小时走60km,1.两列火车同时相向而行,多长时间可以相遇?2.两车同时反向而行,几小时后两车相距270km?3.两车相向而行, 先有鸡还是先有蛋!从科学的角度解答 这是何种虫类?晚上的时候这只小东西飞到我的电脑屏幕上,让我眼前一亮,它身上的金色闪闪发光,很美,不知这是何种昆虫? 甲、乙两地相距360km,慢车从甲站开出每小时行驶40km,慢车开出40min后,快车从乙站开出,每小时行驶60km.问:慢车开出多少小时后两车相遇?(方程)
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn