我们现在手机中的APP,大部分都是混合APP,也就是既用到了原生APP的基础,又用到了Web APP的基础,混合的比例从0%到100%之间不等。更好的了解APP的类型,有助于我们学则合适的测试策略。今天就从4个方面来了解下原生APP和Web APP 的区别。
1.开发方面有区别:
(1)原生APP:Nativity APP, 每一种移动操作系统都需要独立的开发项目,ios版本、Ipad版本、Andrpoid版本。每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)等等。需要使用官方给出的软件开发包,开发工具等。
(2)原生APP开发成本高、开发速度慢、维护成本高。不同平台的规则、推广、运营都不相同。官方应用市场对APP上线审核流程比较复杂且耗时很长,严重影响APP的发布上线的速率。
(3)Web App :因为运行在移动设备的浏览器上,所以只需要一个开发项目。可以通过HTML、 CSS或者JavaScript来进行Web APP的开发。开发成本低、开发速度快。
2.功能有区别:
(1)原生App:一个系统性的应用程序,可以类比于电脑上的软件。原生app可以调用移动终端的硬件设备, 比如:麦克风、摄像头、短信、蓝牙、GPS等。实现功能丰富
(2)Web App:可以类比于电脑上的网页。更多是页面展示类的APP。只能使用有限的移动硬件设备功能,侧重于简单的交互,无法使用很多硬件设备独特的功能。
3.版本控制有区别:
(1)原生App:用户可以*地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况。同时也会导致维护成本比较高。使用旧版本的用户无法体验新版本的完整功能。
(2)Web App:所有的用户都是用同样的版本,所有用户获得的功能都是相同的。版本更新比较方便,直接在服务器侧更新数据即可。一个功能做好了就能上线,一天更新几十次都毫无压力。如果客户端只是个浏览器,那一切都会变得很简单。
4. 对于网络的需求不同:
(1)原生App:断开网络,可以继续使用已缓存在本地的数据,大部分功能不收影响。
(2)Web APP:断开网络,绝大部分功能不能使用,收到很大影响。