web app和 原生app的区别

2024-11-01 12:08:41
推荐回答(5个)
回答1:

web app和原生app有三种区别:

1.开发方面有区别:

(1)原生APP:每一种移动操作系统都需要独立的开发项目,iphone版本、Ipad版本、安卓版本。每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)等等。需要使用各自的软件开发包,开发工具以及各自的控件。

(2)开发成本高、开发速度慢、维护成本高。三个平台(IOS、安卓、windows)的规则、推广、运营都不相同。官方应用商店对APP上线审核流程比较复杂而且很慢,会严重影响APP的发布上线。

(3)Web App :因为运行在移动设备的浏览器上,所以只需要一个开发项目。可以通过HTML、 CSS或者JavaScript来进行Web APP的开发。开发成本低、开发速度快。

2.功能有区别:

(1)原生App:原生APP是一个系统性的应用程序,可以类比于电脑上的软件。原生app可以调用移动终端的硬件设备, 比如:麦克风、摄像头、短信、GPS、蓝牙、重力感应等。实现功能丰富

(2)Web App:Web APP可以类比于电脑上的网页。Web APP更多是页面展示类的APP。只能使用有限的移动硬件设备功能。更多用于页面展示,侧重于简单的交互,无法使用很多硬件设备独特的功能。

4.版本控制有区别:

(1)原生App:用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况。同时也会导致维护成本比较高。使用旧版本的用户无法体验新版本的完整功能。

(2)Web App:所有的用户都是用同样的版本,所有用户获得的功能都是相同的。版本更新比较方便,直接在服务器侧更新数据即可。一个功能做好了就能上线,一天更新几十次都毫无压力。如果客户端只是个浏览器,那一切都会变得很简单。

(3)另外web统一性高,跨平台适用时开发量少。由于其入口不明显(浏览器导航或者随意点击链接进入),让用户记住的门槛也随之拔高,每次推广导入的流量都可能沦为一次性努力,用户留存率低。

回答2:

原生APP(概念):

也称Native APP,指基于手机本地智能操作系统选择不同的APP开发语言的App开发服务。例如:使用Android(本地智能操作系统)开发语言Java或者使用C/C++ native开发出来的APP都称之为原生APP。通俗点说,个人在应用商店下载的APP都是原生APP。如下图

web APP(概念):

基于Web网页的系统和应用,有点类似于垂直发展的社群,其作用是在拓展业务发展范围,面向广大用户。web APP一般是基于网页上的,但是出于用户体验会将web APP的UI界面向原生APP的UI设计感觉界面靠拢。类似网页编辑器,qq空间,百度新闻、百度视频、百度图片等都算是web APP。


原生APP与web APP的区别:

1.原生APP能实现的功能比web APP来得多,因为原生APP可以在OS的基础上执行的原因,所以原生APP几乎可以调用开发者设计的所有核心功能。而Web App通过浏览器解析运行,功能实现强大程度不如web APP,web app 更加侧重于简单的交互,胜在开发速度快、成本低。

2.原生应用可以节约宽带成本、访问本地资源等,但需要安装客户端,而web APP可以省去这一步骤。

3.web APP可以跨平台,但由于是基于浏览器上运行的,有个加载速度,在用户体验上说,有等待加载的时间,比如使用浏览器打开百度,和直接使用百度的app体验感不同。

原生APP与web APP的联系(易混淆点):

上述有提及,web APP的UI设计会往原生APP的UI方向靠拢。令两者看起来相似,仅是本质上存在着区别,笼统来说,web APP是基于原生的APP中的,比如在浏览器的基础上再进行开发的,有标准的SDK,入口是浏览器本身。原生APP是基于手机自身系统本身开发的,缩短了用户的等待时间,入口更加直接。大多数APP都属于原生APP。也有一种叫Hybrid的开发模式,混合了原生和WebAPP,通过Cordova、AppCan框架注入JavaScript函数,这种开发方式的优点介于WebAPP和原生APP中间,性能比WebAPP好一点,本地资源的能力也较强,稍微弥补了web APP的不足,这也是造就web APP与原生APP易混淆的原因点之一。

回答3:

开发方面

原生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这样的公司就为用户提供了两种选择。然而对于大部分人来说,预算,资源限制将会逼迫我们只能选择其中一种(或者只能以其中一种为重点)。

回答4:

Native App开发
Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
Web App开发
Web App开发即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。

回答5:

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是最佳的选择。