Native APP

Native APP 指的是原生程序(Android、iOS、WP),一般依托于操作系统,有很强的交互,可拓展性强,需要用户下载安装使用,是一个完整的App。

原生应用程序是某一个移动平台(比如iOS或安卓)所特有的,使用相应平台支持的开发工具和语言(比如iOS平台支持Xcode和Objective-C,安卓平台支持Eclipse和Java)。原生应用程序看起来(外观)和运行起来(性能)是最佳的

Native app优势:

1、速度快,性能高,用户体验更好
2、可以调用手机终端硬件是设备(GPS、摄像头、麦克风、通讯录等等)
3、可访问本地资源
4、下载到本地,可节省带宽成本

劣势:

1、开发成本高,需针对不同平台开发相应的版本
2、需要维护多个版本
3、盈利需要与第三方分成
4、获取新版本需重新下载应用更新(提示用户下载跟新,体验差)
5、发布新版本需通过store或market确认,而且时间长
(应用商店发布审核周期长。安卓平台大概要1~3天,而iOS平台需要的时间更长)

Web APP

Web App 基于web的系统和应用,运行于网络和浏览器之上,目前多采用h5标准开发,无需下载安装

HTML5应用程序使用标准的Web技术,通常是HTML5、JavaScript和CSS。只编写一次、可到处运行的移动开发方法构建的跨平台移动应用程序可以在多个设备上运行

Web app优势:

1、跨平台开发(基于浏览器)
2、开发成本低(整体量级轻)
3、无需安装,(节约内存空间)
4、可随即上线(不需要等待审核)
5、更新无需通知用户(自动更新)
6、维护比较简单

劣势:

1、需要依赖网络,体验相对较差
2、功能受限,无法获取系统级别的通知,提醒,动效等
3、入口强依赖于第三方浏览器,导致用户留存率低
4、页面跳转费力,不稳定感更强
5、安全性相对较低,数据容易泄露或被劫持

Hybrid APP

Hybrid APP指的是半原生半Web的混合类App。需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是 Web

混合应用程序让开发人员可以把HTML5应用程序嵌入到一个细薄的原生容器里面,集原生应用程序和HTML5应用程序的优点(及缺点)于一体。

微信本身是原生应用,在应用中把常用的系统功能(摄像头,通讯录)
封装为js能够调用的方法,暴露在全局对象下,当用户操作应用中的浏览器时候调用暴露出来的方法,实现原生的功能

Hybrid app优势:

1、混合应用中比例自由
比如Web 占90%,原生占10%;或者各占50%
2、便于调试,开发时可以通过浏览器,工具丰富
3、顺利访问手机的各种功能
4、App Store中可下载(Wen应用套用原生应用的外壳)
5、兼容多平台,可下线使用
6、页面存放于本地和服务器两种方式
7、省去了跳转浏览器的麻烦
8、app安装包体积减小

劣势:

1、不确定上线时间
2、性能稍慢(需要连接网络)
3、用户体验不如本地应用

发布渠道和更新方式

混合App可以在应用商店App Store发布,但可以自主更新
而原生App的更新必须通过应用商店App Store

移动设备本地API访问

混合App可以通过JavaScript API访问到移动设备的摄像头、GPS
而原生App可以通过原生编程语言访问设备所有功能

搜索引擎友好

只有移动web对搜索引擎友好,可与在线营销无缝整合

消息推送

只有混合App和原生App支持消息推送,这能增加用户忠诚度

如何判断一个混合APP开发的页面形式

1、在系统设置里进入“开发者选项”,勾选“显示布局边界”,然后就可以看得出来
2、网页的一般就在手机的当前界面加载一个url地址
3、快速)滚动起来是否比较卡
4、图片加载失败的图标

Native APP ,Web APP,Hybrid APP三者对比的更多相关文章

  1. 【Hybrid App】关于Hybrid App技术解决方案的选择

    [引言]近年来随着移动设备类型的变多,操作系统的变多,用户需求的增加,对于每个项目启动前,大家都会考虑到的成本,团队成员,技术成熟度,时间,项目需求等一堆的因素.因此,开发App的方案已经变得越来越多 ...

  2. 转: 跨终端Web之Hybrid App

    转:  http://www.infoq.com/cn/articles/hybrid-app 编者按:InfoQ开设新栏目“品味书香”,精选技术书籍的精彩章节,以及分享看完书留下的思考和收获,欢迎大 ...

  3. 跨终端Web之Hybrid App

    Native App(以下简称Native)和Mobile Web(以下简称Web)二者混合开发的产物被称为Hybrid App(以下简称Hybrid).Hybrid并不是什么新概念,最早可以追溯到S ...

  4. 单纯觉得是篇好文——跨终端Web之Hybrid App

    [reference]http://www.infoq.com/cn/articles/hybrid-app#theCommentsSection 编者按:InfoQ开设新栏目“品味书香”,精选技术书 ...

  5. OnSen UI结合AngularJs打造”美团"APP"附近”页面 --Hybrid App

    1.页面效果图: 演示链接地址:http://www.nxl123.cn/bokeyuan/meiTuanDemo_near/ 2.核心代码 near.html: <ons-page id=&q ...

  6. OnSen UI结合AngularJs打造”美团"APP"订单”页面 --Hybrid App

    1.页面效果图: 演示链接地址:http://www.nxl123.cn/bokeyuan/meiTuanDemo_order/ 2.核心代码 order.html: <ons-page id= ...

  7. Mobile testing基础之Native、Web、Hybrid、activity、webview

    应用一词指的是app,即application.原生应用指的是能直接运行于当前操作系统的应用程序:web应用指需要在浏览器中运行的网页应用,由于界面体验.功能上都更加强大,可媲美原生应用,故称web应 ...

  8. Native App, Hybrid App, Web App对比

    Native App,Hybrid App和Web App简介 目前基本所有的移动互联网app可以分为三类:Native App,Hybrid App和Web App. Native App是基于智能 ...

  9. 什么是 Native、Web App、Hybrid、React Native 和 Weex?(转载)

    什么是 Native.Web App.Hybrid.React Native 和 Weex?   来源:zwwill_木羽 segmentfault.com/a/1190000011154120 一句 ...

  10. Native、Web App、Hybrid、React Native(简称RN)、Weex 间的异同点。

    App常用开发模式简介 此处App为应用application,并非我们通常讲的手机App. 常用的几种APP开发模式-脑图 Native App 传统的原生App开发模式,有iOS和aOS两大系统, ...

随机推荐

  1. Python将是人工智能时代的最佳编程语言

    Python将是人工智能时代的最佳编程语言 移动互联网取代PC互联网领跑在互联网时代的最前沿,Android和iOS一度成为移动互联网应用平台的两大霸主,成为移动开发者首选的两门技术,HTML5以其跨 ...

  2. luogu1484 种树 (优先队列)

    我每次都想选那个最大的.或者是它旁边的两个一起选,如果这两个一起选会大于那个最大的的话 那我就先把那个最大的选了,再提供一个反悔的选项(类似于网络流的思路?),就是我可以再把种的树换成它旁边那两个,也 ...

  3. 【git】git撤销与回滚

    git的撤销与回滚在平时使用中还是比较多的,比如说我们想将某个修改后的文件撤销到上一个版本,或者是想撤销某次多余的提交,都要用到git的撤销和回滚操作.撤销分两种情况,一个是commit之前,一个是c ...

  4. 安装Ubuntu Server18.04(附与CentOS占用体积和Python版本的对比)

    这边只演示一下最新系统的安装过程,设置之类的和以前讲的Kali以及CentOS大同小异:https://www.cnblogs.com/dunitian/p/4822808.html#linux 和C ...

  5. java 数组转字符串 字符串转数组

    字符串转数组 使用Java split() 方法 split() 方法根据匹配给定的正则表达式来拆分字符串. 注意: . . | 和 * 等转义字符,必须得加 \\.多个分隔符,可以用 | 作为连字符 ...

  6. sublime安装说明

    安装Install package https://www.cnblogs.com/lixuwu/p/5693624.html 常用配置 Perference → Settings – User,用下 ...

  7. Dubbo新版管控台

    地址:https://github.com/apache/incubator-dubbo-ops 下载下来,解压 打开cmd 注意:它的前端用到了Vue.js,打包需要npm,所以你要有node.js ...

  8. 回流(reflow)与重绘(repaint)

    回流(reflow)与重绘(repaint) 很早之前就听说过回流与重绘这两个名词,但是并不理解它们的含义,也没有深究过,今天看了一套网易的题目,涉及到了这两个概念,于是想要把它们俩弄清楚... 一. ...

  9. idea 红线 并提示idea cant resolve symbol

    能编译通过说明SDK导入正确,但是为啥我们点击每一个Java文件会出现好多红色的下划线 ,并提示idea cant resolve symbol原因就是可能没有清除原来的历史缓存,导致一些错误,解决方 ...

  10. 5.2 SW1控制LED1亮灭(中断功能)

    中断:CPU收到中断请求后暂停正在执行的程序,而去执行中断服务函数中的程序,处理结束后,继续执行原来的程序. 能够产生中断请求的中断源如下: CC2530中断设置步骤:使能端口组中断(IEN)——端口 ...