HTML5在移动平台上比原生应用更具优势
在移动平台上,原生应用所具有的典型UI界面和交互方式已经深入消费者的人心。但是,HTMl5技术在跨平台兼容、快速更新方面的优势也吸引越来越多的移动开发者尝试应用,并取得了不错的效果。最近, Business Insider在一份新出炉的报告中 分析了HTML5和原生应用的优缺点,并提供了大量实际应用的案例。
该报告指出,HTML5应用在移动领域的魅力不言而喻:它基于Web、在移动浏览器内运行,不受移动平台及设备的限制,也不需要开发者针对每个移动操作系统分别开发,“一次写成,到处运行”是它引以为豪的承诺。没错,HTML5在很多时候表现得与原生手段并无二致,但是也有几点原因让它往往无法成为众望所归的“完美方案”:
首先,HTML5本身面临“碎片化”问题,不同移动浏览器对HTML5应用功能的支持存在差异性。
再者,虽然HTML5及其相关Web语言——JavaScript和CSS知名度极高,但是HTML5移动应用的开发成本往往并不低,也不能单纯地照搬桌面Web应用——它们需要优秀的专业人才,也需要巨大的精力投入。
该报告指出:
- 在用户体验及性能方面,原生应用要超过HTML5应用,理由是HTML5依然不能很好地通过所有移动浏览器访问设备原生功能,在打造图形丰富的用户界面和呈现数据方面也存在局限性。
- 在跨平台部署成本方面,HTML5要占优势,因为HTML5是Web领域的通用语言,不受设备或操作系统限制。W3C正在接洽汽车、出版和电视行业的公司以推广Web。
- 在快速更新和发行控制方面,HTML5胜过原生应用。HTML5的一大优势是开放性——它基于Web,所以没有任何一家公司(如谷歌、苹果、亚马逊或三星)可以充当“掌门人”、放缓更新或者瓜分应用收入。不过,HTML5在支持设备厂商推出的创新手机功能时有点慢。
- 在盈利方面,原生应用更胜一筹。苹果App Store和谷歌Google Play等原生应用商店优势明显。而HTML5除了软件开发商各自在线销售应用之外,还没有出现令人信服的盈利模式。
- 在编程人才数量方面,HTML5占优势。HTML5、Javascript和CSS都是Web领域的通用语言,而相比之下,iOS工程师比较短缺而且开价昂贵。
该报告还采访了大量移动互联网公司,获取了它们对HTML5和原生应用的看法。
移动云计算公司Appcelerator认为原生应用的优势用一个词概括就是:性能。
HTML5适合那些互动性不太强的应用,例如那些单纯提供网络内容或界面非常简单的应用。然而,如果沿着互动性斜坡上行,那些互动更多的应用就需要原生手段了。
但是,有些设备功能是HTML5做不到的,这往往是因为用户的移动浏览器或浏览器版本不支持HTML5实现那些功能。
这在一定程度上是浏览器“碎片化”的结果——一方面,浏览器市场本身就呈现出“群雄割据”之势;另一方面,很多智能手机用户(尤其是Android用户)不会及时更新软件。
即便是最新的浏览器,对HTML5的支持也并不完善——例如我们在近期的一份分析报告中发现,Android上的最新版Chrome浏览器在虽然支持98项HTML5功能,但是也不支持28项功能。
这种不均衡会影响HTML5的跨平台吸引力,而事实上,大量HTML5开发工作依然是致力于桌面环境的。
Appcelerator认为HTML5总会落后五六年,因为它瞄准的“靶子”是移动的——设备厂商和平台运营商总会推出新的硬件、平台和功能,它们很快就能融入原生应用的开发环境,而HTML5不得不跟在后面苦苦追赶。
移动后端服务商StackMobze则认为HTML5已经开始缩小性能上的差距。然而,HTML5为何在企业内部应用当中比在面向消费者的应用当中更受欢迎?
一大原因,是企业应用和消费应用对用户体验的不同要求——对于消费应用,iOS已经树立了“黄金标准”而Android也随后效仿:丰富多彩的界面和图形、快捷的捏放操作、流畅的滚动、无缝访问照片库和通讯录等设备功能……
这些都是HTML5尚未达到的,不是因为HTML5无法实现同样的性能,而是因为“HTML5的用户界面(UI)和用户体验(UX)没有真正的标准可言”,因此让很多开发者感到很茫然。一些开发者试图在HTML5环境下模仿iOS式的用户体验,但并不成功。
用户界面设计公司Cynergy认为还有一个很常见的陷阱:
即便是最优秀的Web开发人员,也难免会错误地试图把桌面和笔记本电脑上的Web体验照搬到移动平台上。人们总是做着HTML5的美梦,却意识不到它对开发者和设计者有另一套要求,而总想保留自己的老一套Web技能。
一些开发人员认为,Facebook对HTML5的否定其实与HTML5本身的局限性关系不大,更重要的原因是Facebook错误地试图在移动领域推行PC时代的那套方法。
该报告还指出,越来越多的公司和初创企业开始采用一种非常微妙的移动开发方法——结合HTML5和原生应用的长处,一边开发HTML5应用一边开发一款或更多原生应用,以覆盖所有用户群体。一些开发人员转向混合式解决方案,以HTML5为中心但引入原生元素,让应用打入应用商店或是给人以更自然的感觉(InfoQ中文站最近报道的《 磊友创始人赵霏谈HTML5手游上线iOS经验》就是这样的好例子)。而另一个选择,是针对某个对目标用户尤其重要的平台(如iOS或Android)开发一款100%原生的应用,然后在用HTML5或混合手段开发面向其余平台的应用。
最后的结论是:
- HTML5并非完美方案。它不能完美地解决多平台、多设备应用开发中所有令人头痛的问题。
- HTML5应用要想充分发挥其潜力,就必须格外注意用户体验。只要方法对路,HTML5应用的性能也能与原生应用相匹敌。
- 盈利与发行问题是可以解决的。通过混合手段让包装过的HTML5打入应用商店,就能最大程度地减轻这些问题。此外,已经有移动发布商对其HTML5应用的独立营销获得了成功。
崔康 热情的技术探索者,资深软件工程师,InfoQ编辑,从事企业级Web应用的相关工作,关注性能优化、Web技术、浏览器等领域。