好库网 好库网首页 | 我的好库
好饱的专栏

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

发布者:好饱
发布日期:2012/5/23 20:40:26   更新日期:2012/5/23 20:41:04
阅读次数:2003
评分:4.80
介绍: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)或请求此设备自动适应页面。

 


评论 [发表评论]
账号 密码 还没帐号呢,现在注册一个?

免责声明:好库网所展示的信息由买卖双方自行提供,其真实性、准确性和合法性由信息发布人负责。好库网不提供任何保证,并不承担任何法律责任。