Web App和Native App 谁将是未来 - 想飞的更远

blogonfly 2021-08-09 原文


Web App和Native App 谁将是未来


http://mobile.51cto.com/design-255047.htm

 

本文详细分析了Web App和Native App的优势和劣势,指出Web只是我们作为设计者和开发者所期待的一种理想化结果,是一种趋势,将会是一个相当久的过渡阶段,对复杂产品来说,Native App + Web App也许是个不错的解决方案。

AD: 51CTO学院:IT精品课程在线看!

 

未来是Web App的天下,还是Native App的天下?作为设计师,我们是应该努力把客户端的体验提升到最优,还是在网页应用层面上做更多的设计?这个一直是大家关心的话题。那么,我们首先应该立体的认识一下Web App和Native App。

一、Web App

Web无需安装,对设备碎片化的适应能力优于App,它只需要通过XHTML、CSS和JavaScript就可以在任意移动浏览器中执行。随着iPhone带来的WebKit浏览体验升级,使得专为iPhone等有WebKit浏览内核的移动设备开发的Web应用,也有了如App一般流畅的用户体验。

图1 Google Voice 和Google Gmail是Web App的设计典范

图1 谷歌 Voice 和谷歌 Gmail是Web App的设计典范

Web App的优势:

1.开发成本低

2.适配多种移动设备成本低

3.跨平台和终端

4.迭代更新容易

5.无需安装成本

Web App的劣势:

1.浏览的体验短期内还无法超越原生应用

2.不支持离线模式(html5将会解决这个问题)

3.消息推送不够及时

4.调用本地文件系统的能力弱

图2 街旁和百度小说,采用HTML5实现了接近Native的体验效果

图2 街旁和百度小说,采用HTML5实现了接近Native的体验效果

二、Native App

而App因为位于平台层上方,向下访问和兼容的能力会比较好一些,可以支持在线或离线,消息推送或本地资源访问,摄像拨号功能的调取。但是由于设备碎片化,App的开发成本要高很多,维持多个版本的更新升级比较麻烦,用户的安装门槛也比较高。但是比较乐观的是,App store培养了一种比较好的用户付费模式,所以在Apple的生态圈里,开发者的盈利模式是一种明朗状态,其他market也在往这条路上靠拢。

图3 Gowalla和Awesome Note,是移动客户的经典设计案例

图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的架构

图4 掌上百度和Naver客户端都是Web App+Native App的架构

图5 掌上百度的架构说明,客户端嵌套服务端,保证服务的高效迭代与更新

图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也许是个不错的解决方案。

发表于
2014-04-27 11:31 
想飞的更远 
阅读(80
评论(0
编辑 
收藏 
举报

 

版权声明:本文为blogonfly原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/blogonfly/articles/3693830.html

Web App和Native App 谁将是未来 - 想飞的更远的更多相关文章

  1. 加快页面的运行速度 – 黄银

    1.减少http请求次数 合并图片,css,js,改进首次访问用户等待时间 2,使用CDN 就近缓存,只能路由 […]...

  2. Spring Security + JWT实现前后端分离权限认证

      现在国内前后端很多公司都在使用前后端分离的开发方式,虽然也有很多人并不赞同前后端分离,比如以下这篇博客就很 […]...

  3. CSS改变浏览器默认滚动条样式 – 你不知道的巨蟹

    CSS改变浏览器默认滚动条样式     前言     最近总是看到某网站滚动条不是浏览器默认样式,而是自定义样 […]...

  4. 年终总结写了吗?给你一个按年、月、季度汇总数据的妙招 – janicemvidal

    年终总结写了吗?给你一个按年、月、季度汇总数据的妙招 大家日常工作中经常会遇到按年、月汇总的问题吧,今天老祝就 […]...

  5. 根目录执行chmod -R 777 / 的补救方法

    执行后千万不要退出当前窗口!!!         在自己的虚拟机上设置某个站的权限的时候,原来应该是chmod […]...

  6. jQuery & Mootool 兼容解决方案(原创自Zjmainstay)

    插入如下函数解决兼容问题: function mootool_jQuery_compatible(){ if( […]...

  7. 锂电设备行业分析 – 坚持——梦想

    锂电设备行业两大龙头全方面对比,各自优势尽显!    赢合科技在锂电设备行业地位次于先导智能(全球第一大)。两 […]...

  8. 前端学习 数据结构与算法 快速入门 系列 —— 栈

    栈 前面,我们学习了如何创建和使用计算机科学中最常用的数据结构——数组。 我们知道可以在数组的任意位置添加或删 […]...

随机推荐

  1. Springboot 2.0.x 引入链路跟踪Sleuth及Zipkin

    Zipkin是一种分布式跟踪系统,它有助于收集解决微服务架构中得延迟问题所需的时序数据,它管理这些数据的收集和 […]...

  2. SOAP和WSDL的一些必要知识(转)

    原文地址:SOAP和WSDL的一些必要知识 SOAP和WSDL对Web Service、WCF进行深入了解的基 […]...

  3. 深度学习之intel NCS2算力棒开发笔记

    1 什么是NCS2我们在训练完深度学习模型之后,需要将其转移到生产中用以识别和分类对象,这被称为推理。将深度学 […]...

  4. Vue3.x 从零开始(五)—— Router + Vuex + TypeScript 实战演练(上)

    前面的几篇文章已经大致介绍了 Vue 3 的常用 API,现在综合起来做一个实战演练 配合完整代码食用更香哦, […]...

  5. 如何使用JetPack组件之一Navigation组件 – endian11

    如何使用JetPack组件之一Navigation组件 如何使用Navigation的JetPack组件 设置 […]...

  6. Collection之ArrayList

    Collection集合 1、概述 集合类中也是使用了JDK8中的一些新的特性,在源码中可以体现。 迭代器接口 […]...

  7. java之set接口

    java之set接口 1.set集合不能存储重复的元素, 2.HashSet集合不能保证的迭代顺序与元素存储顺 […]...

  8. 坚持:学习Java后台的第一阶段,我学习了那些知识

    最近的计划是业余时间学习Java后台方面的知识,发现学习的过程中,要学的东西真多啊,让我一下子感觉很遥远。但是 […]...

展开目录

目录导航