HTML5 在移动平台上比原生应用更具优势

阅读数:5067 2013 年 3 月 31 日

话题:移动HTML5DevOps语言 & 开发架构文化 & 方法

在移动平台上,原生应用所具有的典型 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 应用的独立营销获得了成功。