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

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

 

在VB中使用API函数 (之四) 在VB中使用API函数 (之五) 在VB中使用API函数 (之一) 在VB中用API实现多媒体 VB怎样用VB在应用程序中调用API VB怎样在DELPHI中使用API函数 指定文件夹-VB资料 VB5中注册控件三法 Bug:维护 Internet Transfer Control 之 Username 及 Pass VB对低层硬件访问控制 HitTest的妙用 -VB资料 ListBox项的控制-VB资料 VB 6.0中类聚集关系的实现 VB6编程中如何获取硬盘分区信息 VB的坐标系统综述 VB调用C程序动态链接库的方法 VB对低层硬件的访问控制 VB软件开发中的错误捕获及处理技术 VB中Combo的一种输入检查制约方法的实现 VB中Winsock控制的UDP协议的使用 VB中的时间处理问题 Windows操作平台下CGI的实现 -VB资料 按下某组键(HotKey)便执行某程式-VB资料 把所有的字体名称放到 ComboBox -VB资料 把文件置入到Text或RichText中-VB资料 捕捉 MouseExit 事件 -VB资料 操作过程动态显示 -VB资料 查找月份的最后一天-VB资料 程序启动时,如何自动判断 MDB文件是否损坏并自动修复?-VB资料 读取和修改Windows注册表 -VB资料 对VB的IDE环境的扩展 怎么将数据库中的字段项动态的添加到COMBOX里面去。(我用的是DB2数据库) sql关于多个数据库的问题 散分了! 我也散点分吧 有些话不吐不快!看某不知来历的版主下台后发贴有感 不知道是怎么回事,难道是显示器坏了? 启动windowns2000报错"no language support detected",请问怎么解决? WIN ME下怎么调试 ASP? oracle 存储过程代码格式优化 大家看过《ASP.NET完全手册》这本书吗?为什么书中提供的与书想配的站点http://www.prosetech.com/CompleteReference/不可访问呢? 紧急求救:如何根据数据库中的值以红色字体显示datagrid中的满足条件特定列特定行? 能不能实现用NOTES databse打开一个website(公司内部的),同时这个database自动关闭?? 用pear的进来报个名,以后互相学习~ VB.NET的两个简单问题??? not enough free disk space on /tmp,这个问题如何解决,(100分) 急寻:中缀和后缀表达式互转的源代码。 请问这个页面如何实现的..... 简单问题,在线等待中... 百分求购事务处理!! 用ATL写了一个com组件,在客户端怎么调用它呢? 请问如何取得USB摄像头和普通麦克的数据,怎样将已得到的视频音频数据在终端上播放 如何让WAS和Tomcat一样,运行JSP/SERVLET的时候出现错误进行提示? 用JDBC连接SQL Server 2000数据库问题?在线等待... 弹出式菜单的问题 各位大侠,寻求帮助,急!急! c语言类中的私有和公有变量在汇编中怎么表示? 关于EJB测试的问题 谁能给个错误处理的例子 比如 SQLSERVER 数据库关闭时 返回 “数据库关闭“ 的信息 部分匹配的问题 英文版XP中文显示问题 oracle,用PreparedStatement更新数据库,date型字段精确到分,应该如何操作? 数据导入的问题 有正义感的高手进来帮忙,干掉我设计的网站吧!在此不盛感激,同时也代表天下IT民工谢谢。 开始学PHP的菜鸟说:我现在用一个支持PHP的空间。比如XXX.PHP就可以用。我想用数据库。怎么连接呢?我可以把数据库放到自己的目录下用数 送分 我用的是:无惧上传类 Version V1.2 ,但是,程序执行后无出错提示,担找不到上传的文件,什么原因,那位朋友邦忙解决一下. 使用“POPTEN新闻管理系统”为什么不能上传图片呀? 小弟想学习EJB,不知道那本书较好? 测试过程 请问: 如果将数据分页里的复选框全选,并将每个复选框得到的ID插入另一张表。?? 关于Adodb+DataGrid的配合使用问题,高手请进! ★ ★我想在资源管理器窗口上 再加上一个Toolbar,(我看到过有些软件做到了,而且添加的Toolbar中还有启动程序的按钮),请问怎样可以做到 请教:“纳入基线” vs.net的水晶报表连接oracle,但找不到表,什么问题?很急啊!!! 关于float,double类型的数据四舍五入的讨论! 有无软件或OS可实现一台强大的电脑带多套外设?(N多键盘、鼠标) 请问如何正确配置和使用第三方开发包阿? 触发一个已封装好的程序 根据textbox内容查询数据库怎么写? 内存访问错误,参与者有分! 如何在类中创建一个其它类对象的数组? The angle of incidence is measured by the angle at which the wing is attached to the fuselage求翻译 新概念3册美语版录音 电子书 完整清晰的 水浒梁山一百单八将出场顺序 serious injury or death is not a pleasant subject to discuss or even consider.把 to discuss 变成ing或ed形式可以吗 serious injury or death is not a pleasant subject to discuss or .to discuss能改成过去分词discussed 机械方面翻译:Death or serious injury from winding up on rotating parts. 求以下单词的过去分词buy drink fight grow have kneel pay run shine take wear write 谁知道以下这些单词的过去分词die hate judge live stare 以下单词的过去分词是什么carry cry dirty try let cost hit beat 吃一袋薯片等于汽车尾气的危害,真的吗 吃一袋薯片等于汽车尾气的危害,真的吗谢谢啊!各位帮我一下! 孙杨无证驾驶前长时间不归队 未经报告菲律宾调查有关美国在菲开展间谍活动消汪洋会见出席中葡论坛的葡语国家领导人巴基斯坦前总统穆沙拉夫再获保释斯诺登撰文称其揭秘行为正确 有助于引穆尔西要求审判军方领导人 称政变是叛随笔:小沙丘 大文章——探访日本最著尼日利亚商贸中心失火 当地消防部门全南非一村落“自助打黑”烧杀6人俄议员称美国创建了大规模全球性监听系沙特开始清查非法外籍劳工通讯:传承土耳其海泡石雕刻艺术的匠人大众汽车为何在美销量大跌伦敦持刀袭击事件嫌疑人为19岁男子太阳系“大个子”木星6日晚与“月姑娘王成任晋中市代市长 胡玉亭辞任市长职郑元畅究竟是不是gay?他曾说过要找肥城300余个违规建设项目基本建成治它可能是今夏最好看的美剧!对,没错洒水车无声水溅路人 临沂环卫集团:音[情义哥看重建]永年县未发生车辆或行[情义哥看重建]赞皇:确保计生特殊家
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘