站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题拥抱移动web2.0时代{AJAX for 移动设备}

拥抱移动web2.0时代{AJAX for 移动设备}

摘要: 今年,Opera发布了在移动设备上支持AJAX的浏览器。考虑到Opera在浏览器市场的声望,这个发布声明确实具有意义重大。不过,我相信这存在一定的豪赌成分。但我相信AJAX将替代J2ME和XHTML成为开发移动应用的首选平台的机会确实存在。在下文,我将全力阐释原因。
拥抱移动web2.0时代{AJAX for 移动设备}
——移动AJAX将替代J2ME和XHTML成为移动应用的首选平台吗?

作者:cleverpig




今年,Opera发布了在移动设备上支持AJAX的浏览器。考虑到Opera在浏览器市场的声望,这个发布声明确实具有意义重大。不过,我相信这存在一定的豪赌成分。

但我相信AJAX将替代J2ME和XHTML成为开发移动应用的首选平台的机会确实存在。在下文,我将全力阐释原因。

在这之前,提一个告诫——我相信移动web2.0比“移动AJAX”更加遥远。尤其是移动web2.0实现所有web2.0七点原则这一过程。所以,我在此只讨论了AJAX,只是web2.0的一个侧面而已。

图-1:look一下Opera上的AJAX应用画面


版权声明:任何获得Matrix授权的网站,转载时请务必保留以下作者信息和链接
作者:cleverpig;cleverpig
原文:http://www.matrix.org.cn/resource/article/2006-10-17/AJAX+Mobile_5dc880d1-5d8b-11db-a5c2-7f23a8944cb0.html
关键字:ajax,j2me,web2.0

Overview:
1.AJAX是什么?
2.当前的移动应用开发模式。移动产业所面对的问题,换言之,就是当前移动应用模式的缺点。
3.为什么AJAX将替代J2ME和XHTML而成为开发平台的首选?

一、AJAX是什么?


AJAX是web2.0的可选部分。进一步讲,它融合了一些目前现存技术,使之成为一体工作。
1.XHTML和CSS作为表现层标准
2.DOM(Document Object Model)被用在动态显示和交互
3.XML和XSLT用在数据交换和维护
4.XMLHttpRequest技术用于接收异步数据
5.Javascript将上面的部分捆绑在一起

知道AJAX到来之前,复制富有、反应迅速的本地应用交互设计并非易事。AJAX与从前的其它尝试在这个问题上定位所不同之处:基于现有、非私有化的标准,并且这些标准都为开发者所熟知。

传统的web应用模式中,大多数情况下,用户行为触发一个HTTP Request。服务器完成处理后返回结果到用户。当服务器处理时,用户处于等待状态!这种“start-stop-start”的web应用行为从技术出发是很好的,但从用户交换出发则很糟糕(因为用户交换的结果都来自于服务器,当服务器作处理工作时,用户只能做的事就是喝咖啡之类的无聊等待)。

AJAX凭借AJAX引擎解决了上述问题。在Session开始时,AJAX应用装载AJAX引擎。AJAX引擎是采用javascript编写而成的javascript库,它被放置在一个隐藏的frame中。用户与AJAX引擎交互,而非前面讲的web服务器。如果用户交互不需要从服务器上获得什么的话,AJAX引擎会自己处理这个交互。当用户交互需要从服务器上获取一些数据时,AJAX引擎会完成一个异步调用,而不是打断用户流。
在这个场景中,由于AJAX引擎和服务器异步通讯,所以AJAX被称为是“异步的”。这样会让用户获得“无缝隙”的用户体验(呵呵,不必再等待了)。

这里是AJAX出现后的一个动力源:开发者已经熟知AJAX所倚赖的技术。所有组成AJAX的技术都是成熟、稳定的。AJAX成为了一些新web应用的基石:Google suggest ,Google Maps,Flickr,Amazon’s A9.com。

二、目前移动开发模式

从前面文章的讨论中,我们明确了——AJAX解决了两个问题:就是一个出众的UI和数据接收的标准形式。

尽管AJAX能够很好的干掉这两个问题,但我认为这还远远足以说明AJAX的“神勇”,尤其是AJAX拙于成效地解决了下面的问题:
1.市场割据问题;
2.移植问题(尤其指基于J2ME的下载类应用);
3.实现开发式的应用发行。

让我们认识一下现存的移动开发吧。首先是移动应用的两个分类原则:浏览型应用和下载型应用。当然又存在别的应用:如短信息应用、SIM应用等。但是就目前而言,前面这两类应用是主流的两大应用。

浏览型应用:浏览应用与浏览web的概念相似,但它受到了移动设备独特性的限制(例如:设备的屏幕尺寸)。与web浏览相同,它通过一个微型浏览器通过url访问在无线服务器上的应用服务。而客户端承担很少处理,甚至不进行处理。

下载型应用:对比浏览型应用,下载型应用需要首先下载到客户端设备上。应用运行在本地设备。与浏览型应用不同,被下载的应用在运行时不需要连接网络。因为客户端能进行一些处理或是一些持久化存储,所以下载型应用被称为“智能客户端”。而当前的大多数基于JAVA的游戏都是下载型应用。

J2ME是开发下载型应用的最常见模式,而XHTML是开发浏览型应用的最常见模式。下面详细阐述一下前面所讲的问题,并讨论AJAX如何解决这些问题。

问题一:市场割据

移动应用主要以消费性应用为主。移动数据产业是一个方兴未艾的产业,就如别的产业在这个时期所经历的进化过程一样,它是割据的:

为了获得经济上的最大利益,消费性应用需要一个庞大的客户群。而不同的标准随之而生,如来自Qualcomm的BREW标准就是一种私有标准,而不被某个实体所掌握的开放标准只被很少的厂商采用。

为了展示市场割据是如何影响一个新型服务的经济收益的,我们通过下面的方式来体会:在尝试发现我们应用的最大客户群的过程中,思考下面的“同心圆”结构。同心圆半径随序号顺序而减小,即1为最外围的圆,9为最内部的圆。
1.你的应用所在国家的人口是多少?
2.持有移动设备的人口比例是多少?
3.在应用中你所定位的运营商是哪个?
4.在应用中你所定位的移动设备有哪些?
5.发布技术有哪些?例如Java,SMS,WAP等
6.应用是否需要诸如定位服务等特殊的技术?多少人持有支持此技术的移送设备?
7.按分类做分割分析的标准是什么?(如:男性/女性等)
8.我们应用所定位的市场道路有哪些?
9.我们期待这个子类中命中并转化为基于我们市场预算的消费者比率是多少?(一般转化比率为2%)

通过上面的方法,我们能计算出目标客户群。这样,目标客户群乘以潜在的月下载量就是月收入。它包括了我们用在开发、移植上支出费用。这个方法展示了市场割据问题,它意味着少数移动服务商是有利可图的。也正因此而诞生了增值业务:如铃声、图片下载等。

问题二:移植困难
这个问题针对下载型应用。“Write once run anywhere”这句话在移用领域是个笑谈,呵呵,尽管这并非Sun的失误。基于J2ME的游戏开发就是个经典的例子:

首先,看看好消息。
1.诸如Sprint和Vodafone这样的移动运营商报告了移动游戏和其它数据服务的收入占据他们年收入的10%以上;
2.产业咨询公司Ovum指出目前全球4亿5千万个支持Java的手机,3千8百万支持BREW的手机,1千5百万基于Symbian的手机。
3.移动游戏发行商仅在2004年的全球销售总额达到12亿美元。

但是这是存在瑕疵的。游戏移植一般需要开发者适配不同的屏幕分辨率、处理器速度、内存限制、音效等,这些因素在不同设备之间可能是变数颇多的。对于发行商来讲,这不仅是指数级地增加游戏开发周期和资产建立时间,而且导致了在这场超级竞争中错失关键的time-to-market(指将从产品设计到产品行销到市场)的时机。例如,假设你经营着一家具有30款游戏的中型游戏发行公司,为了你的游戏走向世界,你打算支持5种语言和50款设备,则你需要建立7500个不同的游戏版本,每个版本需要2500美元,那么你将需要将近1千9百万的预算花在手机移植上。

这严重地限制了商业模式的发展,导致了少量的移动游戏能收获利润。

问题三:开放的应用发行
前面讲了使用J2ME技术遇到的困难,仅仅依靠建立一个社区(如Sun已经做到community process)是远远不够的。构建在社区上的技术和应用必须保持一致和交互性,才能发挥网络效益并获得庞大的用户群。

三、为什么AJAX将代替J2ME和XHTML而成为首选的开发平台?


AJAX能解决前面的问题吗?从笔者的观点来讲,这是很可能的。

AJAX通过浏览器访问,而用户通过两种方式获得浏览器——手机预装或是单独安装应用。任何人都能为智能手机下载浏览器:Opera link shows for series 60 phones。这意味着,所有的消费者能潜在地安装浏览器,如果足够多的人安装——我们将有巨大的客户群和很少的“瓶颈”——比如移动运营商的特殊限制。换言之就是绕过了他们的“花园篱笆”。

更进一步讲,AJAX提供了出众的用户体验并有庞大的支持AJAX的开发者社区作为后盾。获得更多客户群(更少的瓶颈)意味着更多的应用转化为金钱的机会——这将导致前面所讲的“同心圆”更加有效能。

J2ME目前存在着严重的缺陷(不是技术上的,而是商业模式上的)。由于AJAX提供丰富、出众的用户体验,XHTML将继续run下去。

总之,我相信AJAX将代替J2ME和XHTML而成为首选的移动开发平台。

四、阅读提示:

1.我在这里说的是“首选”而不是“替代物”,我并不期待AJAX替代任何技术。

2.AJAX不能解决所有问题。你仍然要按照客户需求出发建立服务。

3.AJAX不是唯一建立更佳用户接口的尝试:这里存在一些有限的成功,但是他们没有跨越产业或是私有性的。例如移动SVG, 3D游戏的superscape’s swerve技术,还有macromedia mobile。

4.一些人并非实际浏览移动网络。尽管WAP发展迅猛,其中WAP作为一种传输机制来使用——典型的应用就是内容下载。换句话说,就是每次你下载铃声,你潜在地建立了一个WAP页面访问。所以我认为消费者真正浏览移动网络的人数还是很低的,但是也很有潜力的。

5.很少的移动厂商致力于开发者社区。

↑返回目录
前一篇: Buffalo VS DWR
后一篇: 《AjaxPatterns in Action》 For Matrixer