红壶吃猬队 2011-07-25
你需要知道HTML 5的五件事
“应用程序”的整体概念或许已悄然发生巨变,在未来的某一天,我们可能不再需要访问手机应用商店,不论是Apple的还是Google的,我们只需要点击手机主菜单页面上的一个链接,手机就会立即在它的浏览器上启动一个“应用程序”。
Ⅰ. “原生应用”占统治地位
当我们为移动设备开发应用程序时,程序员通常都会选择开发“原生应用”,“原生应用”是一种用户必须通过手机应用商店购买下载并安装在手机存储器内的应用程序。“原生应用”现已成为新增手机功能的首选业界标准。
因此,大多数的程序员都认为跟浏览器应用相比,不论是渲染效果,还是执行能力,“原生应用”都拥有明显的优势。大部分的用户都会尽量避免使用手机浏览器,因为浏览器使用并不方便,尤其是需要输入数据的时候。
“原生应用”比浏览器应用更容易预见。因为“原生应用”是在手机内存中运行的,它们不会遭遇不可预知和易见等在浏览器应用常发生的问题。
此外,“原生应用”对网络的依赖性更少。“原生应用”大部分的数据都是存储在手机内,它们不需要连接网络才能获取数据。但浏览器应用则是典型的依赖云端服务器的应用程序,它们必须得连接网络才能获得内容。如果网络连接不稳定或很弱,浏览器应用的表现性能将会遭受非常大的打击。
Ⅱ. “原生应用”很麻烦
长期以来,程序员都是在有限的资源的情况下开发Apple的iOS设备和Android设备开发的应用程序,因为这么做可以让他们的手机应用进入最大的移动市场。
但这种理由已经开始失去说服力,部分原因是程序员要在手机应用商店销售“原生应用”并不容易。以iOS应用为例,就连通过官方的审核也不容易。不过,Apple公司要求每一个提交申请审核的手机应用都必须遵从它的标准,程序员说如果Apple不喜欢那个手机应用,无论是什么理由,它都会拒绝审核。
尽管要在Android市场通过应用审核并不难,但却通过审核后却很容易被埋没在茫茫的Andorid应用海洋里,并且大部分Android应用都是低质量的。
手机程序员面对的另一个问题是他们还必须针对不同的手机操作系统(iOS、Android或者其他)开发不同版本的手机应用,并且同一个操作系统还会有几个版本的应用。因此,手机程序员需要投入大量的时间和金钱给他们的应用程序“定版本号”,而提高产品质量和开发新产品的时间却所剩无几。
Ⅲ. 迷失在“超级”市场
如前面提到的,一个“原生应用”要在应用商店上架开售并获得成功的希望是十分渺茫的。随着应用商店的扩大,假冒伪劣的应用将会越来越多,而获得有用的手机应用将变得越来越困难。 WildTangent公司的副总裁Matt Shea表示大型手机应用商店的应用程序都是一站式购物,他们看起来很笨拙,而且应用程序的分类和组织均是显而易见的失败。因此,应用买主就更难物色到他心目中的理想手机应用,就算这个应用真的就藏在应用商店内,他也难以从中找出。这也是手机程序员面对的最大问题。
Shea还说,大型手机应用商店的糟糕分类让像WildTangent这样的专业商店觅得了商机。WildTangent是一个专业的手机游戏分类网站,他们会对游戏进行严格的分类和审查,这样访客就能更容易获取到他们的理想应用。
Ⅳ. HTML5是答案吗?
许多移动社区的用户相信开发者可以避免这样的烦恼——是否选用HTML5技术开发基于浏览器的应用。HTML5技术是1999年推出的超本文语言的一次大升级。尽管外界消息指在 2014年到来前,W3C不会出台HTML5技术标准,但现在,许多现代的手机浏览器已经提前支持这种技术,许多Web程序员已经开始设计HTML5网站。
简单说,HTML5会让浏览器、桌面应用和移动设备展现更多酷炫的功能,例如坐标定位、无插件的视频和音频播放等。同步功能也会更完善,你将可以在工作时观赏一部分电影,然后在家的电脑继续观看余下的片段。
或许HTML5技术最大的潜在优势就是它可以让应用程序员将精力集中在一个版本的应用上,而这个应用却在多个浏览器流畅运行,将程序员从多平台多版本的束缚中解放出来,让他们有更多的精力和资金进行推广营销。
网络是一个关键因素。如果4G网络出来到来,网速将会得到更大幅度的提高,用户从互联网获取内容时将会更加迅速和可靠,浏览器应用也将因此迎来生机。
至于宣传方式,基于浏览器的手机应用将大大减少程序员或开发商对手机应用商店的依赖。为了让“原生应用”成功,程序员需要更多的推广投入,而基于浏览器的应用(只需一个链接地址)会让程序员更容易通过社交媒体(如Twitter、Google+)等进行推广。
Ⅴ. 留下还是离开?
尽管大多数程序员相信HTML5技术的水平正在提高,“原生应用”的运行速度和真实用例依然比浏览器应用要好。
造成它们差役的一大原因就是“原生应用”可以访问手机设备的硬件功能,而浏览器应用却无法做到。许多程序员表示HTML5的应用目前还没能控制和充分利用智能手机各种各样的硬件功能,如智能手机的CPU和重力加速器,而“原生应用”却能充分利用这些硬件资源。
虽然如此,但围绕HTML5技术的争论依然非常的多,HTML5技术究竟需要多长的时间才能像“原生应用”那样操控智能手机的硬件设备呢?
“JavaScript 的连接辅助让类似移动定位这样的功能也已经可以在大多数的手机浏览器中调用,” Qualcomm CDMA公司的产品经理Sy Choudhury说,“未来半年,我们将会看到更丰富的定位功能,同时浏览器还会有WebGL这样的访问GPU的功能,更轻松地访问照相机和摄像机,浏览器对声音控制也会比现在更为出色。”
Choudhury跟他的团队目前主要从事浏览器的性能优化和开发针对高通Snapdragon处理器的手机操作系统。
“几个月以前,浏览器厂商开始放出越来越多的例子高调展示浏览器应用可以达到的水平,包括重力加速器、方向仪、GPS定位和集成照相等功能,”Mozilla手机浏览器产品经理Thomas Arend指出,Mozilla开发者网站的Dashboard 就是一个非常好的HTML5技术例子。
保证一致的用户体验也是HTML5技术需要解决的另一问题。HTML5浏览器应用在不同的手机设备的不同浏览器上运行,部分程序员表示,由于不统一性,难以让所有的消费者都喜欢他们设备上的HTML5浏览器应用的表现效果。
但采用基于浏览器的方法开发应用不一定就是毫无优势,Arend说。“选择Web技术作为平台技术是最有前途的,对于跨平台的应用(PC和移动设备),Web技术无疑会用户更一致的用户体验,一款优秀的浏览器应用的表现效果绝对及得上‘原生应用’。”
任何一种新技术的采用,都会先经历钟形曲线的模式。早期的技术领头人已经开始行动了。Pandora宣布将采用HTML5技术开发应用程序,而云存储公司Box.net也表示会开始采用HTML5技术。同时也有传言Amazon很快将推出一款基于HTML5浏览器技术的Kindle应用。
不存在“二选一”
在对“原生应用”和浏览器应用的大量热讨后,许多程序员已经不再需要面对一个“二选一”的抉择,事实上,两种技术是可以共存的。
举个例,一名游戏开发者开发了不仅开发了一款手机“原生”游戏“lite”,他还开发了这款游戏的Web版本,潜在买家可以先在Web浏览器上试玩这个应用,Arend指出,如果他们认为这款游戏值得购买时,他们可能会在手机应用商店购买下载游戏的完整版进行安装。
此外,程序员开发“原生应用”的方式十分类似于开发浏览器应用——同样的开发工具,只是最后需要给“原生应用”再额外添加一个包装而已。因此,“原生应用”和浏览器应用有时候可能跟人们想象的会有点出入。
最后,程序员可能会决定开发一款融合“原生”和浏览器特色的应用程序。程序员必定会疑问发布到应用商店和通过社交媒体放置在开放互联网上,哪一种方式才是吸引用户的最佳方式呢?
对于许多人而言,智能手机这个概念的诞生也同时伴随着应用下载的到来。当智能手机首次进入市场时,“原生应用”就是最好的方式用以完成设备的任务。但随着HTML5技术的到来,这又开始了变化:随着浏览器的成长,带宽的增加,HTML5的技术标准成熟,许多无线社区的用户就会开始怀疑“原生应用”是否是手机设备的最佳的搭档。