旗下微信矩阵:

百纳信息CTO刘铁锋:Web App在移动设备上的发展趋势

铁锋回顾了移动浏览器的发展脉络,从2005年Palm手机浏览器到Nokia手机浏览器、MIT、航海家、再到Opera,以及后面的Android和iPhone上的浏览器,他将手机浏览器分为三个阶段。
2011-11-04 19:02 · 投资界     
   
 

  我们认为HTML5加了几个新特性:第一页面描述规范,来帮助你识别页面上到底哪一块是什么内容,可以出于更加方便的查找。对于这种方式来说有用吗?包括回顾过去十年IE标准,乱七八糟的标准都不识别,所以强制执行比较困难。第二个是新的交互方式。所以大家知道提供拖拽功能,对于Flash来说提供了一个可能,可以做一些操作,这种操作实际上是把Flash部分功能替代,当如果你来做的时候,这些功能可以做到为什么还用Flash?拖拽的可能也为Web页面做出PC体验提供了一种可能。第三是新的视频解码标准,这个可能没有那么重要,Flash是目前最主要的视频网站播放的方式。但是对于谷歌来说,我们看它解决什么问题呢?只解决浏览器不要装插件的方式,但对于这个,我们往深里看,意味着是一个新的视频格式标准,谁掌握了这种标准可以要求专利费。所以浏览器里,也有商业的原理,不同的模式在打架,到现在也没有定下来,原因也在当初做新的标准,本身不是一个技术问题,而是一个标准问题。

  最后也是最重要的是提供访问本地的问题,有两种方式,如果想深一点,提供一种可能在Web页面可以访问本地应用,跟原生应用访问有什么区别呢?其实没有什么区别,我们可以稍微来看一看,是不是把这个东西结合在一起的话,是不是可以得出结论,可以做一个程序达到本地应用的程序。回顾到这里Flash最重要的几点,提供本地效应价值,并且不需要用专门的Flash来做,这是为什么谷歌提供很多方式来转。所以为什么有几家公司苹果、Android支持HTML5,大家一起把Drop提出去了。所以iPhone不让Flash进去,Android部分让它进去,为什么新的IE9、IE10支持HTML5。

  对之前开放的标准,催生更多应用而不是一家独大的情况。回过来做一个对比,结合业界的趋势来看,为什么Web这块有非常大的发展空间。看一个桌面上的发展趋势:

  第一是大家可以看从单机到局域网到互联网的发展模式。这是过去二十年间发生的事。这个上面,我们看一看开发上做的演变,最开始通过一个单机应用程序,最早是通过汇编、简单的DOS程序,然后出现了单机数据库,网络进入之后,局域网大家把数据库、应用服务分开。再往后到2000年左右是Web程序,到现在大家可以看到,绝大多数应用都出现在Web开发方式。现在还有哪些非常厉害的PC软件开发公司?很少了。技术导致在PC上的开发应用非常少,转向WBE。转向云计算的时候,又像回到最开始的时代,所有的服务都跑到云端。

  做一个对比,首先来看商业软件公司,九十年代初曾经出现过的苹果,2000年出现的最火的是互联网公司,传统的软件开始逐渐下架。现在开始出现基础平台互联网公司,比如亚马逊。

  另外编程语言趋势,编程语言来看,大家可以很清楚,如果大家做对比,从汇编到C到C++ 对应桌面发展趋势单机是C做主导,到但机加数据库是C++做主导。到.NET之后,是JavaScript,这是2005年之后做的事。转到移动设备之后,我们看看会不会在移动设备上出现类似PC上一样的用JavaScript的开发方式?

  对比这几件事有几个结论:第一个是技术发展趋势让开发为什么简单,开发者用户基数越来越大。看一下桌面和编辑语言发生的事情。越到后面开发者基数越大,会不会C++的人多一些?请回顾为什么商业上会出现同样的方式?当你要去雇一个两万一个月开发汇编和C开发程序,和三千块做一个简单的PHP做应用程序的,会用哪一种?商业选择既然能够达到同样应用,肯定选择便宜的。另外一种Web不会在PC上做大量部署,技术开始越来越多、用户两越来越大的时候,普及应用之后,我们看到技术发展趋势让开发越来越简单。包括谷歌提出可以拖拽的框架帮助大家写应用程序,甚至很多帮助大家用应用程序做拖拽,让开发变得越来越简单。这样才有价值。

  第二是商业发展趋势让开放互联网公司越来越多,传统软件开始衰落。传统PC上写一个软件要很复杂地分发。但是互联网的时代直接放到网上就可以用,这就导致成本降低。尽可能选择Web原因在这里——商业原因。

  最后一个结论其实也是最重要的,谈到很多PC上发生的事,如果看手机、智能手机上,会不会把PC上的事复制一遍?做一个对比,九十年代初共享软件非常流行,而现在大家写的是手机客户端。但随着技术发展,大家开始往Web做,手机上会不会转向Web?其次商业上来说,很多商业公司并不懂技术,比如出版商、做内容网站的的,但也想做应用,一个方法是把页面做得更好一些,另外一个方法会雇人做一个iPhone上的程序。这也是现在发生的事。雇人去做Android、做iPhone的程序。你不可能又懂Android看法又懂iPhone开发的,找人给你做,但是如果在Web方式能够有原生Web体验,绝大部分非专业人士都将转到Web,取决的原因在于产品质量。上次和当当网的工程师聊天,他们就是会先拿一个Web View+Android外壳实现的。所以我们看到智能手机应用正在慢慢往Web走。

  另外看看Web发展,技术发展,从任何商业上的决定也是有技术上的决定,如果没有互联网发展,互联网公司不存在一样。Web发展提供了哪些可能?Web最早出现在1998年,没有太多技术含量,做了之后呢,后面稍微有技术含量点,难在动态交互,2009年ASP、JSP等等,当比较复杂的时候通过C++写程序,为很多内容动态操作方式提供了可能,存取可以动态做到。2005年谷歌推出GMail,可以有更强的交互方式。2005年之后出现了强交互的Web,包括到现在也有很多前端公司,但是要找一个很好的前端工程师很难,真正厉害人的觉得太简单了不做,都是由一些懂程序不太多的人来做。更多专业程度是在做怎么做一个非常强的交互页面、非常好的交互方式。这是我们看到Web做的事。

  第四是我提到的RIA,为什么Adobe很流行?。2006年以后大家越来越多用Web开发程序,但是原有技术不能支撑,Flash面向企业收费,到了2.0就想到做免费让大家用Flash写程序。很不幸这两个都没有成,原因在于对于Adobe来说,不是经营开发者社区的公司,所以虽然想到了那个东西,但是没有做。对于微软来说,虽然花了很多钱做但是Flash已经成为市场主导,目前是两败俱伤。

  2010年开始火起来了就是HTML5,2006年大家认为Web有更多交互方式,2007年两家公司开始打架。后来觉得还是不要打了,做一个新的标准。所以看一看HTML5提供的新的功能,能做的事都是需要做的。我们看到的都是趋势,做一个对比,有些是打一个问号。对比是什么意思呢?看一看如果开发一个程序的话,早期PC上开发的程序所有都不是问题,访问数据库、本地资源都不是问题,Web上很多都是问题。

  第一访问本地硬件资源能力,还是原生应用效率高,包括C++写,开发效率最高、性能最好,不仅访问CPU资源还能访问GPU资源进行压缩。

  在Web之外,允许浏览器里访问GPU,提升了性能。除了这个之外所有浏览器都采用主流硬件加速能力,这是第一个基础,拿Web开发和原生开发的基础。第二个访问硬件能力大家差不多之后,就是性能问题,抛开不谈。另外还有本地离线存储能力,本地事情可以做到,再看看为什么HTML加速,原因很简单,可以拿Web写一个程序存大量在本地,也可以一样在浏览器启动应用程序之后写好。当有了Tast,其实和本地开发程序没有太大区别。

  AJAX是一边刷新信息,主页面没有什么刷新,提供了一种异步交互的方式,并且同时对用户体验做了改进。

  三是桌面交互能力,桌面交互也是比较重要的因素,重要在于原生的时候可以拖一个图表、拖一个文件到资源管理器里。这是原生程序上经常做的事。也提供一个拖拽功能,如果用Gmail可以拖到附件框里,是一种交互处理能力。可以在Web里做,和本地类似的做应用。

  还有界面渲染方式。在原生程序上,Android的开发也是类似的方式,把前面的界面写好,如果也做了类似的,但是显示不是这样,但是没有做类似交互,要本地程序、远程应用、界面展示方式,提供了非常多的可能,这种可能,提供界面上更强的表现能力,如果这几个技术做对比的话,结论很简单,Web上做开发已经提供了技术基础,以达到和本地应用一样的能力。这种能力当你技术做成熟的时候,再对比一下PC上发生的事,开发的程序从C/S到B/S,手机上做的事都是一样的。

  为什么呢?原因在于,开发的难度都导致很多开发者往这边转。很多市场上非常难求的Android开发工程师,非常非常难培养出来。如果这个技术成熟到拿Web、拿CSS可以做一个和原生的程序抗衡的程序,会发现市场上大量的都冒出来了。这是技术上的对比。这就是为什么说Web App已经在市场上打好基础。

  可以看看Web App,如果装上驱动发现和原生程序在操作方式上没有太大的区别。但是还有一些区别,用拖拽会比较慢一些,除了这个之外交互方式和做的方式,给一个不懂的人看会发现他看不出之间的差别。

  再看一个例子,可以在Web上通过访问GPU方式,很多厂商拿一些浏览器展示Web能力,在游戏上做得比较多的,也可以有一个基础,往浏览器转的基础。 那么来看一看对于Web App来说,没有必要局限于是PC还是Web,还是什么什么。来看一下做得比较早的,如果看谷歌的WebStore,有各种应用,一个典型的是Googel Mail,点开以后你可以做拖拽,如果全屏的话可以发现和本地的应用没什么区别。为什么Google在HMT5上这么热心。就不需要那么强的操作系统来做。这是新的一轮洗牌开始,谷歌不遗余力做拓展。当你在Gmail收到一个邮件的时候,会有一个弹窗的提醒,桌面上有很多弹窗来提醒,Web是另外一个方式,如果来做的话会有一个通知和提醒支持。Web可以做到,也可以提供一个操作方式。

  我们前面谈到很多,几个方面谈到的,首先浏览器发展,谈到了一个结论,因为智能手机功能会越来越强大,这种强大功能会导致显示Web方式是一样的。另外技术趋势来谈,谈到现在HTML5已经做好了准备,第三方面谈到对比,在PC上发生的事情是大量桌面应用转向Web应用的历史。

  下一步的发展,第一会充分发挥HTML5优势的App,对于显示新闻、BBS等不需要特别多的交互、文件商务的设置、比价程序、甚至天气预报这种程序都可以做。第二种是会充分发挥移动交互优势,刚才反复提到移动设备上会出现新的交互方式,原因在于手机交互方式和PC交互方式不一样,我们做手机应用的时候,一定有新的交互方式会出现,作为新的创新,会利用这些Web技术出现新的创新。新的交互方式可能提供一种对比、提供一种可能。第三种是需要一个时间能够充分和本地应用匹敌的APP,性能和应用都可以全面和本地应用抗衡。

  这是我对上面得出的结论。我的演讲到这里结束,在未来几年大家会看到随着Web 技术发展,Web App会越来越多侵蚀本地技术份额。谢谢!

本文来源投资界,原文:https://news.pedaily.cn/201111/20111109233193.shtml

【本文为投资界原创,网页转载须在文首注明来源投资界(微信公众号ID:PEdaily2012)及作者名字。微信转载,须在微信原文评论区联系授权。违规转载必究责。】

看了这篇文章的用户还看了