怎么判断一个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 ,如果想要功能多,性能好那么就是原生开发。
更多APP的介绍:http://www.youdiancms.com/cmsapprelease.html
扫码加微信