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

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

 

HTML5发展慢热 开发者热情不减 NimbleBit孪生兄弟创始人:最后悔没有专注和扩大品牌 将对Windows形成挑战:谷歌在Chrome OS中默认支持Office 微软的企业社交大动作:Yammer发布移动SDK 谷歌开源Gumbo:纯C语言实现的HTML5解析库 AMD发布APPML源码,构建clMath库 【观察】3个月,每天增加52台,又一家云企业跻身十万台服务器俱乐部 感受华为IT业务的实力 小米雷军:我为什么做红米? GitHub上线Trending功能,帮你轻松找到有潜力的开源项目 如私人秘书:谷歌搜索将变得更加个性化 微软将于10月17日正式发布Windows 8.1 Google推出在线教育C2C平台Helpouts 技术人员组团参加SDCC 2013的十个理由 继BAT之后 第四大巨头是谁 如果传统IT部门真的消亡,你该何去何从? 闪存突袭,混合储存是否已步入黄昏 Cloudera发布Hadoop开源组件Sentry:提供细粒度基于角色的安全控制 我从其他Shell脚本中学到了什么? 10个调试和排错的小建议 机器学习的时代来临,人类应该做点什么? 云端测试破1500万 Testin已为开发者省2亿 智能腕表inWatch:已发售近3600台 Bingo!微软证实Windows 8.1将捆绑安装Skype IBM宣布收购以色列网络安全公司Trusteer 约10亿美元 如何才能运作好一个开源项目? 为什么JavaScript有能力成为未来企业级编程语言? Red Hat CEO:拥抱开源 拥抱克隆 小米手机-HAXLR8on硬件黑客马拉松 开团了! 移动周报:雷军做红米的N个理由 Pangea Software CEO:08年App Store游戏降价大战的真相 有谁知道有什么API函数可以监控某一特定应用程序对系统发送的消息 我的声音程序,为什么 不能播放啊 各位大虾:请问vbscript中二维数组怎么定义?知道的请告诉我好吗?!!! 圆形或其他形状的button 谁能给出在浏览器中不断显示鼠标位置的最简单javascript代码? PHP如何调用VB生成的DLL(DCOM中间层中的类) 如何用WinSock远程控制修改一台电脑的注册表?请高手给个思路或源码,谢谢!高分相谢。 求一曲线拟合的简单高效算法!最好有源码或伪代码! 请解释一下ActiveX控件中的方法和事件有什么区别? 有谁知道如何设置CreateDirectoryEX中的参数 请问在VC6.0中如何把数据文件做进可执行文件中?在线等待...... 编写DLL时,如何获得某一消息的lParam和wParam参数值 数据维护问题,请大家多多帮忙!在线等待! 请问如何取得用户在控制面板的国别设置中所设的国家或地区是什么? SaxException:File "c:\xml\reports.xml"not found MOV large fs:0 1234h是什么东西? 网页上浮动图片怎么做阿?急~~~ 无模对话框 我到底错在哪? 问一个很简单的问题?如何做一个链接到框架页! 这是不是病毒? 新作一系统需要用条形码输入,用asp.net作,需要与条形码输入器的硬件进行交流吗?条形码的硬件选用什么比较好?价格是多少? 请问各位大虾,那里有COM以及COLLECTION对象编程的文章和例程? 一个保存文件对话框的问题 一个很菜的问题,实在不会 sql语句怎么写? 关于服务器端和客户端通信的问题,急,请各位大虾帮忙 error LNK2001: unresolved external symbol "public: char __thiscall bcdtoasc::secondchar(char)" (?secondchar@bcdtoasc@@QAEDD@Z) 文本框的问题 关于 ACCESS 添加记录的问题? 为什么我在数据窗口中的sql语句中使用参数有错误?提示invalid和不完整! 在UNIX下如何编译C++程序 请教一个COM对象创建的问题 如何获取DropDownlist的SelectedItem.Text? lirun(笨笨狗)请进来领分 怎么得到数据库中的id值。 有点痛,不知道是什么病,大家帮忙看看 GOOGLE被中国"冷处理" 请介绍一本好一点的Winsock函数编程的书,电子书或者纸书都可以 关于全局CDatabase; mysqldump备份数据库时总是出错? 谁有http://211.100.6.72的源代码最好有附带的数据库连接说明。200 在2000server上安装oracle的问题,求教! 怎样深层理解delphi的类变量 数据库中日期范围怎么比较? 如何将Access的数据导入SQL-server 散分了,高手请进---.net不能够bug ???怎样在Delphi中对导出到Excel文件单元格进行划线???? 在VB中如何进行程序的数据输入有效性验证? 请上次回答我NT问题的同志进来拿分,上次只给了100 如何学winzip那样,在弹出菜单中增加一个新的项目 “常识”素材 用哲学观点看服装发展史联系马克思主义哲学,看服装发展字数2000 这个图像为什么斜率为负 劳动发展史是理解全部社会发展史的钥匙.用哲学原理解释,(不少于100字) 使SDS-聚丙烯酰胺凝胶电泳具有高分辨率的三个因素是什么 太空里可以做什么实验快 过两点A(-1,3)和B(2,-3)直线斜率K是 SDS-聚丙烯酰胺凝胶电泳和琼脂糖凝胶电泳?比较说明SDS-PAGE(SDS-聚丙烯酰胺凝胶电泳)和琼脂糖凝胶电泳的物质分离原理和特点? y=-x的图像斜率是1还是-1?斜率有负的吗? 过两点A(-2.4)B(-1 3)的直线斜率方程是 童趣 文言文急 在太空中不能做什么实验 1.还原剂的生成———————— ————————2.铁的还原————————3.将生铁脱硫去P降低含C量得钢————————横线是方程式, al与某无机物高温生成单质和某化合物,其中的单质在无色液体中加热生成磁性材料和单质气体去你妈的什么垃圾题 初一文言文(《童趣》)一.多义词之:故时有物外之趣( ) 心之所向( )昂首观之( )然:怡然自得( )庞然大物( )二.(藐小之物) 藐:(细察其纹理) 纹理:(使之冲烟而飞鸣) 求硫酸的msds! 化学中固体化合物加某单质物生成另一液体化合物和单质物的反应有哪些? 最大的昆虫有多大?在那个地区? 急求0.1n硫酸的MSDS谁有.同志们.抗坏血酸的msds有没有,同志们。谢谢 怎样算电动机线圈的匝数和线的大小? 人类了解历史的途径有哪些? 从海水可获得的在常温下为液态的单质是 A镁 B钾 C溴 D碘 电动机线圈怎样绕线最好要有精细图纸! 昆虫最大有多大无 高2,3直线斜率问题已知点A(2,3),B(-3,-2).若直线L过点P(1,1)且与线段AB相交,则直线L的斜率K的取值范围是( )A.K>=3/4 B.3/4 三氧化二铝和矾土有什么不同 最小的而且会飞的昆虫有多大?我想知道,世界上最小的飞虫有多大?我们是不是可以将它看作是一架微型智能飞行器,其精密程度是非人工所能创造出来的,它是大自然的杰作! 直线a//直线b,b//平面α,a不在α内,求证:直线a//平面α发错了,做这题。上面那题不是。a,b是两条异面直线,平面α过a且与b平行,平行β过b且与a平行,求证:平面α‖平面β。 常用的外圆车刀有三种,其主偏角分别为 高一生物要不要背细胞学说建立历程要不要背什么比夏列文虎克施莱登之类的,还是只要背细胞学说的主要内容?如果要背,要背哪些 需要严密证明,很基础,不难!(6)已知直线a、b异面,且平面α过直线a平行于直线b,平面β过直线b平行于直线a.求证:平面α与平面β平行. 如何写语文中的链接材料语文阅读理解中总会有链接材料这一题 怎样才能拿高分呢 请教 高中生物 历史上细胞学说的建立过程.详细但不冗长! 一道高一的立体几何证明题 如图所示的一组图形为某一四棱锥S-ABCD的侧面与底面.已知SA垂直于平面ABCD,求过A且垂直于SC的平面分别交于SB,SC,SD于E,F,G求证AE垂直于平面SBC(本题第一问本是要画 请问75kw电机在660V时电流有多少,升压到1140v电流是多少,用什么公式计算?应该怎样换算呢?请问660v升压到1140v后能不能节电,能节多少?怎样计算 我想660v电流I=P/√3U78%=75/1.732×0.66×0.78=84A1140v电流I 细胞学说的建立过程,是一个——————过程 为什么会产生渗透压 如题,急求过硫酸钠,杀菌剂,叔丁基过氧化氢的英文版MSDS,麻烦帮帮忙, 人体细胞新陈代谢要多久能换一遍 具体多长时间 谁有钛白粉的MSDS文件?求一份,有的话麻烦发一份给我. 常温常压下,只有一种元素的单质呈液态? 人体细胞几天可以完全的换新?人体细胞经过新陈代谢,经过几天可以完成更新成新的细胞呢?一个好的习惯养成需要三个月,一个好人生,需要十年的追逐,那我们整个人换新到底最短需要多少时 要通过什么来理解全部人类历史的钥匙?.理解全部人类历史的钥匙,应当从()A.阶级斗争发展史中去寻找B.生产劳动发展史中去寻找C.地理环境变迁史中去寻找D.政治制度演变史中去寻找 根据题目材料要求设计低年级段语文测试题低年级阅读材料牙齿的苦恼牙齿工作了一天真疲劳,晚上,准备好好睡一觉.不料,小主人又送来食物,命令它们赶快咀嚼.牙齿们只好全体行动,可心中都 人体细胞一天换多少个 过两点A(1,3).B(-5,6)的直线斜率是1)空间点P(1,2,-2)和Q(-1,0,-1)之间的距离是2)若空间两条直线a和b没有公共点,则a.b的位置关系是3)直线5X-4y-20=0在X.Y轴上的截距分别是过两点A(1,3).B(-5,6)的直线斜率是 在形成精子和卵细胞时,染色体减半进入,父母双方不是少一半么?染色体怎样变化? 请问人体细胞多久会全部更新一次?多久呢 我要重新做人 在常温下为液体的单质是什么? 哪里有仓颉字典下载要收词量比较庞大的 人体细胞多长时间更新 什么常见单质常温下是液体? 中国字典中最难写的是什么字? 植物体内的四种组织,从要根本上说都是来自于?A、分生组织的分裂、分化 B、受精卵细胞的分裂、生长分化 C、保护组织的分裂、分化 D、营养组织的分化演变有些人说选A,有些人说选B,头都大 KMnO4在酸性碱性中性溶液中分别变成什么离子? 谁知道哲学的发展史?分析人是用什么的方式在认识世界的?唯物主义哲学是否是支持命运存在的? 2.下表是四种植物分生组织的细胞周期,有关叙述正确的是 植物 细胞周期的时间(h) a时期 b时期 合 计 物种1 10.6 0.4 11 物种2 18 0.5 18.5 物种3 16.5 2 18.5 物种4 10.4 2.3 12.7 A.四种 急求语文素材啊!拜托拜托了 高中生物(关于细胞学说,细胞是通过细胞分裂产生的 为什么不符合细胞学说老细胞通过细胞分裂产生新细胞,为什么符合细胞学说 求植物的基本组织中的机械组织与分生组织的特点(注意简洁明了).
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘