探讨原生APP、Web App和混合App
关于APP的开发,确切地讲分为原生APP、Web App和混合App开发模式。那么,具体他们有什么区别又有什么优劣势今天徐伟轩博客就为大家整理一下。
APP三种应用
原生 native(基于本机操作系统,功能丰富、速度快)
移动 web(基于系统的浏览器内核,易开发、成本低)
混合 Hybrid (核心功能和壳使用native,兼具Native App良好用户交互体验的优势和Web App跨平台开发的优势)
什么叫原生APP?
你使用过微软PowerPoint 或者Word吧?这些可直接在你电脑上运行或者在智能手机上运行,简单来说,原生应用是特别为某种操作系统开发的,比如iOS、Android、黑莓等等,它们是在各自的移动设备上运行的。
优点:
可访问手机所有功能(GPS、摄像头);
速度更快、性能高、整体用户体验不错;
可线下使用(因为是在跟Web相对地平台上使用的);
支持大量图形和动画; 容易发现(在App Store里面)和重新发现(应用图标会一直在主页上);
应用下载能创造盈利(当然App Store抽取20-30% 的营收)。
缺点:
开发成本高;
支持设备非常有限(一般是哪个系统就在哪个平台专属设备上用);
上线时间不确定(App Store审核过程不一);
内容限制(App Store限制);
获得新版本时需重新下载应用更新。
举例:Yellow Pages Group 就开发了是几个版本(iOS、黑莓、Android),他们在每一个原生应用市场都有上架。
什么是移动Web App?
一般说来,移动Web App都是都是需要用到网络的,它们利用设备上的浏览器(比如iPhone的Safari)来运行,而且它们不需要在设备上下载后安装。
原生APP与Web App对比
- 开发方面
原生APP:
不同移动操作系统(iphone、ipad、Android)需要各自开发 。开发维护成本高、开发速度慢、APP上线审核流程复杂且慢。
Web App:
因为运行在移动设备的浏览器上,所以只需要一个开发项目。开发成本低、开发速度快。 - 功能方面
原生APP:
可调用移动终端的硬件设备(麦克风、摄像头、短信、GPS、蓝牙),实现功能丰富。
Web App:
类比 与电脑端的网页,更多的是页面展示类的APP。只能使用有限的移动硬件设备功能。 - 应用安装和版本控制方面
原生APP:
安装:应用商店|APP Store 下载,可以节约带宽成本、可以访问本地资源、缓存。
版本:用户自由选择是否更新版本。新旧版本均需维护,维护成本高
Web App:
安装:通过移动设备上的浏览器访问,软件更新只需要更新服务器就好
版本:无需安装,节省移动终端的内存空间,所有用户同一个版本,版本更新速度方便,直接服务器更新数据即可,即时上线 - 加载速度方面
原生APP:
由“云服务器数据+应用客户端”构成,APP应有的所有UI元素、数据内容、逻辑框架均安装在移动终端上。访问时,只需要加载数据,应用页面框架无需下载,所以加载速度更快,页面响应更快。可线下使用。
Web App:
打开一个页面,都需要重新加载页面的所有元素,访问速度受移动终端性能和网络环境的限制,导致加载速度慢,而且操作频繁容易卡死。
比如Facebook现在的应用属于混合应用它可以在许多App Store畅通无阻,但是掺杂了大量Web特性,所以它运行速度比较慢,而现在为了提高性能FB又决定采用原生应用。
【结论】
现在如果你在想哪种应用是最好的,那答案就是,看情况而定:
比如,你的预算是多少?预算充足的话可以开发几个本地应用加一个Web应用。
你的应用需要什么时候面市?Web应用可以很快地开发然后直接推出来。
你的应用需要包含什么特点和功能?如果跟手机的某些功能深度整合了,比如摄像头,需要呈现大量图形和动画就选原生应用好点。
用户界面
有些公司为同样的产品制作了原生App与移动Web App,
注意这两者的不同地方会产生不同的用户体验结果。
原生App vs 移动Web App : 你如何选择?
所以在你准备做移动App时,你应该先问问自己以下几个问题:
*你的应用是否需要使用某些设备的特殊功能,比如摄像头,摄像头闪光灯或者重力加速器
你的开发预算
你的应用是否一定需要网络
你的应用的目标硬件设备是所有的移动设备还是仅仅只是一部分而已
你自己已经熟悉的开发语言
这个应用对于性能要求是否苛刻
如何靠这个应用赢利*
我想这几个问题应该能让你做出明智的选择。
什么是混合App?
Hybrid App是指介于web-app、native-app这两者之间的app,它虽然看上去是一个Native App,但只有一个UI WebView,里面访问的是一个Web App,比如街旁网最开始的应用就是包了个客户端的壳,其实里面是HTML5的网页,后来才推出真正的原生应用。再彻底一点的,如掌上百度和淘宝客户端 Android版,走的也是Hybrid App的路线,不过掌上百度里面封装的不是WebView,而是自己的浏览内核,所以体验上更像客户端,更高效。
汽车有混合动力Hybrid,移动应用同样也有混合模式。Hybrid App(混合模式移动应用)兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。很多人不知道市场上一些主流移动应用都是基于Hybrid App的方式开发,比如国外有Facebook、国内有百度搜索等。
综合一下就是:“Hybrid App同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装使用的移动应用”。总体特性更接近Native App但是和Web App区别较大。只是因为同时使用了网页语言编码,所以开发成本和难度比Native App要小很多。因此说,Hybrid App兼具了Native App的所有优势,也兼具了Web App使用HTML5跨平台开发低成本的优势。
混合App
优点: 兼容多平台、顺利访问移动设备功能、应用商店下载(web应用套用原生应用的外壳)
缺点:用户体验不如原生,性能稍慢
现今,消费者在移动app应用(包括原生和混合)上花费的时间(94分钟/天)超过移动web(72分钟/天),于是“移动优先”成为移动开发战略的热门 口号,但实际上移动web和移动app又有各自不可替代的优势,不同的移动开发模式都有成功的案例,企业需要根据自身的产品和业务属性、移动战略及目标用户需求,选择适合自己的开发道路。
下面是AppCloud为我们详细对比了纯web(HTML5)、混合App(Hybrid)和原生App(Native)三种移动开发路线的差异。
● 开发难度。移动web和混合App开发难度对于web开发者来说相对较低,而且可以充分利用现有的web开发工具和工作流程
● 发布渠道和更新方式。混合App可以在应用商店App Store发布,但可以自主更新,而原生App的更新必须通过应用商店App Store。
● 移动设备本地API访问。混合App可以通过JavaScript API访问到移动设备的摄像头、GPS;而原生App可以通过原生编程语言访问设备所有功能。
● 跨平台和可移植性。基于浏览器的移动web最好的可移植性和跨平台表现;混合App也能节省跨平台的时间和成本,只需编写一次核心代码就可部署到多个平台,而原生App的跨平台性能最差。
● 搜索引擎友好。只有移动web对搜索引擎友好,可与在线营销无缝整合。
● 货币化。混合App除广告外,还支持付费下载及程序内购买;原生App的程序内购买金额2012年首次超过下载收费。
● 消息推送。只有混合App和原生App支持消息推送,这能增加用户忠诚度。Apache Cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。 PhoneGap是一个开源的开发框架,使用HTML、CSS和JavaScript来构建跨平台的的移动应用程序。目前开发商可以只编写一次应用程序, 然后在6个主要的移动平台和应用程序商店(app store)里进行发布,这些移动平台和应用程序商店包括:iOS、Android、BlackBerry、webOS、Bada以及Symbian等。
注:本文部分转载自互联网


徐伟轩博客-爱写歌的程序员思考和科普的日常自媒体
https://letus.top/mblog/archives/42.html(转载时需注明本文出处及文章链接)
如需转载或刊登,请联系我们获得授权。