热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

未来是WebApp的天下吗?

498)this. Onmousewheel= 'Javascript:return big(this)' border="1" alt="Google App 未

check in 640 未来是Web App的天下吗?

一、Web App

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

Google App 未来是Web App的天下吗?

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

Web App的优势:


  • 开发成本低

  • 适配多种移动设备成本低

  • 跨平台和终端

  • 迭代更新容易

  • 无需安装成本

Web App的劣势:


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

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

  • 消息推送不够及时

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


jiepang baidu 未来是Web App的天下吗?

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

二、Native App

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

Gowalla Awesome 未来是Web App的天下吗?

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

Native App的优势:


  • 提供最佳的用户体验,最优质的用户界面,最华丽的交互

  • 针对不同平台提供不同体验

  • 可节省带宽成本

  • 可访问本地资源

  • 盈利模式明朗

Native App的劣势:


  • 移植到不同平台上比较麻烦

  • 维持多个版本的成本比较高

  • 需要通过store或market的确认

  • 盈利需要与第三方分成

三、融合

乔布斯有一次谈到这个问题,他说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,而是自己的浏览内核,所以体验上更像客户端,更高效。

baidu mobile naver 未来是Web App的天下吗?

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

Baidu mobile s 未来是Web App的天下吗?

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

Google的Chrome OS和Android都是操作系统,但走的是两条路。ChromeOS走的是Web app的路。从Chrome OS 大会上发布的Chrome Web App能看出来,Google想为未来的Chrome OS做铺垫,鼓励更多的开发者开发出具有应用程序体验的Web App,正如Chrome OS官网上说的——“Nothing but the web”。而Android走的是Native App的路。Android作为手机平台的操作系统,明显更注重应用程序开发,这一点从Android Market可以看出来。也许前微软首席架构师Ray Ozzie的评价更加一针见血:“Google的战略中Android(以app为主)是在赌过去,而Chrome OS(完全基于Web)则是在赌未来。”

于是我们可以得到这样一个启发,你要想服务于未来,必须不断的跟随技术发展的脚步,提供更好的网页服务和体验。但是人们是活在当下,为了当下用户的需求,又必须提供现阶段浏览体验最好的客户端产品。但是,客户端是笨重且迟缓的,它不能像传统网页那样,一有风吹草动就华丽转身,只能规划好功能点,一步一步迭代,毕竟用户的升级成本太高了。所以,就有了这种Web App + Native App的架构,在现有条件下给用户最好的浏览体验和升级迭代。

四、未来趋势

虽然我们都愿意相信,当Web的体验和Native的体验逐渐趋近的时候,人们更愿意把精力花在内容获取上,而不是软件交互上,但是现阶段的交互体验,恰恰是影响人们获取内容的主要短板。所以,趋势摆在那里,我们却无法预测这个时间差。

就跟电脑端的应用一样,虽然现在Web化的趋势已经非常明显了,但是还是无法取代你本机安装的一些工具类的、游戏类的应用,在Web技术没有达到本地应用的效率和体验之前,Web是无法颠覆Native的。

总得来说,Web只是我们作为设计者和开发者所期待的一种理想化结果,开发成本低、轻松跨平台、迭代更新快,但是显然,现阶段用户的期待和手机设备厂商的期待还是体验上更胜一筹的Native。Web之于我们,只是一种趋势。在这个也许会非常久的过渡阶段,对复杂产品来说,Native App + Web App也许是个不错的解决方案。


推荐阅读
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 唱唱反调:风口上的技术不要盲目追
      对于前端领域的开发者来说,“学不动了”虽然更多是一种调侃,但也真实地反映出了他们面对频繁出新的前端技术时又爱又恨的心情。在经历了移动互联网的大爆发后,前端领域的边界不 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 小程序自动授权和手动接入的方式及操作步骤
    本文介绍了小程序支持的两种接入方式:自动授权和手动接入,并详细说明了它们的操作步骤。同时还介绍了如何在两种方式之间切换,以及手动接入后如何下载代码包和提交审核。 ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了预加载多个本地WebView相关的知识,希望对你有一定的参考价值。 ... [详细]
  • H5前端开发_金三银四,H5前端开发如何用性能优化征服前端面试官?
    本文由编程笔记#小编为大家整理,主要介绍了金三银四,H5前端开发如何用性能优化征服前端面试官?相关的知识,希望对你有一定的参考价值。许多Web性能优化都是无效的,问题出在哪 ... [详细]
author-avatar
挽木城祠_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有