http://www.cocoachina.com/webapp/20150906/13344.html

 

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调用手机摄像头和手机相册、通讯录等功能

具体的详细案例,有兴趣的小伙伴们可以前往这里查看具体的教程和案例。