原生App 与 移动Web App

1.定义
什么叫做原生Native App?
原生App是专门针对某一类移动设备而生的,它们都是被直接安装到设备里,而用户一般也是通过网络商店或者卖场来获取例如    The App Store  与  Android Apps on Google Play .
随便说几个原生App的例子,比如 iOS 的 Camera+  以及 Android 的  KeePassDroid

什么叫做移动Web App?
一般说来,移动Web App都是都是需要用到网络的,它们利用设备上的浏览器(比如iPhone的Safari)来运行,而且它们不需要在设备上下载后安装。

什么叫做混合Hybrid App?

Hybrid App是指介于web-app、native-app这两者之间的app,它虽然看上去是一个Native App,但只有很少UI WebView,里面访问的是一个Web App,

例如Store里的新闻类APP,视频类APP普遍采取的是Native的框架,Web的内容。

原生App 与 移动Web App的比较
2.开发方面
     原生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以及Appcelerator Titanium等等。

3.能力方面
    原生App
能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等
    移动Web App
只能使用有限的移动硬件设备功能。

4.赢利
    原生App
可以使用专门的移动平台的广告,比如AdMob
    移动Web App
基本没有限制,但也没什么优势
注意原生App能够直接在对应的官方商店进行定价就能马上赢利,然而移动Web App需要你自己完成付款的系统,这可不是一件简单的事情。

5.获取方法
    原生App
直接下载到设备
以独立的应用程序运行(并不需要浏览器)
用户必须手动去下载并安装这些原生App
有一些商店与卖场来帮助用户寻找你的App
    移动Web App
从移动设备上的浏览器访问
不需要安装额外的软件
软件更新只需要服务器就够了
因为现在没有什么商品或卖场提供这种App,所以如何搜索这些移动Web App相当不简单

6.版本控制
    原生App
用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况
     移动Web App
所有的用户都是用同样的版本

7.优势
    原生App
比移动Web App运行快
一些商店与卖场会帮助用户寻找原生App
官方卖场的应用审核流程会保证让用户得到高质量以及安全的App
官方会发布很多开发工具或者人工支持来帮助你的开发
     移动Web App
跨平台开发
用户不需要去卖场来下载安装App
任何时候都可以发布App,因为根本不需要官方卖场的审核
如果你已经有了一个Web App,你可以使用 responsive web design来辅助改进(这也是优势?)

8.缺陷
    原生App
开发成本高,尤其是当需要多种移动设备来测试时
因为是不同的开发语言,所以开发,维护成本也高
因为用户使用的App版本不同,所以你维护起来很困难
官方卖场审核流程复杂且慢,会严重影响你的发布进程
    移动Web App
无法使用很多移动硬件设备的独特功能
要同时支持多种移动设备的浏览器让开发维护的成本也不低
如果用户使用更多的新型浏览器,那问题就更不好处理了
对于用户来说,这种App很难被用户发现

原生App vs 移动Web App : 你如何选择?
所以在你准备做移动App时,你应该先问问自己以下几个问题:
你的应用是否需要使用某些设备的特殊功能,比如摄像头,摄像头闪光灯或者重力加速器
你的开发预算
你的应用是否一定需要网络
你的应用的目标硬件设备是所有的移动设备还是仅仅只是一部分而已
你自己已经熟悉的开发语言
这个应用对于性能要求是否苛刻
如何靠这个应用赢利
我想这几个问题应该能让你做出明智的选择。
结论
你的选择是原生App还是移动Web App,主要受商业目标,目标用户,以及技术需要这些因素影响的。其实更多时候你也不要为选择那种App模式烦恼,正如上文提到,类似Facebook这样的公司就为用户提供了两种选择。然而对于大部分人来说,预算,资源限制将会逼迫我们只能选择其中一种(或者只能以其中一种为重点)。

Native App开发
Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
Web App开发
Web App开发即是一种框架型APP开发模式(HTML5  APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
Web APP应用呈现以下特点:
(1)每次打开APP,都要通过APP框架向云网站取UI及数据;
(2)手机用户无法上网则无法访问APP应用中的数据。
(3)框架型的APP无法调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)
(4)框架型APP的访问速度受手机终端上网的限制,每次使用均会消耗一定的手机上网流量;
(5)框架型APP应用的安装包小巧,只包含框架文件,而大量的UI元素、数据内容刚存放在云端;
(6)APP用户每次都可以访问到实时的最新的云端数据;
(7)APP用户无须频繁更新APP应用,与云端实现的是实时数据交互;
适用企业:电子商务、金融、新闻资讯、企业集团需经常更新内容的APP应用。
Native App(原生型APP)应用呈现以下特点:
(1)每次获取最新的APP功能,需要升级APP应用;
(2)原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架;
(3)手机用户无法上网也可访问APP应用中以前下载的数据。
(4)原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)
(5)APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。
适用企业:游戏、电子杂志、管理应用、物联网等无需经常更新程序框架的APP应用。
    移动Web无所不在,移动Web是目前唯一的支持各种设备访问的平台,与桌面Web一样,移动Web支持各种标准的协议。移动Web也是唯一一个可供开发者发布移动应用的平台,它将各种移动交互与桌面任务有效地连接了起来;而开发Native App可以充分利用设备的特性,而这一点往往是Web浏览器做不到的,所以对一个产品本身而言,Native App是最佳的选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值