APP内嵌h5
公司的移动端产品好多页⾯都是⽤h5实现的,我最近负责了⼀个新版本,在协调研发的过程中发现APP内嵌h5存在⼀些问题,好多效果h5都⽆法实现或者需要APP的配合,所以对这⽅⾯做了⼀些简单了解,整理记录到这⾥
原⽣APP
优点
运⾏速度⽐较快
能使⽤设备的底层功能,如摄像头、⽅向传感器、重⼒传感器、拨号、GPS、语⾳、短信、蓝⽛等
在界⾯设计、功能模块、操作逻辑等层⾯相较web更易做到App的便捷性和舒适性,功能更加强⼤
API稳定,可离线操作和本地存储,节省流量
缺点
不同的操作系统需要独⽴的进⾏开发,使⽤其各⾃的开发语⾔、开发包、开发⼯具和控件
开发和维护成本⽐较⾼,尤其需要适配各种机型时
更新需要发布新版本,且要向各个应⽤商店进⾏提交审核,之后⽤户需要⼿动进⾏点击更新安装(安装成本较⾼、开发周期长)
h5
优点
由于是运⾏在浏览器上,所以只需要开发⼀次便可以在不同的操作系统上显⽰
迭代版本时,不需要打包便可以发布(实时更新、快速迭代)
开发成本相对较低,对浏览器的适配较简单
缺点
对⽹络依赖强,速度⽆法保证。特别在弱⽹环境下,不仅耗费流量⽽且加载缓慢,就算是WiFi情况下也不容乐观
原生安卓app开发复杂或精细操作时对系统性能消耗⼤、体验差
⽆法使⽤很多移动硬件设备的独特功能
仍处于发展阶段,部分功能⽆法在基于现有技术的浏览器基础上实现,且⽆法全⾯的显⽰最完美的⽤户体验
怎样选择
原⽣APP
需要调起硬件设备功能,必须⽤原⽣页⾯来实现
需要缓存数据,可以进⾏离线操作时要⽤APP实现
需要⼤量的前后台数据交互,且需要保持稳定时需要APP实现
页⾯和功能⽐较固定,变动频率较低,且注重⽤户体验时可以选APP实现
主流程下⽐较重要的页⾯,需要APP实现良好的体验和保持稳定性
h5
经常会有变动和更新的页⾯可以选择⽤h5页⾯,更新页⾯的时候不需要将整个APP进⾏发布更新
处在尝试阶段的业务,如临时的活动页⾯,使⽤h5开发成本低且可以及时更新
不影响主流程的辅助性页⾯(如说明介绍页),可选择h5实现