Web移动应用的未来:使用HTML5,CSS和JavaScript
许多开发者已经得出了结论:他们需要把注意力集中在特定的移动平台上——例如iPhone,Windows7或Android。而其他人开始意识到有许多开发工具可以让他们利用现有的技能——不管是HTML,CSS和JavaScript,还是像C或C++那样的现行的编程语言。就像我们在开发者专用的iPhone报告中讨论的那样,那些移动应用程序的工具,被用来建立本机应用程序,它可以使用移动设备提供的绝大多数的原生功能——例如GPS,摄像头,联系人,加速器等。
移动Web应用程序开发工具
之前我们介绍过移动Web开发语言,今天我们一起来看看移动应用的开发框架。PhoneGap是一个开源的开发框架,用来构建跨平台的使用HTML,CSS和JavaScript的移动应用程序。它使开发者能够利用iPhone,Android,Palm,Symbian和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动。PhoneGap是免费的,但是它需要特定平台提供的附加软件,例如iPhone的iPhone SDK,Android的Android SDK等。使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。
有一些框架,比如Rhodes,允许开发者为几乎所有的移动平台建立本机应用程序,包括iPhone,Windows Mobile,BlackBerry,Symbian和Android。和PhoneGap类似,你必须为每个平台分别编译你的代码。它也支持大多数智能手机提供的原生功能,包括地理定位,联系人和摄像头图像捕获。Rhodes是免费的,遵守MIT协议。一个称作RhoHub的云计算服务可以让开发者使用Rhodes框架,在线开发应用程序,而不需要在他们的计算机上安装每个平台的最新的SDK。应用程序使用HTML和Ruby来建立,并且在云中构建。
真正的可移植的HTML 5 Web应用程序怎么样?
最近,使用跨平台技术来进行软件开发的探索令开发者们兴奋不已。有这样一个工具:iUI,它是iPhone用户界面框架,使用JavaScript,HTML和CSS,它可以被用来建立Web应用程序,这些应用程序可以运行在任何支持HTML5的浏览器上。虽然它的设计初衷是为了建立有着iPhone SDK构建的本机应用程序那样的外观和感觉的应用程序,但是,用iUI建立的Web应用程序几乎可以在所有的智能手机上运行,只要它包含一个符合标准的Web浏览器。iUI相对来说比较新,并没有一个用户界面,所以需要一些耐心和技巧才能使用它。其他的类似框架包括iWebKit和JQTouch。
另一个移动开发工具是Sencha Touch,它是一个HTML 5移动应用程序框架。像iUI一样,Sencha Touch也是使用HTML5,CSS3和JavaScript来实现的,它可以在Android,iPhone和iPad平台上使用,也可以在其他带有HTML5兼容的Web浏览器的平台上使用。它支持像pinching和stretching那样的触摸事件,为了在移动应用程序商店上分发,也可以是基于Web的或使用Objective-C层来包装。Sencha Touch是开源软件,所以如果你正在开发一个和GNU GPL v3协议兼容的开源应用程序,那可以免费使用它。Sencha还提供了一个以地理定位,使用Sencha Touch API和Google地图来显示用户所在位置的地图为特色的《Sencha Touch入门》的教程。
Chrome应用程序商店:HTML5应用程序登上舞台
在2010年5月,Google宣布要建立Chrome Web应用程序商店,它是一个Web应用程序的市场。这些Web应用程序使用标准Web技术(HTML5,CSS和JavaScript)来构建,任何使用Web浏览器的人都可以访问和使用它们。当然,那些浏览器(比如Chrome,Safari,Opera或MSIE9)需要支持上面提到的那些Web技术。当用户“安装”了一个Chromen Web应用程序商店的Web程序,会添加一个快捷方式,它让用户可以访问这个应用程序,并在Web浏览器中打开这个Web应用程序。Google并没有给出这个应用程序商店正式开放的日期,但是一旦这个应用程序商店开放,对开发者来说,它将不会有繁琐的审批程序,也无须为提交一个应用程序而付费。
Web应用程序最终会标准化吗?
在停滞了几年以后,World Wide Web 协会(W3C)最近开始继续HTML5规范的制定工作。他们的回归引发了Web Hypertext Application Working Group(WHATWG)的不安,这个组织是由浏览器制造商(包括Opera软件,Mozilla和苹果)组成的,他们在2004年6月开始标准制定工作。Ian Hickson,他是HTML5规范的编写者,预计这个规范在2012年可以进入候选推荐标准阶段,但是不要指望它在2022年以前会成为一个正式的W3C推荐标准——是的,从现在开始需要等上12年以上。
所有主流的移动平台,包括苹果的iOS,Google的Android和Palm的WebOS,都使用基于WebKit的浏览器,所以像HTML 5和CSS 3这样的技术将可以继续得到改进和支持。甚至,微软在即将到来的MSIE 9中也会对HTML 5提供支持。虽然它在10年内也许还不会成为正式的标准,但是它已经逐渐地被主流的浏览器提供商支持了,并且越来越多的站点和服务——例如YouTube Mobile,Google Gmail,Scribd,和苹果的iPhone,iPad都用HTML 5来代替像Adobe的Flash那样的插件。HTML 5已经是铁板钉钉的事了。
总是会有一些企业认为:针对每个主流的平台,他们必须有一个本机的移动应用程序,但是人们还是更倾向于使工作变得更轻松,而不是更困难。新兴的Web标准可以用来建立炫酷的应用程序,就像Apple,Google和Sencha展示的Demo那样。在将来,一个Web应用程序应该可以运行在大多数的移动平台上——如果不是所有的话,它应该可以运行在任何一个HTML 5兼容的Web浏览器上,不管这个浏览器是在一个移动设备上还是在一个台式的PC上