三种App
1 NativeApp 原生App
原生APP就是利用Android、iOS平台官方的开发语言、开发类库、工具进行开发。比如安卓的java语言,iOS的object-c 语言。在操作系统上直接运行的App。
前端技术也是可以开发原生App的,比如 ReactNative、Weex、WeX5、uni-app、Cardova、PhoneGap、Flutter等框架; 而且前端技术开发原生App,可以一次开发然后打包成不同的平台App。
优点:
- 拥有手机的各种功能的权限,比如获取个人信息,摄像头以及重力加速器等等。
- 性能最高,运行速度最快;即便加载大量的图片和动画,也依旧不卡。
- 手机用户无法上网也可访问APP应用中以前下载的数据。
缺点:
- 开发成本高,周期长。
- 安卓和ios都需要单独开发,且支持设备有限。
- APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核,审核期长。
2 WebApp
以Web开发语言(HTML、CSS、JavaScript)开发的,在浏览器上运行的App。其本质是浏览器功能的叠加。
优点:
- 支持范围广,兼容多种设备。
- 跨平台开发,用户通过浏览器访问,开发者更新仅需要通过服务器更新即可
- 开发成本低,周期短,可以即时上线。
缺点:
- 和原生App相比,性能和体验都大打折扣,对动画和图片支持较差
- 并不能访问手机的所有功能,很多权限受到限制,比如摄像头和GPS,重力加速器等
- 假如没有联网,则不能使用
3 HybridApp 混合App
即利用了原生APP的开发技术还应用了HTML5开发技术,是原生和HTML5技术的混合应用。混合比例不限。性能介于WebApp和原生App之间。
绝不部分大厂的App都早已是混合App的模式。
优点:
- 比web版实现功能多。
- App的更新比较方便。
- 可离线运行。
缺点:
- 用户体验不如本地应用。
- 性能稍慢(需要连接网络)。
- 技术还不是很成熟。