HTML5八大特性助力移动WebApp开发
Posted iOS笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML5八大特性助力移动WebApp开发相关的知识,希望对你有一定的参考价值。
WebApp的实现基础就是HMTL5+JS+CSS3,但是WebApp还是基于浏览器的微网站开发。
正式如此,我们必须要深入的了解html5的8大特性,这样才能方便我们在开发和设计APP的时候,更合理的采用原生APP与WebApp的相结合。
而APP里面最重要的一个分享功能,分享出去的必须是网页形式的。所以,需要学会HTML5。
为什么说HTML5适合进行移动WebApp开发?
第一特性:离线缓存
HTML5 Web Storage API可以看做是加强版的cookie,不受数据大小限制,有更好的弹性以及架构,可以将数据写入到本机的ROM中,还可以在关闭浏览器后再次打开时恢复数据,以减少网络流量。
Web Storage是HTML5引入的一个非常重要的功能,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多,cookie大小被限制在4KB,Web Storage官方建议为每个网站5MB。
Web Storage又分为两种:sessionStorage和localStorage
从字面意思就可以很清楚的看出来,sessionStorage将数据保存在session中,浏览器关闭也就没了;而localStorage则一直将数据保存在客户端本地;
不管是sessionStorage,还是localStorage,可使用的API都相同,常用的有如下几个(以localStorage为例):
1、保存数据:localStorage.setItem(key,value);
2、读取数据:localStorage.getItem(key);
3、删除单个数据:localStorage.removeItem(key);
4、删除所有数据:localStorage.clear();
5、得到某个索引的key:localStorage.key(index);
移动APP设计师要知道,什么时候让用户下载离线缓存(注意在线和离线app的区别)。
第二特性:音频视频自由嵌入,多媒体形式更为灵活
原生开发方式对于文字和音视频混排的多媒体内容处理相对麻烦,需要拆分开文字、图片、音频、视频,解析对应的URL并分别用不同的方式处理。
HTML5在这个方面完全不受限制,可以完全放在一起进行处理。
移动APP设计师要知道,如果新闻类、微博类、社交类应用的信息呈现中实现文字与多媒体混排,而不用专门嵌入webview,将是一件多美好的事情,至少现在原生方式实现起来还有困难。
第三特性:地理定位
地理位置定位,让定位和导航不再专属导航软件,地图也不用下载非常大的地图包,可以通过缓存来解决,到哪儿下哪儿,更灵活。
移动APP设计师要知道,现在嵌入LBS功能的应用越来越多,这也是移动设备与台式PC相比最大的优势之一,HTML5能把这个优势再度扩大化,好好想想怎么在你设计的应用里用上吧!
第四特性:Canvas绘图,提升移动平台的绘图能力
使用Canvas API可以简单绘制热点图收集用户体验资料,支持图片的移动、旋转、缩放等常规编辑。而且也支持2D和3D。
第五特性:丰富的交互方式
提升互动能力:拖拽、撤销历史操作、文本选择等。比如
Transition – 组件的移动效果
Transform – 组件的变形效果
Animation – 将移动和变形加入动画支持
加上js的动画效果等等,HTML5提供的交互方式是非常丰富的。各位移动APP设计师尽可能的发挥想象吧!
第六特性:开发及维护成本低,这个相对于原生APP开发来说
更低的开发及维护成本; 使页面变得更小,减少了用户不必要的支出;而且,性能更好使耗电量更低; 方便升级,打开即可使用最新版本,免去重新下载升级包的麻烦,使用过程中就直接更新了离线缓存。
第七特性:CSS3视觉设计师的辅助利器的支持
CSS3支持了字体的嵌入、版面的排版,以及最令人印象深刻的动画功能。
Selector – 更有弹性的选择器
Webfonts – 嵌入式字体
Layout – 多样化的排版选择
Stlying radius gradient shadow – 圆角、渐变、阴影
Border background – 边框的背景支持
使用CSS3来完成部分视觉工作,载入速度快,节省代码及图片,也为用户节约了带宽。
这些效果用HTML5实现起来是非常方便的,而如用原生开发,估计让那些客户端开发人员为难啦。
第八特性:html5调用手机摄像头和手机相册、通讯录等功能
具体的详细案例,有兴趣的小伙伴们可以前往阅读原文查看具体的教程和案例。
以上是关于HTML5八大特性助力移动WebApp开发的主要内容,如果未能解决你的问题,请参考以下文章