解析:创建移动Web应用的技巧
2011-12-27 10:05:22  来源:e800  作者:粟薇 编译  编辑:王鲲鹏  
移动Web应用是本地应用的移动版本。现在,安卓产品和iOS设备(iPhone和iPad)都带有非常炫目的移动浏览器(分别为移动Chrome和移动Safari),而Opera的粉丝也可以安装自己喜欢的浏览器。

HTML画板

尽管用CSS渐变可以消除物理图片的加载,但是这个方法仍然会导致设备在浏览器中显示图片,从而减弱性能。

通过canvas要素和一些JavaScript,可以让浏览器显示出渐变效果。至少,如果不能用CSS3完成或是你发现它有助于提高性能时,canvas是不错的绘制工具。

为了上面的工具条,首先需要在HTML文件中创建一个canvas要素:


<canvas id="toolbar"></canvas>

然后,使用JavaScript,可以用下面的脚本在画板上生成所需的渐变:


var canvas = document.getElementById("toolbar");

var context = canvas.getContext("2d");

var gradient = context.createLinearGradient(0, 0, 0, 44);

gradient.addColorStop(0,'#2F2F2F');

gradient.addColorStop(0.5,'#151515');

gradient.addColorStop(0.51,'#000000');

gradient.addColorStop(1,'#000000');

context.fillStyle = gradient;

context.fillRect(0, 0, 300, 44);

上面的代码效果如下:

image010

硬件加速

当谈到移动Web应用时,苹果产品因用户群庞大,所以需要认真考虑。Safari可使用额外的硬件设备功能来增强图片和转换,因此可以加速用户界面性能。其他浏览器也添加了硬件加速支持,包括Firefox 4Chrome 10Opera 11

留意CSS3的演示性能

Opacity属性也可以令safari硬件加速显示出现故障,所以不可滥用。

使用RGBa值记号来说明浏览器中CSS颜色属性是缓解opacity性能问题的权宜之计;RGB中的a表示阿尔法。用RGB值来说明颜色,然后附上一个或更多数值,就可以在不适用opacity CSS属性的情况下完全控制一个要素的透明度了。

不需要使用:


.myElement {

 background-color: #000000;

 opacity: 0.75;

}

只需使用:


.myElement {

 background-color: rgba(0, 0, 0, 0.75);

}

离线用户体验

image011

利用本地数据存储意味着数据一旦被下载到设备中,就可以使用.manifest文件,这个文件对文件进行本地缓冲。所以用户离线时,也能继续在客户端保存数据。

虽然离线状态时,不能从服务器下载数据,但至少可以在客户端为用户提供保存选项和决定权,一旦恢复网络连接就可以将其选择同步到服务器。

结论

这篇文章介绍了一些经验和技巧供移动Web产品开发员设计和创建漂亮且加载迅速的用户界面。移动Web应用的最大优势是可以将其创建为独立的平台——可以在设备和操作系统之外保持独立性。不需要额外的程序员工具包和特定平台使用的SDK就可以制作Web应用,因此仍可沿用目前的开发工具。
第4页/4页 前一页 1 2 3 4 
本文关键字: 移动Web 安卓 iOS 浏览器
相关文章