Web App和Native App 谁将是未来 (转) 2011-06-27 8:47
http://hi.baidu.com/bpboy/blog/item/c9bb3e016789ca177aec2c46.html
Web App和Native App 谁将是未来
本文详细分析了Web App和Native App的优势和劣势,指出Web只是我们作为设计者和开发者所期待的一种理想化结果,是一种趋势,将会是一个相当久的过渡阶段,对复杂产品来说,Native App + Web App也许是个不错的解决方案。
AD:
未来是Web App的天下,还是Native App的天下?作为设计师,我们是应该努力把客户端的体验提升到最优,还是在网页应用层面上做更多的设计?这个一直是大家关心的话题。那么,我们首先应该立体的认识一下Web App和Native App。
一、Web App
Web无需安装,对设备碎片化的适应能力优于App,它只需要通过XHTML、CSS和JavaScript就可以在任意移动浏览器中执行。随着iPhone带来的WebKit浏览体验升级,使得专为iPhone等有WebKit浏览内核的移动设备开发的Web应用,也有了如App一般流畅的用户体验。
图1 谷歌 Voice 和谷歌 Gmail是Web App的设计典范
Web App的优势:
1.开发成本低
2.适配多种移动设备成本低
3.跨平台和终端
4.迭代更新容易
5.无需安装成本
Web App的劣势:
1.浏览的体验短期内还无法超越原生应用
2.不支持离线模式(html5将会解决这个问题)
3.消息推送不够及时
4.调用本地文件系统的能力弱
图2 街旁和百度小说,采用HTML5实现了接近Native的体验效果
二、Native App
而App因为位于平台层上方,向下访问和兼容的能力会比较好一些,可以支持在线或离线,消息推送或本地资源访问,摄像拨号功能的调取。但是由于设备碎片化,App的开发成本要高很多,维持多个版本的更新升级比较麻烦,用户的安装门槛也比较高。但是比较乐观的是,App store培养了一种比较好的用户付费模式,所以在Apple的生态圈里,开发者的盈利模式是一种明朗状态,其他market也在往这条路上靠拢。
图3 Gowalla和Awesome Note,是移动客户的经典设计案例
Native App的优势:
1.提供最佳的用户体验,最优质的用户界面,最华丽的交互
2.针对不同平台提供不同体验
3.可节省带宽成本
4.可访问本地资源
5.盈利模式明朗
Native App的劣势:
1.移植到不同平台上比较麻烦
2.维持多个版本的成本比较高
3.需要通过store或market的确认
4.盈利需要与第三方分成
三、融合
乔布斯有一次谈到这个问题,他说Web是未来,虽然现阶段Native给了用户更好的体验。如果现在的开发者不有效的利用Web技术,那他就落伍了。但如果过分依赖Web,完全不用Native那也未必就是好事。
iOS平台上的App有三类:Web App,通过浏览器访问;Native App,通过App store安装;第三类叫Hybrid App,它虽然看上去是一个Native App,但只有一个UI WebView,里面访问的是一个Web App,比如街旁网最开始的应用就是包了个客户端的科,其实里面是HTML5的网页,后来才推出真正的原生应用。再彻底一点的,如掌上百度和淘宝客户端Android版,走的也是Hybrid App的路线,不过掌上百度里面封装的不是WebView,而是自己的浏览内核,所以体验上更像客户端,更高效。
图4 掌上百度和Naver客户端都是Web App+Native App的架构
图5 掌上百度的架构说明,客户端嵌套服务端,保证服务的高效迭代与更新
谷歌的Chrome OS和Android都是操作系统,但走的是两条路。Chrome OS走的是Web app的路。从Chrome OS 大会上发布的Chrome Web App能看出来,谷歌想为未来的Chrome OS做铺垫,鼓励更多的开发者开发出具有应用程序体验的Web App,正如Chrome OS官网上说的——“Nothing but the web”。而Android走的是Native App的路。Android作为手机平台的操作系统,明显更注重应用程序开发,这一点从Android Market可以看出来。也许前微软首席架构师Ray Ozzie的评价更加一针见血:“谷歌的战略中Android(以app为主)是在赌过去,而Chrome OS(完全基于Web)则是在赌未来。”
于是我们可以得到这样一个启发,你要想服务于未来,必须不断的跟随技术发展的脚步,提供更好的网页服务和体验。但是人们是活在当下,为了当下用户的需求,又必须提供现阶段浏览体验最好的客户端产品。但是,客户端是笨重且迟缓的,它不能像传统网页那样,一有风吹草动就华丽转身,只能规划好功能点,一步一步迭代,毕竟用户的升级成本太高了。所以,就有了这种Web App + Native App的架构,在现有条件下给用户最好的浏览体验和升级迭代。
四、未来趋势
虽然我们都愿意相信,当Web的体验和Native的体验逐渐趋近的时候,人们更愿意把精力花在内容获取上,而不是软件交互上,但是现阶段的交互体验,恰恰是影响人们获取内容的主要短板。所以,趋势摆在那里,我们却无法预测这个时间差。
就跟电脑端的应用一样,虽然现在Web化的趋势已经非常明显了,但是还是无法取代你本机安装的一些工具类的、游戏类的应用,在Web技术没有达到本地应用的效率和体验之前,Web是无法颠覆Native的。
总得来说,Web只是我们作为设计者和开发者所期待的一种理想化结果,开发成本低、轻松跨平台、迭代更新快,但是显然,现阶段用户的期待和手机设备厂商的期待还是体验上更胜一筹的Native。Web之于我们,只是一种趋势。在这个也许会非常久的过渡阶段,对复杂产品来说,Native App + Web App也许是个不错的解决方案。
其它的一篇文章:Native APP 和 WEB APP 在用户体验上的差别
http://www.cnblogs.com/ghj1976/archive/2011/10/06/2200005.html
分享到:
相关推荐
HTML5在LBS社区中的应用提纲:HTML5和LBS社区的契合点HTML5浏览器的现状HTML5 Web App和Native App之争HTML5 Web App开发架构
社交网络日新月异,需要更快,更灵活的技术架构才能满足用户日益丰富的媒体需求,Hybrid App架构具备了快速发布的能力,同时也有更接近Native的流畅体验以及性能; 本次分享主要介绍QQ空间Hybrid架构,包括如何提高...
Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。 一名前端工程师想要开发一款Hybrid App需要有很多移动端...
主题简介:Android和iOS原生应用的部署特性决定了其无法像Web开发那样灵活多变,同时造成了产品迭代速度缓慢,线上问题无法及时解决,旧版本的历史包袱越来越重等一系列的问题。在尽可能小的影响App体验的前提下如何...
在移动应用开发中,什么是原生应用(Native App)、混合应用(Hybrid App)和Web 应用(Web App)?它们各有什么特点? - 5. 移动应用开发中常用的开发语言有哪些?请简要介绍 Java、Kotlin、Swift 和 Objective-C...
演讲提纲涉及:(1)凡客Android客户端应用的介绍及具备的主要功能,并同时介绍APP的实现架构,如native app + web app架构,及如此设计APP架构对电商应用的优势支持;(2)凡客Android客户端应用在开发中主要对APP...
Hybrid架构方案能让App既能拥有极致的体验和性能,同时也能拥有Web技术灵活的开发模式、跨平台能力以及热更新机制,本系列文章是公司在这方面实践的一个总结,包含了原理解析、方案选型与实现、实践优化等方面。...
NativeApp 使用传统原生态Android SDK来实现的应用 WebApp 基于浏览器来实现的一种应用 HybridApp 一种可以下载的Native App,其用户界面的全部或者部分元素在嵌入式浏览器组件(WebView之类的)里面运行 优雅降级...
9 Hybrid App:借助HTML5、JavaScript和CSS3开发 技术心得 10 AndroidManifest.xml文件详解 12 如何将Windows Phone应用移植到Windows 8 移动信息化 15 厂商需要加快企业级移动应用进度 16 IT Leader如何在企业中...
本文档针对移动前端开发,包括 Hybrid 里面的web页面,非 Native 应用。 概要 本文档针对移动前端开发,包括 Hybrid 里面的web页面,非 Native 应用。 适用 所有经验适用于:iOS6.0+, Android4.0+ 目录 兼容性 CSS...
广发混合 App 技术选型和框架介绍混合 App 技术发展更迭快,但总体分为两种方案,通过是 WebUI 还是 HybridUI 来区分。 前者的代表有 ionic,twbs/ratchet,后者的代表有 fb/react-native, nativescript 等。 本项目...
这是一个自定进度的研讨会,专为希望使用Amazon Web Services(AWS)的移动服务来构建React Native移动应用程序的开发人员而设计。参考架构 我们的应用程序允许用户创建聚会,也可以加入现有的聚会。 每个聚会都...
定向页面推送(Push)2.App内部配置web页面url,web页面点击跳转App内部界面(web 和 native app 界面互相跳转)****** Schema 说明 ******App内置schema格式:yourappname://pageName?param0=value0¶m1=value1...
缺陷:对全栈工程师的要求更高,需要略了解原生,有web开发经验甚佳。 优势:有一套权限认证,xadmin的可视化管理后台,高拓展性,可根据源码自定义拓展组件,开发高效 劣势:市场上高质量的python工程师较少,技术...
微服务:使用微服务架构实现web服务 容器化:每个服务都应该能够在其自己的容器中运行。 Cloud Native :尝试从CNCF项目中合并有用的工具。 无服务器:探讨无服务器和微服务架构如何协同工作。 学习:探索来自...
缺陷:对全栈工程师的要求更高,需要略了解原生,有web开发经验甚佳。 优势:有一套权限认证,xadmin的可视化管理后台,高拓展性,可根据源码自定义拓展组件,开发高效 劣势:市场上高质量的python工程师较少,技术...
在目前的软硬件环境下,Native App与Web App在用户体验上有着明显的优势,但在实际项目中有些会因为业务的频繁变更而频繁的升级客户端,造成较差的用户体验,而这也恰恰是Web App的优势。本文对网上Android动态加载...
Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
随着移动互联网的普及web技术的飞速发展,H5在移动端上的场景早已不是快速迭代的用完就走的活动页面,越来越多的App已经使用了webview嵌套H5,而且这个比例越来越大,native自然有其优于web的地方,更快、更流畅、更...