原生APP与移动Web App的比较
中国手机网民已超4.5亿,智能机用户超过3.8亿,中国移动互联网市场产值已超过712.5亿元,手机营销是未来必然趋势,而App恰恰是这个趋势下的一个强有力的营销工具; App已有两个主要的方向:原生App 以及 移动Web App。那么今天我们就来比较一下两者的区别供大家参考。
原生App 与 移动Web App : 定义
什么叫做原生App?
原生App是专门针对某一类移动设备而生的,它们都是被直接安装到设备里,而用户一般也是通过网络商店或者卖场来获取例如 The App Store 与 Android Apps on Google Play .
随便说几个原生App的例子,比如 iOS 的 Camera+ 以及深圳千度网络有限公司开发的Android版花炮云商App
什么叫做移动Web App?
一般说来,移动Web App都是都是需要用到网络的,它们利用设备上的浏览器(比如iPhone的Safari)来运行,而且它们不需要在设备上下载后安装。
原生App 与 移动Web App的比较
用户界面
有些公司为同样的产品制作了原生App与移动Web App,下图就是Facebook的原生App与移动Web App的界面比较:
注意这两者的不同地方会产生不同的用户体验结果。
开发方面
原生App
⊙ 每一种移动操作系统都需要独立的开发项目
⊙ 每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等
⊙ 需要使用各自的软件开发包,开发工具以及各自的控件
移动Web App
⊙ 因为运行在移动设备的浏览器上,所以只需要一个开发项目
⊙ 这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python)
⊙ 这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap, Sencha Touch 2,APPcan以及Appcelerator Titanium等等。
能力方面
原生App
⊙ 能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等
移动Web App
⊙ 只能使用有限的移动硬件设备功能。
获取方法
原生App
⊙ 直接下载到设备
⊙ 以独立的应用程序运行(并不需要浏览器)
⊙ 用户必须手动去下载并安装这些原生App
⊙ 有一些商店与卖场来帮助用户寻找你的App,目前app市场不计其数,比较有名气的有:
360手机助手:http://zhushou.360.cn/
安卓市场:http://apk.hiapk.com/
机锋市场:http://apk.gfan.com/
酷玩汇(91):http://play.91.com/
百度移动应用:http://as.baidu.com/
碗豆荚:http://www.wandoujia.com/apps
青年应用汇:http://www.youthapp.cn/
木蚂蚁:http://www.mumayi.com/
安智:http://www.anzhi.com/
应用汇:http://www.appchina.com/
乐商店:http://app.lenovo.com/
飞流:http://www.feiliu.com/html/index.html
小米:http://app.xiaomi.com/
N多网:http://www.nduoa.com/
移动Web App
⊙ 从移动设备上的浏览器访问
⊙ 不需要安装额外的软件
⊙ 软件更新只需要服务器就够了
⊙ 因为现在没有什么商品或卖场提供这种App,所以如何搜索这些移动Web App相当不简单
版本控制
原生App
⊙ 用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况
移动Web App
⊙ 所有的用户都是用同样的版本
优势
原生App
⊙ 比移动Web App运行快
⊙ 一些商店与卖场会帮助用户寻找原生App
⊙ 官方卖场的应用审核流程会保证让用户得到高质量以及安全的App
⊙ 官方会发布很多开发工具或者人工支持来帮助你的开发
移动Web App
⊙ 跨平台开发
⊙ 用户不需要去卖场来下载安装App
⊙ 任何时候都可以发布App,因为根本不需要官方卖场的审核
⊙ 如果你已经有了一个Web App,你可以使用 responsive web design来辅助改进(这也是优势?)
缺陷
原生App
⊙ 开发成本高,尤其是当需要多种移动设备来测试时
⊙ 因为是不同的开发语言,所以开发,维护成本也高
⊙ 因为用户使用的App版本不同,所以你维护起来很困难
⊙ 官方卖场审核流程复杂且慢,会严重影响你的发布进程
移动Web App
⊙ 无法使用很多移动硬件设备的独特功能
⊙ 要同时支持多种移动设备的浏览器让开发维护的成本也不低
⊙ 如果用户使用更多的新型浏览器,那问题就更不好处理了
⊙ 对于用户来说,这种App很难被用户发现
原生App 与 移动Web App:您如何选择?
所以在你准备做移动App时,你应该先问问自己以下几个问题:
1. 你的应用是否需要使用某些设备的特殊功能,比如摄像头,摄像头闪光灯或者重力加速器
2. 你的开发预算是多少?
3. 你的应用是否一定需要网络
4. 你的应用的目标硬件设备是所有的移动设备还是仅仅只是一部分而已
5. 你自己已经熟悉的开发语言
6. 这个应用对于性能要求是否苛刻
7. 如何靠这个应用赢利
我想这几个问题应该能让你做出明智的选择。
结论:
是原生App还是移动Web App,主要受商业目标,目标用户,以及技术需要这些因素影响的。其实更多时候你也不要为选择那种App模式烦恼,正如本文提到,类似Facebook这样的公司就为用户提供了两种选择。然而对于大部分人来说,预算,资源限制将会逼迫我们只能选择其中一种(或者只能以其中一种为重点)。
转载于:https://www.cnblogs.com/xuan52rock/p/4631026.html
原生APP与移动Web App的比较相关推荐
- web系统 手机app 能访问吗?_成都APP开发:原生APP开发与Web APP开发有什么区别呢?...
智能手机上的APP应用软件对于人们来说已经成为日常工作生活当中必不可少的工具,无论是工作生活中的聊天交流,购物,饮食,出行,娱乐都会有相应的APP软件.目前常见的APP软件开发模式有两种,一种是原生A ...
- 原生开发什么意思_成都APP开发:原生APP开发与Web APP开发有什么区别呢?
智能手机上的APP应用软件对于人们来说已经成为日常工作生活当中必不可少的工具,无论是工作生活中的聊天交流,购物,饮食,出行,娱乐都会有相应的APP软件.目前常见的APP软件开发模式有两种,一种是原生A ...
- 原生APP开发与WEB APP开发的区别
APP开发模式通常分为Web APP与Native APP原生模式两种,这两种模式均各自有自己的优势,到底是采用Native App开发还是采用Web App开发一直是业界争论的焦点,但是随着HTML ...
- 原生APP 与 移动 Web APP 有什么区别呢?
以下就用一张表来告诉大家,原生APP与 移动 Web APP的不同吧. 原生APP与 移动 Web APP各有各的优势与劣势,请根据实际需求开发合适的APP! 原生APP 与 移动 Web APP 的 ...
- 计算机毕业设计Python+uniapp+安卓电影院售票管理APP论文(WEB+APP+LW)
计算机毕业设计Python+uniapp+安卓电影院售票管理APP论文(WEB+APP+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区 ...
- html5 app list,让web app更快的HTML5最佳实践
简介 本文重点关注如何充分利用HTML5和CSS让web app运行更加流畅. Tip 1: 使用web storage代替cookie cookie最大的缺陷是在每一次HTTP请求中都会携带所有符合 ...
- H5开发的web APP和原生APP的区别
H5开发的web APP和原生APP的区别有以下几个方面:一.开发方面 原生App ⊙ 每一种移动操作系统都需要独立的开发项目⊙ 每种平台都需要独立的开发语言.Java(Android), Objec ...
- 原生APP与web APP的区别
定义,什么是原生APP和web APP? Web App Web App即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由"HTML5云网 ...
- 如何选择Web APP与Native App原生开发模式的区别(转)
APP开发模式通常分为Web APP与Native APP原生模式两种,这两种模式均各自有自己的优势,到底是采用Native App开发还是采用Web App开发一直是业界争论的焦点,但是随着HTML ...
最新文章
- makefille的使用
- mysql trigger before insert_在MYSQL中创建一个BEFORE INSERT TRIGGER
- 3.1.3 awk命令用法
- jQuery仿淘宝商城天猫鼠标移动过去,透明度降低
- 配置oracle 11g环境,oracle 11g 的安装环境的配置
- CentOS 5.X用第三方源安装PHP MySQL Apache等
- 数据操纵语言 ,DML, 增删改
- 工作笔记-SDRAM的读写
- eclipse使用python_【转】使用Python的IDE:Eclipse+PyDev
- 开发者如何钻 App Store 的漏洞?
- iOS 如何在一个应用程序中调用另一个应用程序
- 正确的java学习顺序--刚入门的同学可以看这里
- 使用HTML语法图文混排
- SpringBoot动态获取项目部署的端口号
- 利用打码平台识别点选验证码
- 睿智的目标检测22——Keras搭建RFBnet目标检测平台
- 牛顿法求临界水深c语言程序,基于牛顿迭代法的圆形断面临界水深直接计算法邹武停.pdf...
- 计算机网络技术对经济的直接影响,计算机网络技术对电子商务发展的影响
- django迁移数据makemigrations不创建APP中的数据表
- INSERT INTO SELECT 使用
热门文章
- POJ 2483 Cows(树状数组)
- umask详解、cwd简介
- TypeError: object.__init__() takes no parameters异常报错分析
- 第7章:MapReduce编程
- 一分钟安装IDA pro7.0
- java mawen介绍_Maven的介绍及使用
- LIBCLNTSH.SO: WRONG ELF CLASS: ELFCLASS32错误一例
- 提高雅思听力速度必须反复练耳朵别无捷径
- Java Spring DI之旅
- SpringMVC以及SSM整合