HTML5能代替App吗?从架构角度看移动App之争

2012-07-17 10:30:00来源:锐推作者:

一切都在重演。围绕App的移动互联,正在陷入重资本的荒漠中。有人想起了HTML5,将其视为荒漠中的甘露——即使它目前还未能实现完整的标准化。

一切都在重演。围绕App的移动互联,正在陷入重资本的荒漠中。有人想起了HTML5,将其视为荒漠中的甘露——即使它目前还未能实现完整的标准化。

一个非成熟体。

这是移动互联版《上帝也疯狂》的续集,上次的主角是App,现在则是HTML5:一个将近10年前就被提出来用于取代HTML4.01和XTHML1.0,但在之后就步履蹒跚,直到近年重新又成为科技界焦点的Web标准版本。藉此,我们将循着价值、理想主义的纠结、极客思想、产业链演化和商业利益——是的,最终还是要谈到钱——这一系列标签来讲述一段有关HTML5这一业界“新宠”,以及它身边人的故事。

Mozilla,一个也许算不上巨头的互联网公司,却赚得了不少好感——21世纪初,Mozilla的Firefox让所有人都意识到当时的微软IE是一个落伍的浏览器;并且Firefox前身就是当初惨遭微软“捆绑”策略所害,赢得了无数同情的浏览器始祖——Netscape。

最近,它又做了一件有趣的事情,发布了Firefox OS,一款智能手机操作系统。有意思的不是Mozilla胆敢进入OS(操作系统)领域这件事,而是FirefoxOS,被认为是首款基于浏览器的移动OS,减少了层级架构,应用全部以HTML5的形式来呈现。据悉,搭载这种OS的智能手机最低价可到300元人民币以下。“浏览器和OS的界限正在模糊。”Mozilla CEO Kovacs“狂妄”地对听讲的开发者们宣布:孩子们,是时候摆脱对iOS和Android的依赖了。

上一次做了类似事情的是Google。2008年,Google宣布了Chrome OS项目,同样是基于浏览器的PC OS,“Nothing but the Web”的理念在当时看起来“极其疯狂,令人心悸”;2010年,随着众多OEM厂商推出成型的笔记本电脑产品和Chrome Web Store的全球发布,这一项目有了实质性的进展;现在,Chrome Web Store中甚至已经出现了可以离线运行的HTML5应用。

这样的情况还出现在了国内——当然,它们做的不是OS,但以浏览器为代表的各种应用,对于HTML5的宣扬已经超越了单纯的网页标准本身。如果以宗教来类比中国互联网产业,那么HTML5毫无疑问是目前追随者数量增长最快的信仰——2011年初,全球万维网标准化组织W3C成员名单上甚至还没有一家中国公司的名字;现在,百度、腾讯、奇虎360、华为、UC优视等公司已经先后进入,参与其中最重要的HTML5标准制定工作。

一切都在重演。

它是移动互联版《上帝也疯狂》的续集,最近的主角是App,现在则是HTML5:一个将近10年前就被提出来的用于取代HTML 4.01和XTHML 1.0,但在之后就步履蹒跚,直到近年重新又成为科技界焦点的因特网网页标准版本。

我们将循着价值、理想主义的纠结、极客思想、产业链演化和商业利益——是的,最终还是要谈到钱——这一系列标签来讲述一段有关HTML5这一媒体“新宠”,以及它身边人的故事。

Why HTML5?

即使目前风光无限的HTML5,也曾经面临夭折。

2003年,被认为是HTML5的诞辰年。那时候HTML5作为一个替代HTML4.01的概念,被挪威的老牌浏览器厂商Opera提交给W3C。但当时大多数握有投票权的W3C成员认为这是一个“不知所谓的东西”,最终以14∶8的选举结果将其拒之门外。

遭受打击的Opera并没有放弃,而是联合了Mozilla等公司成立了WHATWG(Web 超文本应用技术工作组),继续新型Web表单和应用程序的研究,并最终得到了回报——2007年,HTML5被W3C接纳,而且成为近几年该组织内部最重要的课题。对于将其从夭折边缘拯救回来的Opera, W3C委以重任,HTML5标准化团队中的多个重要职位由Opera员工坐庄,包括拥有最终发言权的总编辑。

W3C将在HTML5标准化过程中,扮演至关重要的角色。
正因为Opera在W3C以及HTML5发展中的特殊位置,其团队中出现了“首席标准官”等罕见的高管职务,另外还有专属的HTML5布道师,负责对接W3C和其他外围HTML5组织的工作。

“HTML5是大势所趋,这一潮流不可逆转。”W3C HTML5中文小组主席、Opera中文品牌欧朋浏览器的首席标准官谢子斌接受《计算机世界》报记者专访时说的这句话,在一定意义上代表了所有浏览器厂商对于HTML5最终形态的信任——保持开放与协作共享,产生联系,平台化,然后形成生态,良性循环。

从商业逻辑看,基于HTML5的生态系统价值还有待考证;从产业逻辑看,互联网企业,或者对于绝大多数互联网企业来说,转向HTML5则是必然——尤其是在移动端。横向比较PC端,开发工具的丰富性、技术的积累及成熟度、人才及行业经验,使得HTML5在Web端对于Adobe FLASH的替代要困难得多——即使用户很乐意在不用安装任何ActiveX插件的情况下,使用各种富媒体甚至网上银行功能。

“HTML5之所以有非同一般的应用价值,是因为能够解决当前移动互联网上存在的许多问题。”百度技术委员会理事长陈尚义接受采访时认为,随着HTML5的普及,Web App(网页应用)跨平台的特性将成为左右开发者选择的决定性因素。“传统移动终端上的Native App(本地应用),开发者的研发工作必须针对不同的操作系统分别进行,成本很高;而后续用户端的升级更新也必须重新封装以后再传递给用户,步骤繁杂。并且,Native App对于用户还存在着管理成本、存储成本以及性能消耗成本。”

以上都是移动互联领域老生常谈的问题,美妙之处就在于确实都可以用HTML5来解决——归根结底,这都是渠道问题。HTML5已经成为主流浏览器的标配,而基于统一HTML/JavaScript/CSS语言开发的应用只要一次开发就能进入所有浏览器进行分发——事实上,即使是走传统的App Store或者Google Play应用商店渠道,所多出来的一个步骤即是将底层用HTML5开发的应用“封装”成为App,时间和资金成本也远小于跨系统移植。而用户售后升级渠道的扁平化或许会给开发团队带来服务器端的额外成本,但与促进和保持用户转化率的收益相比,不值一提。

“HTML一直是互联网的基础性协议,HTML5的出现将会让互联网的想象空间变得更大。”UC优视CTO梁捷告诉《计算机世界》报记者,移动设备未来会面临多操作系统、多种类型设备、多网络环境的“三多”问题。“我们需要类似HTML5这样的基础性通用标准来促进行业的健康快速发展。”

但是,以上这些人代表的是承载HTML5应用的平台方——真正有理由使用HTML5的只能是产业链下游的庞大开发群体。

荣唐科技是一家专注于手机游戏开发的创业公司,最早就是以手机WAP网页游戏起家掘得了第一桶金,现在公司的战略方向已经全面转向了HTML5。“中途,我们曾经尝试过Android客户端游戏的开发,但最后并没有深入。”曾经是空中网技术高管的荣唐科技CEO李松涛告诉记者,与HTML5能够提供的跨平台特性相比,客户端游戏的开发成本显然是太高了。“而通过腾讯、新浪微博等社交平台推广,与传统的应用商店渠道相比,又能省下很多成本。”

无限营销公司飞拓无线CEO陈昶则将HTML5拥有的富媒体展现能力视作新的机会。根据Double Click的调查数据显示,富媒体广告的平均点击率是其他形式广告的5倍。跨平台的媒介渠道也能带来更多绩效指标,广告主可以获得用户和广告互动时间的长短、用户关注广告的程度等信息,最为重要的是还可以通过互动了解到用户的品牌偏好度和购买意向等。

成本和跨平台,两个关键词使得HTML5成为了移动开发者的重点关注对象;毫无疑问,这也是以浏览器为代表的平台厂商乐于看到的。

那么问题是,为什么优势明显的HTML5至今没有规模化地普及?

苹果悖论

HTML5最终将代替App,成为移动互联的未来。

以上这个命题已经越来越多地砸进了人们的眼球。而各种Native App开发者生存陷入困境的消息则将这种观点无限放大,并且许多人都信誓旦旦地表示:这绝不是泡沫。

UC优视就不断向外界表示Web App将在不久后成为主流,并用自身浏览器平台的数据加以佐证:2011年9月,UC优视已经推出了国内首个Web App应用商店——UC应用中心,目前收录了超过300款基于HTML5开发的Web App,月活跃用户超过1500万,添加量超过5000万次。

更具说服力的是已故的苹果创始人乔布斯生前的一段话:虽然现阶段Native App给了用户更好的体验,但Web才是未来。如果开发者不能够有效地利用HTML5等Web技术,那他就落伍了。

如果有人连乔布斯的话都能不当一回事,那他一定是疯了。

但是,人们有理由质疑任何“神话”。过去几年内,苹果和谷歌的应用商店中诞生了不计其数的经典:愤怒的小鸟、Flipboard、Instagram⋯⋯——HTML5应用在哪里?Facebook上的Zynga?抱歉,Zynga最赚钱的应用仍然是基于FLASH,并且仅限于PC端。

有人将这种现象的原因笼统地归结于“HTML5标准尚未完善”。但事实上,其背后的根源远不是技术问题那么单纯。

近年来,有两个被视为HTML5的标志性事件,都与苹果有关:2007年发布的iPhone拒绝支持FLASH,只支持HTML5;2011年,Adobe宣布放弃FLASH的移动端项目,转而开发HTML5工具。

然后,HTML5就如愿以偿地成为了移动端的唯一Web标准。这些都不过印证了一个基本理论:HTML5是一个连乔布斯都认同的革命性产物。它的价值没有被高估过,更没有被低估过。

真正好玩并令人生疑的是苹果随后的举动。相较于Google,甚至微软等公司对于HTML5的热情,苹果却做出了与当初强势封杀FLASH、力推HTML5时截然相反的举动:迟迟没有投入Web App、建立类似Google或者Opera那样的生态渠道,甚至从iOS4.0开始,封杀了一系列对于HTML5来说至关重要的Web API。

其中的原因并不是什么秘密:在App Store如日中天的时候,苹果为什么要冒着失去30%利润的风险,扶植一个替代性质的生态系统?类似的“花招”还有很多——在HTML5中的视频格式一项,苹果选择了支持MPEG,一个核心为私人商业机构所拥有的格式,这显然与HTML5开源共享的理念背道而驰。

一种更为合理但没有任何证据的说法是,苹果正在暗中培育自己的HTML5生态系统,只不过在App Store仍能维持强势之时,不会现身而已。

一边力推,一边封杀,这就是所谓的“苹果悖论”。广义上,它描述的不是苹果一家公司匪夷所思的举动,而是在HTML5这个游戏圈中,几乎所有玩家的一种心态:既希望这种开放高效的载体能够早点标准化,为己所用,同时又能保证自身的利益体系不受恶性冲击。

在商业体系中,对于渠道的争夺是永恒的。理论上所有的平台达到一定规模之后,都会试图寻求独特性,从而形成生态闭环。

可以想象,由一群世界顶级互联网企业参与的HTML5标准制定过程,苹果悖论发生的概率会有多大。

谢子斌的职务意味着他能够经常出入W3C,接触第一线的关于HTML5标准化进程的资料。“其实单纯地讲浏览器层面的解析,HTML5的标准化已经基本实现了。”他认为,HTML5已经远远超过了严格定义的HTML语言本身,囊括了大部分W3C的技术,而目前未能完成标准化的部分恰恰是在Web解析技术之外。“随时都有可能出现新的技术,经过讨论后被应用到HTML5中,使得它变得越来越成熟。对于开发者来说,90%的功能已经可以实现了,现在就是看剩下的10%如何解决。”而这就是W3C现阶段存在的意义。

但是,看似简单的10%,实现起来却并不容易。作为一线参与者的谢子斌深有体会,并将这个戏称为:周期性的“吵群架”。“当你把中国移动、苹果、Google、微软的人放在一起时,想不吵架确实很难。当然,每次吵完后还是有进展的,毕竟所有人的终极目标还是推进互联网的发展。”

Google开发技术部推广经理胡坤对于标准化进度的关心是显而易见的,本身就是从事Chrome浏览器和HTML5推广工作的他对记者表示希望明天就能够使用到完善的HTML5功能。“对我们来说,当然是越快越好。但是也能明白,任何一个新技术在标准上达成一致,都是需要谈判成本的。另外,中间件厂商支持力度的薄弱也会使得HTML5技术在实用性上受到挑战。”

2014年,是W3C官方宣布的HTML5标准计划完成时间。“事实上,这个计划的完结对于HTML5来说象征意义更大,并不会给标准本身带来实质性的改变。”一位W3C的内部人士透露说,“就相当于一个大学生毕业,拿到文凭走出校园了,只是象征性的一个仪式。”

蝴蝶效应

当前的移动互联领域,HTML5扮演的是一个理想主义的角色,或者说,更有可能是它需要扮演一个理想主义的角色,即使是在标准化未能完成的情况下。

只是10%的“未完成”,带来的麻烦比想象中要更多。

刚开始从事HTML5游戏开发时,李松涛以为相比较Android客户端开发,成本会显著降低——确实如此,HTML5的优点即是“一次开发,多次分发”,研发成本是大大降低了——但真正的麻烦来自于测试环节。“虽然游戏能够运行在不同的浏览器上,但是由于不同浏览器支持的一个标准不同,导致一个函数在不同浏览器上渲染的效果千差万别。”李松涛的团队不得不针对不同内核的浏览器进行反复测试,根据结果修改相应的参数。这种状况下,总成本一下子就水涨船高了。

另一项额外成本同样来自测试环节——智能终端机型的适配。这一在Android应用开发中恶名昭著的“腰包杀手”再一次出现在HTML5中,相比较Android开发成本甚至更高——因为HTML5能覆盖的设备类型囊括了Android在内的所有移动设备。“虽然这不是标准不统一造成的问题,但是我们还是希望能有方法方便地适配终端机型。”

综合计算的话,李松涛发现虽然利用HTML5开发一款游戏的总成本有所降低,但能节约的费用其实相当有限。“HTML5的游戏开发,资金门槛并没有想象中那么低。”

Rex是一名移民澳大利亚悉尼的中国开发者,供职于当地一家IT企业从事HTML5开发的相关工作。作为一名单纯的雇员,他并不需要考虑资金成本的问题——唯一能给出直观体验的是开发后的效果。“相比较JAVA和C++来说,HTML/JavaScript/CSS的上手难度确实要小很多。但这些脚本能够实现的效果还无法与传统语言相提并论。”

除去W3C的标准制定工作外,谢子斌还经常以欧朋HTML5布道师的身份与开发者接触,并在与他们的交流中获得了第一手的HTML5开发反馈。“现阶段对于开发者来说,HTML5解决的主要是商业渠道分发的问题。有一些技术标准上的问题确实还是存在的,例如标准化以及一些高级光影渲染效果的缺失。”但在提供建议的同时,他也感受了中国开发者对于HTML5的热情。“就项目的落地以及对技术的钻研度来说,中国开发者是走在世界前端的。”

李松涛用自身团队的表现诠释了这一观点:iOS封杀调用声音硬件的API、浏览器不支持WebGL和WebSocket,这种系统层面的棘手问题都楞是被他们用技术手段迂回解决了。“当然,付出的成本也不少。”

即便仍面临各种各样的问题,HTML5仍然被不少人视为“荒漠中的甘露”。“HTML5将成为各种网络基础架构的基石。”谢子斌理所当然地给予了HTML5足够的耐心和信心,因为在面对“后PC时代”让人眼花缭乱的各种智能终端时,HTML5进入成熟部署阶段以后,跨平台的诱惑将令人无法拒绝。

单是这一点,对于习惯背负危机意识、始终想象着三五年后产业形态的互联网平台厂商来说,就足以值得做出战略层面的重大转型,以尽可能多地吸引能够维系自身良性运转的下游开发者。

目前来看,Google和Facebook将成为HTML5产业链上最为真实的那一部分。无论是历史悠久的Google App Engine还是新晋的Chrome Web Store,都是天然的HTML5载体,依托于世界第一搜索引擎的庞大流量,再加上Google+对两者应用的社交式整合,进一步纵深推广。更为关键的是,与问题层出不穷的Android相比,Google的HTML5体系并没有多少负面消息。

之所以在Wave、Buzz等社交服务失败之后,仍然义无反顾地推出Google+作为战略级产品,Google的理由毫无疑问就是Facebook——这个代表最新潮流的服务网站正在用传统社会的框架和结构管理平台之上的10亿用户,试图将社会上的每个功能和机构都变成Facebook的组件,并从意识形态上不断向用户灌输:Facebook是一项公共基础设施,所有互联网服务的起点以及终点。实现以上这一切的关键,就是Web App体系。

6月8日,扎克伯格宣布Facebook的Web App应用商店App Centre正式上线。

此外,这条利益链上重要的玩家还有一家境况不佳的老牌传统软件厂商,虽然他们并不愿意承认这一点。应付终端设备多样化的趋势,使得其在近两年几乎是焦头烂额——被认为是iOS和Android之外第三大移动生态体系,迟迟无法进入正轨。记者在走访时听到了多种传言,由于表现不佳,该移动OS在公司内部的地位已经近乎边缘化,而新的战略重点同样转向了跨平台的HTML5,并应用于最近的一款重要产品中——为此,他们甚至放弃了一项推广多年的私有标准。

调转方向的情况同样出现在国内互联网市场。“近年来引人瞩目的‘互联网企业做手机’现象,说到底就是安全感缺失的表现,急于向移动终端转移。”一位参与其中的一线互联网企业内部人士坦承,这其实是一种非常可笑和急功近利的现象。“跨平台有更好的方法,例如HTML5。”他告诉记者公司内部已经几乎叫停了智能手机终端业务,转而全力进行HTML5方向的研究。

这是一个信号,互联网,尤其是移动互联网,正在试图进入又一个拐角。博弈是难以避免的,但这确实是正在发生的事情。

什么样的动力,使得这些公司能够放弃已经成型的各种现有业务,转向HTML5?希望不是单纯的关于媒体、资本以及上市的那些教条和准则。对于开发者而言,但愿HTML5词条中所有的原则都能被实现:开放、共享、协作,以及公平。

链接:从架构角度看移动App之争

Native App:客户端中包含了界面展现、业务逻辑、数据模型三个部分。通过网络访问服务器端的各种服务。以手机导航软件为例,在手机上会使用相应操作系统的API开发界面,然后调度业务逻辑层进行功能实现。当需要展现地图时,如果手机上没有地图数据,就会使用经纬度坐标访问服务器上的地图服务,从服务器获取地图数据,解析后再通过界面绘制出来。在这样的交互下,服务器端的服务独立性较强,其业务形态完全是由客户端控制和调度的。

由于使用了客户端的众多特性,所以客户端的表现力相当丰富,性能较高,用户体验也比较出色。但劣势也比较明显:客户端的开发工作量大,逻辑复杂;客户端不利于移植,必须针对不同的操作系统进行单独的适配开发工作;客户端软件升级和维护困难;服务器端要支持多客户端,难于扩展。

Web App:客户端不再需要开发工作,退化为使用内置的浏览器与用户交互。服务器端以HTML5、CSS3、JavaScript作为前端供浏览器展示,使用其他服务器端技术实现业务逻辑和数据库管理。其最大优势在于无客户端,不需要专门的开发和移植工作。即使使用WebView控件的客户端,也易于开发和移植。另外的优势就是由于代码全部在服务器端,所以易于扩展和升级。

同样,Web App的劣势也比较明显:服务器端的开发工作量大,逻辑复杂;界面响应稍慢,性能弱;难于使用设备的特性比如传感器、GPS定位、本地文件系统等。

关键词:HTML5App

赞助商链接: