原生 app
定义:原生 APP 就是利用 Android、iOS 平台官方的开发语言、开发类库、工具进行开发。
在应用性能上和交互体验上应该是最好的,并且支持离线使用。
优点:1、可访问手机所有功能、可实现功能最齐全;2、运行速度快、性能高,用户体验
好;3、支持大量图形和动画,不卡,反应快。4、可快捷地使用设备端提供的接口,处理
速度上有优势。比如去调用手机相机等应用能快速唤起。不需要额外依赖网络。
缺点:1、在过去主要是成本高、周期长,Android 和 iOS 都需要单独开发。2、如果更新
版本需要重新下载安装包,很不方便。
混合 app(原生 app+H5 网页页面)
定义:即利用了原生 APP 的开发技术还应用了 HTML5 的开发技术,说白了就是 app 里
面嵌入了一个网页。
优点:1、开发周期短;2、功能更新发布快;
缺点:1、用户体验不如本地应用;2、性能稍慢(需要连接网络)。
Web 版 APP(网页 app,比如微信中的小程序)
定义:本质就是浏览器功能的叠加,用普通 Web 开发语言 html 开发的,它实际上就是一
个网页,可通过浏览器运行。
优点:1、支持范围广;2、开发成本低、周期短。
缺点:1、对联网要求高,离线不能做任何操作;网一断整个页面都打不开了 2、功能有限;
3、运行速度慢(需要连接网络),页面不能承载太多东西;4、图片和动画支持性不高;
手游 APP
定义:手游一般使用引擎开发,现在著名的有 cocos2d 和 unity3d。两者都是使用引擎自
带的语言进行开发。虽然在开发过程中也有按钮等控件的概念,但当运行时由引擎渲染后就
变成了一副简单的图片:通过 appium 去定位是不行的。
有兴趣的同学可以使用 Airtest 或者 GAutomator 去测试下手游 app。