HTML5与Native App之争继续发酵,Hybrid App趁势而起

译文
移动开发
如今,大家对开发HTML5移动Web App和原生Native App似乎起劲得很,竭力鼓吹采用其中的一种方法,而不是另一种方法。不过,虽然苹果和谷歌等移动行业巨擘在决一死战,但一些公司已经在选择第三种方法:采用众所周知的“混合应用程序方法”(Hybrid App approach)来调和这两种方法。

【51CTO译文】Hybrid App开发利用了原生功能,同时又为将来采用HTML5充当着具有战略意义的台阶。

[[76876]]

Hybrid App是一种可以下载的Native App,其用户界面的全部或者部分元素在嵌入式浏览器组件里面运行。对用户来说,Hybrid App与Native App几乎难以区别:它们都可以从应用程序商店或市场来下载,存放在移动设备上,其运行方式完全如同其他任何应用程序。但是对开发者来说,这存在巨大的差异,因为他们无需为每一种移动操作系统从头开始重新编写应用程序,而是只要用HTML、CSS和JavaScript编写其中一部分应用程序代码,就可以在多个设备上重复使用。

“混合”这个词实际上带来了一系列广泛的可能性。有些应用程序只是将来自相应网站的一些页面作为应用程序的一部分来装入,比如美国银行、Facebook和Yelp的iPhone应用程序。另一些应用程序包含了用HTML编写的几个嵌入式页面,比如《疯狂塔防》(Tower Madness)游戏。但还有一些应用程序的整个用户界面都是用HTML实现的,比如Harmounius(一种图形画板)或罗技公司的Squeezebox Controller。

[[76877]]

从公司企业的角度来看,尽早采用HTML5非常明智。一些业界巨头已经俨然将HTML视作唯一切实可行的跨平台技术。之前有传闻称Facebook在着手开展Spartan项目(据信这个应用程序商店面向基于HTML5的移动Web App);微软宣布开发者将来能够使用HTML5和JavaScript,为针对触摸操作优化的Windows 8编写应用程序;这样一来,问题变成了公司企业“何时”采用HTML来开发应用程序,而不是“是否”采用HTML来开发应用程序。

许多公司还没有急于跟上HTML5潮流,一个主要原因是,他们认为HTML应用程序无法访问原生设备功能。的确,纯粹的移动Web App(指在浏览器里面运行的应用程序,而不是Hybrid App)目前只能访问摄像头、麦克风和地址簿等设备功能。虽然万维网联盟(W3C)方面的工作取得了进展,让Web App可以访问这类设备服务,但是移动浏览器目前并不提供这样的功能——移动浏览器提供这样的功能对许多创新型的移动应用程序来说是一个关键要求。

[[76878]]

但是在Hybrid App领域,有了开源PhoneGap库等框架,JavaScript代码就有可能访问手机罗盘、拍照片、寻找或创建联系人或约会事项,以及充分利用移动Web App无法访问的其他许多设备功能。

能否访问设备功能并不是Hybrid App和移动Web App的唯一区别。另一个重要的区别是,Hybrid App基本上是通过应用程序商店分发的:不是用浏览器浏览至Hybrid App,而是下载和安装它。

[[76879]]

另外,Hybrid App的HTML页面可以由Web服务器来传送,但这并不是硬性要求。为了提升性能,Hybrid App可以添加全部所需Web资源(即HTML、JavaScript、CSS和图像)的一整套副本,以便用户可以立即访问这些资源,而不必等Web服务器将这些资源发送过来。

除了这些区别外,Hybrid App与移动Web App有一些共同的特点。不像纯粹的Native App可直接使用操作系统提供的图形API和用户界面服务,在Hybrid App中,大多数页面由浏览器的渲染引擎来执行——就好比它们是在网页里面。这就意味着,目前,只有以原生方式编写的页面才能获得游戏质量的图形;虽然这对商业应用程序来说不大重要,但是你可能不会很快看到为移动设备开发的用HTML编写的《***真人快打3》游戏。

幸运的是,市面上几种主要的智能手机和平板电脑都有功能非常强大的HTML渲染引擎,而它们已经支持大多数即将问世的HTML5和CSS3标准。

Sencha Touch、jQuery Mobile和dojox.mobile等JavaScript工具包与Hybrid App开发模式完全兼容,因而更容易获得常常与Native App难以区别的外观和感觉。因而,仅仅使用HTML5、CSS3和JavaScript,在配备现代化硬件的移动设备上运行的Hybrid App就能获得高度交互、极其出色的用户界面。

如果是这种情况:你的应用程序确实需要无法用HTML来实现的特殊图形或系统级交互,那么Hybrid App就能把网页和原生网页结合起来。Hybrid App方面的一个值得关注的例子是韩国信用卡公司Lotte(乐天)开发的一款应用程序。该应用程序有100个页面是用HTML编写的(这些页面可在安卓和iPhone之间重复使用),而一小部分原生页面采实现了增强现实功能。

其他企业正在开发Hybrid App,同时打算在将来把它们转变成HTML5 Web App,没必要从头开始重新编写。

从战略的角度来看,开发公司应该认真考虑采用HTML用于开发移动应用程序,宜早不宜晚。Hybrid App模式虽然并不适合于满足所有的应用程序开发要求,但是为种类非常广泛的可下载应用程序提供了一种经济高效的解决方案,而且让用户可以逐渐进入到新的HTML5领域,同时让你投入资源开发的应用程序适应将来的需要。

编者按:目前比较火的移动Web工具基本上都是Hybrid App解决方案。除了本文提到的PhoneGapSencha TouchjQuery Mobile,还有很多国内的移动Web开发工具,如AppCan等。小编认为在未来很长一段时间里,并不是HTML5与Native App之争,而是Hybrid App与Native App之争,Hybrid App时代已经来临。

 原文地址:http://venturebeat.com/2011/07/08/hybrid-mobile-apps-take-off-as-html5-vs-native-debate-continues/

【51CTO译稿,非经授权谢绝转载,合作媒体转载请注明原文出处、作者及51CTO译者!】

责任编辑:佚名 来源: 51CTO.com
相关推荐

2012-06-05 09:06:52

HTML5Native AppHybrid App

2013-08-01 13:41:16

HTML5App

2014-12-18 13:40:16

Web AppHybrid AppNative App

2013-10-09 09:10:28

移动应用开发NativeHybrid

2014-03-24 11:17:53

Hybrid App混合应用

2013-09-04 15:07:06

移动应用设计

2015-04-30 11:26:38

HTML5与APP的抉

2011-12-31 09:17:02

Web App

2012-05-30 09:22:56

Hybrid App助HTML5JavaScript

2015-10-09 09:11:39

html5原生App区别

2013-12-16 15:07:59

NativeHybrid开发移动

2013-05-29 13:28:06

移动开发企业级应用移动中间件

2011-09-15 13:47:42

HTML5App Store苹果

2011-10-09 13:29:11

HTML5App Store苹果

2011-12-28 15:32:46

HTML5移动App

2013-03-21 09:32:41

2013-09-04 14:55:01

Web AppNative App技术

2016-10-19 10:49:43

Linux

2013-01-22 10:54:51

HTML5App移动应用

2012-07-17 09:33:35

HTML5App
点赞
收藏

51CTO技术栈公众号