HTML5 vs.原生,世界究竟是谁的?
在近两年里,HTML5着实出尽了风头。从去年10月底HTML5规范定稿,到今年年初微信开放JS SDK引发业内震动,再到腾讯、百度、360、搜狐等互联网巨头纷纷布局争夺,这一系列事件似乎都预示着HTML5将给移动互联网界带来颠覆性变革,甚至有可能重新定义移动互联网的黄金时代。
然而,在准备开发一款应用时,开发者切不可盲目追随热门技术,而应首先明确自身的整体需求。其中关键问题包括“应用的受众是哪些?”“用户期望获得什么?”以及“吸引客户的最佳策略是什么?”总体而言,主要涉及两个方面:移动用户体验和劳动与资本投资需求。
既然存在诸多考量因素,开发者就需要选择最适合自己的开发方式。关于这个问题,此前已有各种分析,本文将全面探索Web、原生以及混合应用开发之间的历史渊源。
Web应用:最小化成本,更新敏捷性
尽管如今HTML5风光无限,但它的发展历程却充满坎坷。从诞生到去年规范最终确定,历经了长达8年的时间。其中,2012年的Facebook事件堪称HTML5发展的重大挫折。当时,Facebook CEO扎克伯格直言“押注HTML5是Facebook最大失误”,随后Facebook转战原生应用,这让HTML5的支持者遭受了沉重打击。
不过,HTML5最终还是挺了过来。此后,各种HTML5开发框架和游戏开发引擎相继涌现。前段时间,YouTube替换Flash,正式默认使用HTML5视频播放器,这让HTML5扬眉吐气了一番。那么,HTML5受欢迎的原因是什么呢?它主要具备以下优势:
- “一次编写,随处运行”:大多数浏览器的运行方式相同,一个HTML5应用几乎可以在所有浏览器上运行,而不像原生应用那样局限于特定系统。对于用户而言,这意味着应用的连续性,无论使用何种操作系统,都能运行该应用程序。
- 允许应用不断更新:HTML5应用允许开发者不断更新,无需将新应用提交给应用商店等待批准。用户每次登录该Web应用时,都能获得最新版本。
除了上述众所周知的优势外,HTML5在应用开发成本方面也具有显著优势。与原生应用相比,HTML5能够随处运行,仅在移植方面就能节省大量成本。而且,面对新平台,开发者无需高价聘请专业人士或培养现有人员重新学习,原有的Web技术人员即可直接上手。
原生应用:最大化性能和用户体验
原生应用的历史比Web应用悠久得多。像地址簿、日历和计算器等默认自带的应用程序,以及可用的Web连接,早在很久以前就出现在移动设备上。1998年风靡全球的诺基亚经典游戏贪吃蛇就是典型的原生应用。目前,平均而言,开发者采用最广泛的开发方法仍是原生应用开发。尽管HTML5势头正盛,但原生应用凭借其强大的性能和高品质的用户体验,占据市场主导地位也不足为奇。
与Web应用相比,原生应用的最大优势在于可以访问设备的所有功能,运行速度更快、性能更高,并且具备优秀的离线处理和存储能力。然而,维持原生开发也面临着诸多挑战。其最大问题是支持的设备非常有限,若要移植到其他平台,需要准备更多的预算。此外,不同应用商店的审核过程不一致,导致应用上线时间不确定,而且用户获得新版本时还需重新下载应用进行更新。
如果开发者在开发应用时预算充足,那么仅采用原生方法开发的应用质量通常会比其他方式开发的应用更高。但在现实中,很少有开发商拥有源源不断的资金。
混合应用填补空白
混合应用,顾名思义,是原生和Web应用的结合体,继承了两者的优缺点。可以将其理解为利用Web开发技术编写的原生应用,例如HTML5、CSS、JavaScript是进入原生容器(Native Container)常用的语言,原生应用中包含一个链接到HTML文件的WebView隐藏浏览器。
总体而言,混合应用具有一定的魅力,开发者可以自由调配其中原生和Web的比例。它具有以下优点:
- 跨平台优势:既节省成本又节省时间,是将创意付诸实践的最佳途径。
- 降低开发门槛:Web开发者无论水平如何,只需经过短期培训就能成为合格的混合应用开发者。
上述两点表明混合应用在成本控制方面具有优势,这也是它继承Web应用的一大优点。然而,混合应用的性能终究无法与原生应用相媲美。如果其中掺入过多的Web技术,会导致应用运行速度减缓。不过,随着技术的不断进步,混合应用开发也在不断发展,致力于在提供优秀用户体验的同时,尽可能降低开发成本。
定睛2015,你是HTML5还是原生应用?
对于移动互联网未来的发展走向,没有人能够做出准确预测,其中存在诸多不确定因素。尽管有人认为HTML5的时代已经来临,但实际上HTML5与原生应用之间并非存在激烈的竞争替代关系。它们各有优缺点,最终的开发方式选择还是取决于项目的具体需求。而作为一种折中的选择,混合应用也是一个不错的方案。
也许在2015年,HTML5真的能够打造出一个更加完善的移动生态圈,但最终结果还是取决于开发者。毕竟,开发者在移动互联网发展中起着核心作用。你是选择传统的开发形式,还是另辟蹊径探索新的道路,亦或是借助HTML5的发展趋势顺势而为?不妨分享你的观点,我们期待倾听。