如何区分Native App和Hybrid App

如何区分手机App是用Native实现还是用Webview实现

在开发Android App时,特别是强内容展现型的功能,会想在原生Native实现和web实现中做选择,做这种选择的时候,难免想看看竞品或其它App类似功能是用哪种方式实现的。但是如何判断其它App是用原生控件实现还是用Webview载入网页来实现呢?其实要想做到这一点不难,至少有两种办法:

一、抓包

这是比较原始,也是比较容易想到的,打开相应界面,抓取数据包看看,如果有url是返回比较完整的HTML代码,那基本就是Webview来实现的了。

二、利用系统开发人员工具

抓包的方法还是太麻烦,很多系统有更高级的开发人员工具功能,一般在设置里可以找到,有些手机可能需要特殊的操作才能打开开发人员工具功能。点击“设置”->“辅助功能”->“开发人员工具”,在绘图栏中找到“显示布局边界”并打开。这样所有应用的控件布局都一目了然了,Webview作为一个控件,只有一个边界框,所以通过这一点,就比较容易区分出一个界面是Webview实现的还是Native布局控件实现的,当然也不排除用一堆Webview来拼成一个界面的实现方法。

除了上面两种方法,一般来说,通过断开网络,刷新界面,观察内容缓存情况也可以对实现方式有个大致预判断,一般来说缓存做得好的,都是原生控制实现的,有界面局部缓存的就更大可能是原生的了。