众所周知,APP开发过程中经常会通过webview实现HTML5(H5)的渲染,实现H5和Native的混合开发(Hybrid Development)。Hybrid Development可以加速开发效率,实现版本的快速迭代,可以实现开发的解耦,丰富开发资源的使用。但是APP通过webview嵌套H5资源同样有绕不开的问题,比如说:
- 功能性问题,在APP上H5的体验效果跟Native之间还是有不小的差距;
- 性能性问题:
-
流量消耗:使用H5实现资源的渲染,访问资源的时候需要消耗大量的流量,对用户来说,是一个很大的负担
-
内存占用:webview比较消耗内存资源,且存在内核层面的内存泄漏,在不断地进入退出webview页面的时候,内存会持续飚高,严重情况下甚至会导致APP的OOM。
FaceBook提出了React Native的解决方案,很好地平衡了Native开发和H5的优势,篇幅问题,此处不做详细的展开。
//todo有坑待填