关于原生开发好,仍是混合模式开发好,仍是 套壳的方式好,在这里不是重点,没有最好的,只有相对适合的。 重点是 那种方式 以最低的资源代价 适合你的业务场景,适合你的团队,根据实际状况来作技术选型。css
1,使用h5替代android的view xml 前端将写好的h5 页面放在android 工程的asset目录, 打包的时候会将h5页面一块儿打在apk里面, 此时 h5中的ajax交互在webview中是 能够跨域请求的。 因此最终 android就是一个壳和主要的入口,剩下的开发就像开发h5 微站同样了 这的好处是:android人力不足,前端人力充足的状况下,同时适合业务场景,以及报表展现场景。 html页面放在asset的好吃是加载快,app与云端的接口交互都是ajax json数据交互。 缺点:html 在apk包中,更改须要升级apk。html
2,混合模式 在方式一的基础上中和一下,将 部分功能用h5来替代, 好比 关于咱们,帮助中心,这种须要云端 频繁进行内容变动的 再好比:复杂报表展现,这种用h5中嵌入的hichartis,echarts比较方便。前端
3,云端模式+缓存 对于部分 更新比较频繁的 能够采用直接 webview连接云端页面地址的方式 这种方式 更新频繁,为了提升速度,避免没必要要的重复请求,能够设置页面缓存 将 页面中 固定不变的 css js 图片等文件 缓存起来,来提高页面加载速度html5
H5的缓存方式有如下几种: 1,Cache-Control 与 Last-Modified 是浏览器内核的机制 能够在页面代码中写,也能够在nginx 中配置浏览器中缓存的有效时长 2,使用localstorage sessionStorage 进行数据缓存android
关于h5的离线缓存 机制(文档:http://www.w3school.com.cn/html5/html_5_app_cache.asp )nginx
<html lang="en" manifest="index.manifest"> 或<html manifest="http://www.example.com/index.manifest">web
Manifest是一个简单的 文本文件,它的扩展名是任意的,定义须要缓存的文件、资源,当第一次打开时,浏览器会自动缓存相应的资源 Manifest 的特色:ajax
离线浏览:即当网络断开时,能够继续访问你的页面。 访问速度快:将文件缓存到本地,不需每次都从网络上请求。 稳定性:作了Manifest缓存,遇到突发网络故障或者服务器故障,继续访问本地缓存。json