判断一个APP是原生、混合还是WEB

1、看断网情况

   通过断开网络,刷新页面,观察内容缓存情况来有个大致的判断,可以正常显示的就是原生写的,显示404或者错误页面的就是html页面。

2、看布局编辑

3、看复制文章的提示,需要通过对比才能得出结果

     比如文章资讯页面可以长按页面试试,如果出现文字选择,粘贴功能的是H5页面,否则是native原生的页面。

     有些原生APP开放了复制粘贴功能或者关闭了,而H5的CSS屏蔽了复制选择功能等情况,需要通过对目标测试APP进行对比才可知。

     在支付宝APP、蚂蚁聚宝是可以判断的。

4、看加载的方式

      如果在打开新页面导航栏下面有一条加载线的话,这个页面就是H5页面,如果没有就是原生的。

5、看app顶部,导航栏是否会有关闭的操作

      如果APP顶部导航栏当中出现了关闭的按钮或者关闭的图标,那么当前的页面是H5页面,原生的不会出现(除非设计开发者特意设计),美团、大众点评的APP、微信APP当加载H5过多的时候,左上角会出现关闭两个字。

6、判断页面下拉刷新的时候(前提是要有下拉刷新的功能)

      如果页面没有明显刷新现象的是原生的,如果有明显刷新现象(比如闪一下)的是H5页面(Ios和Android)。比如淘宝的众筹页面。

7、下拉页面的时候显示网址提供方的一定是H5页面

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

     找到手机的设置,开发者选项,显示布局边界,选择开启后再去查看APP整体布局边界,这样所有应用控件布局就会一目了然。

     如果是native APP那么每个按钮、文字、图片都是红色的线显示这个控件的布局情况。

     如果是web APP那么应该就是一个webview去加载网页,webview作为一个控件,只有一个边界框,即只有屏幕边才有红色线。

     混合APP 则是native 与 webview 混排的界面,如下图红色线框是各控件的绘制边界,中间那一大块布局丰富的界面没有显示出很多边界红线,就是网页实现的。

那么原生开发的APP和网页版封装APP有何区别呢?

1.首先从开发方面:

原生开发的App

每一种移动操作系统都需要独立的开发项目

每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等

需要使用各自的软件开发包,开发工具以及各自的控件

我们做的手机网站打包的APP

从原生演变过来的通过APP嵌入网站来是实现的,这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python)

2.APP性能方面

原生App

能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等

网站制作的App

只能使用有限的移动硬件设备功能。

3.APP数据获取方法

原生App

- 直接下载到设备

- 以独立的应用程序运行(并不需要浏览器)

- 用户必须手动去下载并安装这些原生App

网站封装的APP

从移动设备上的浏览器访问

不需要安装额外的软件

软件更新只需要服务器更新就够了

4.原生开发的APP和网站生成的APP优缺点对比

原生开发App优缺点:

- 比网站生成的Web App运行快

- 开发成本高,尤其是当需要多种移动设备来测试时

- 因为是不同的开发语言,所以开发,维护成本也高

- 因为用户使用的App版本不同,所以你维护起来很困难

网站生成App优缺点:

- 无法使用很多移动硬件设备的独特功能

- 同时支持多种移动设备,大大降低开发成本

- 需要手机网站反应速度要快,用好的服务器,否则打开会慢

最后结论:选择哪种根据你的客户需求和你的预算来决定的,如果预算小就选择网站打包生成的web app  ,如果想要功能多,性能好那么就是原生开发。

来源:http://www.youdiancms.com/faq/1097.html

原文地址:https://www.cnblogs.com/pantheryao/p/12167209.html