HTML5在近两年里可算是出尽了风头,无论是去年10月底的规范定稿,还是今年年初惊爆业内的微信开放JS SDK,亦或是腾讯、百度、360、搜狐等互联网巨头之间的布局争夺。这一切的一切似乎都在预示着HTML5将要给移动互联网界带来颠覆性变革。
也许以后,HTML5真的会重新定义移动互联网的黄金时代。但在此之前,当你准备开发一款应用时,切不可只一味的追寻别人所尊崇的技术,最重要的还是要搞清楚自己的整体需求。其中最为关键的问题包括“应用的受众是哪些?”、“用户想要获得的是什么?”,以及“吸引客户最好的策略是什么?”。其实,总的来说也就是两点:移动用户体验,劳动和资本投资需求。
既然有如此多的顾虑,那么总要选择最适合自己的开发方式。关于这个问题其实早就有各种分析,而这次我们再整体性的探索Web、原生以及混合应用开发之间的历史渊源。
Web应用:最小化成本,更新敏捷性
别看现在的HTML5风光无限,其实它的发展道路也是让人不胜唏嘘。自出生到去年规范的尘埃落定,长达8年的长跑真心不容易。其中最大的惨败要数2012年的Facebook事件,当时Facebook CEO扎克伯格怒言“押注HTML5是Facebook最大失误”,进而转战原生应用,这让支持HTML5的人受到了不小的打击。
还好,HTML5依然挺了过来,相继也出现了各种HTML5开发框架和游戏开发引擎。再加上,前段时间YouTube替换Flash,正式默认使用HTML5视频播放器,着实让HTML5好好的扬眉吐气了。一件事物能受欢迎,总归有受欢迎的理由。那么,HTML5又有那些优势?
“一次编写,随处运行”。大多数浏览器都有着相同的运行方式,一个应用几乎可以在所有浏览器上运行,不像限定于只能在某一系统下运行的原生应用。对于用户来说,“一次编写,随处运行”的HTML5应用意味着应用的连续性,即不管是哪个操作系统都可以运行使用应用程序。
允许应用不断更新。HTML5还允许不断更新,开发者不需要再将新应用提交给应用商店等待批准。每次用户登录到该web应用时,都将获得应用最新版本。
以上两点都是众所周知的,其实最主要的原因还是应用开发的成本问题。相较原生应用,能够随处运行的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这道风口,随之起飞?不妨说出你的观点,我们洗耳恭听。