天天看点

三种app的区别

简介

目前市面上有三种app,企业在开发前,会根据自己的需求,选择不同的app性能的app进行开发

话不多说先看表

Web App(网页应用) Hybrid App(混合应用) Native App(原生应用)
开发成本
维护更新 简单 简单 复杂
体验
Store或Marke认可 不认可 认可 认可
安装 不需要 需要 需要
跨平台

原生app(nativeapp)

  • 介绍
利用Android、IOS平台官方开发语言开发,所有UI写在app中,下载app后,能本地化浏览
  • 优点

    1.支持访问本地资源(通讯录,相册,相机,麦克风,摄像头等)

    2.(本地化浏览)运行速度快、性能高,绝佳的用户体验;

  • 缺点

    1.更新麻烦,开发成本高

    2.Android和iOS都需要单独开发

    3.发布新版本慢,应用商店发布审核周期长。安卓大概1~3天,iOS需要的时间更长。

    4.维护麻烦,下载是用户控制的,很多用户不愿意下载更新(如,版本发布到了3.0,但还是有很多1.0的用户,可能就得继续维护1.0版本的API)。

    5.必须等下载完毕用户才可以打开,获得新版本时需重新下载应用更新。

webapp

  • 介绍
可以理解为一个触屏版网站。APP就相当于是一个浏览器,固定去只能去那几个网页。
  • 优点

    1.开发成本极低,而且好更新迭代和维护。

    2.无需下载安装包,节约手机空间。更新无需通知用户,由应用开发者直接在后台更新,推送到用户面前的都是全新版本,更便于业务的开展。

    3.能跨平台使用

  • 缺点

    1.受限浏览器,不同浏览器自身属性不相同,如:浏览器自带的手势,页面切换方式,链接跳转方式,版本兼容问题等等。

    2.体验和交互都是比较差的

    3.受限网络环境,对联网要求高,离线不能做任何操作;运行速度慢,页面不能承载太多东西;

    4.安全性相对较低,数据容易泄露或者被劫持。

    5.不能直接访问设备硬件和离线存储,

混合app(hybridapp)

  • 介绍
介于原生APP和webAPP之间的,结合这两种类型的长处,主要用js和原生技术相互调用。大的框架是原生的,其他内容是网页封装的。通俗讲,就是在native中提供一个容器,用来加载h5。一种取长补短的开发模式,原生代码部分利用WebView插件或者其它框架为H5提供容器,程序主要的业务实现、界面展示都是利用与H5相关的Web技术进行实现的。比如京东、淘宝、今日头条等APP都是利用混合开发模式而成的。

混合开发有两种开发模式:

  • 原生主导:需要安卓和IOS原生开发人员,App既有原生开发的页面,也有H5页面,在需要H5页面由原生开发工程师内嵌。
  • H5主导:只需要H5开发工程师,借助一些封装好的工具实现应用的打包与调用原生设备的功能,如HBuilder的云端打包功能。
  • 优点

    1.方便更新又在大的体验上保持优秀

    2.效率中,可以跨平台

    3.不需要安卓和ios两个进行开发,同一套代码Android和IOS基本上都可使用。节省开发费用,缩短开发周期。

    4.可以跨平台使用,编写一次核心代码就可以部署到多个平台。

    5.兼容多平台,可以随意调整排版布局等。

    6.主要功能区相对稳定下,增加的功能区采用web 形式,使得迭代更加方。

    7.每次升级版本只需要在服务器端升级即可,不再需要上传到App Store进行审核;

  • 缺点

    1、用户体验没有native好;

    2、web部分性能稍慢(需要连接网络);

如何查看混合app中原生和webview

  1. 安卓手机,使用开发者选项->显示布局边界,打勾。

    页面元素如果是一整块的是h5的,布局密密麻麻的是原生控件。

  2. 看加载方式 -(比较准确)如过在打开新页面导航栏下面有一条加载条的话,这个页面就是H5页面,如果没有就是原生的。
  3. 看断网的情况把手机的网络断掉。然后点开页面。可以正常显示的东西就是原生写的。 显示404或者错误页面的是html页面。打不开的原生和H5的报错也是有区别的。

客户端,前端,后端

客户端:客户端修改代码,需要重新下包测试。

前端:前端修改代码,不用重新下包测试,需要连不同测试环境测试。

后端:后端改变不需要下载包,也不需要连测试环境。