Native APP ,Web APP,Hybrid APP三者对比
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三者对比的更多相关文章
- 【Hybrid App】关于Hybrid App技术解决方案的选择
[引言]近年来随着移动设备类型的变多,操作系统的变多,用户需求的增加,对于每个项目启动前,大家都会考虑到的成本,团队成员,技术成熟度,时间,项目需求等一堆的因素.因此,开发App的方案已经变得越来越多 ...
- 转: 跨终端Web之Hybrid App
转: http://www.infoq.com/cn/articles/hybrid-app 编者按:InfoQ开设新栏目“品味书香”,精选技术书籍的精彩章节,以及分享看完书留下的思考和收获,欢迎大 ...
- 跨终端Web之Hybrid App
Native App(以下简称Native)和Mobile Web(以下简称Web)二者混合开发的产物被称为Hybrid App(以下简称Hybrid).Hybrid并不是什么新概念,最早可以追溯到S ...
- 单纯觉得是篇好文——跨终端Web之Hybrid App
[reference]http://www.infoq.com/cn/articles/hybrid-app#theCommentsSection 编者按:InfoQ开设新栏目“品味书香”,精选技术书 ...
- OnSen UI结合AngularJs打造”美团"APP"附近”页面 --Hybrid App
1.页面效果图: 演示链接地址:http://www.nxl123.cn/bokeyuan/meiTuanDemo_near/ 2.核心代码 near.html: <ons-page id=&q ...
- OnSen UI结合AngularJs打造”美团"APP"订单”页面 --Hybrid App
1.页面效果图: 演示链接地址:http://www.nxl123.cn/bokeyuan/meiTuanDemo_order/ 2.核心代码 order.html: <ons-page id= ...
- Mobile testing基础之Native、Web、Hybrid、activity、webview
应用一词指的是app,即application.原生应用指的是能直接运行于当前操作系统的应用程序:web应用指需要在浏览器中运行的网页应用,由于界面体验.功能上都更加强大,可媲美原生应用,故称web应 ...
- Native App, Hybrid App, Web App对比
Native App,Hybrid App和Web App简介 目前基本所有的移动互联网app可以分为三类:Native App,Hybrid App和Web App. Native App是基于智能 ...
- 什么是 Native、Web App、Hybrid、React Native 和 Weex?(转载)
什么是 Native.Web App.Hybrid.React Native 和 Weex? 来源:zwwill_木羽 segmentfault.com/a/1190000011154120 一句 ...
- Native、Web App、Hybrid、React Native(简称RN)、Weex 间的异同点。
App常用开发模式简介 此处App为应用application,并非我们通常讲的手机App. 常用的几种APP开发模式-脑图 Native App 传统的原生App开发模式,有iOS和aOS两大系统, ...
随机推荐
- gogs : 添加 ssh An error has occurred : addKey: fail to parse public key: exec: "ssh-keygen": executable file not found in %PATH% - exec: "ssh-keygen": executable file not found in %PATH%
服务器上缺少配置 ssh-keygen.exe的 环境变量.git的环境变量 在path 环境变量加上.重启gogs服务
- flask报错:werkzeug.routing.BuildError: Could not build url for endpoint 'index'. Did you mean 'single' instead?
错误代码 参考:https://blog.csdn.net/qq_27468251/article/details/81359701 改为
- MT【300】余弦的三倍角公式
2017清华大学THUSSAT附加学科测试数学(二测)$\cos^5\dfrac{\pi}{9}+\cos^5\dfrac{5\pi}{9}+\cos^5\dfrac{7\pi}{9}$ 的值为___ ...
- python3 集合set
set是一种集合的数据类型,使用{}表示 集合中元素是无序的,并且不可重复,集合最重要的作用就是可以去重 set是不可哈希的,set中的元素必须是可哈希的 可以切片,可以迭代 交集.并集.差集.对称差 ...
- 【BZOJ3653】谈笑风生(长链剖分)
[BZOJ3653]谈笑风生(长链剖分) 题面 BZOJ 洛谷 权限题啊.... 题解 首先根据题目给的条件,发现\(a,b\)都要是\(c\)的父亲. 所以这三个点是树上的一条深度单增的链. 因为\ ...
- [SNOI2017]一个简单的询问【莫队+容斥原理】
题目大意 给你一个数列,让你求两个区间内各个数出现次数的乘积的和. 分析 数据范围告诉我们可以用莫队过. 我并不知道什么曼哈顿什么乱七八糟的东西,但是我们可以用容斥原理将这个式子展开来. \[\sum ...
- 基于vue制作简易的柱状图
一般很常见的柱状图,大家都想到用百度echart,如果整个项目就只绘制仅有的一个柱状图,引入echart就有点大材小用了,哈哈哈. 预览地址:https://zuobaiquan.github.io/ ...
- js中的arguments用法
//arguments对象并不是一个数组,但是访问单个参数的方式与访问数组元素的方式相同 function show(){ console.log(arguments); //arguments.pu ...
- LVM-COW写实备份
[root@localhost ~]# fdisk -l /dev/sdb /dev/sdc | grep "LVM"/dev/sdb1 1 9660 77593918+ 8e L ...
- 【linux】硬盘原理简介和分区
硬盘是计算机重要的一个部件,计算机中的数据都是保存在硬盘中,比如mysql的数据,linux系统日志及其他的应用日志,还有很多视频,音频,图片等文件都是保存在硬盘中,所以硬盘是计算机不可或缺的一个部件 ...