[Full]
完整版
[Rss]
订阅
[Xml]
无图版
[Xhtml]
无图版
Rss
& SiteMap
曙海教育集团论坛
http://www.bjzhda.cn
曙海教育集团论坛
◎
曙海教育集团论坛
→
Brew手机开发
→
AJAX将成为移动Web2.0时代首选开发平台
共1 条记录, 每页显示 10 条, 页签:
[1]
[浏览完整版]
标题:AJAX将成为移动Web2.0时代首选开发平台
1楼
wangxinxin
发表于:2010-12-6 10:12:23
以下内容含脚本,或可能导致页面不正常的代码
从加入到移动服务开发市场几年的经验来看,我相信现在的<a href="http://www.it596.com/html/78/%3Ca%20href=" target="_self" javascript:;?><u><strong>javascript</strong></u></a>:;" target="_self"><u><strong>AJAX</strong></u></a>很可能会替换Java ME和XHTML而成为开发移动应用程序的首选平台。 <span style="DISPLAY: none">p~)E0H6Hi!I}0</span>一、 引言<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地 b o8r RP3M_</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地&[ @)n&z.gw</span> 最近,Opera宣布通过他们的浏览器把AJAX技术应用于移动设备开发中。考虑到Opera浏览器在目前浏览器市场(特别是在移动浏览器市场)的流行性,我们可以预计这一宣布对于整个浏览器市场必然会产生重要影响。从加入到移动服务开发市场几年的经验来看,我相信现在的AJAX很可能会替换Java ME和XHTML而成为开发移动应用程序的首选平台。 <span style="DISPLAY: none">-T@!jri'G/C#O!?6|,f2\0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地H3x9a+ye8cx</span> 在正式开始前,我想作一下说明-我相信,移动Web 2.0远远不止"移动AJAX"这一层应用。移动Web 2.0应该包含把Web 2.0的所有七个原则都将应用于移动市场。在本文中,我想只讨论一下AJAX,也就是只讨论Web 2.0的一个方面。<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地*U'L2]/N3m&PE,EJ JH</span> <span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地y3m#ZCS8m~;u e</span> 二、 什么是AJAX? <span style="DISPLAY: none">1q0k6m}7s#c}3^G0</span> <span style="DISPLAY: none">6Cd N Na3`-m `^]0</span> AJAX是Web 2.0的一种可选的增强技术,而不仅仅指一种技术。而是,它把许多现有技术结合到一起,也就是: <span style="DISPLAY: none">lN C#})I@F0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地,Z]+A8g6WH o#U2`(A</span> · XHTML和CSS-用于基于标准的描述 <span style="DISPLAY: none">*Hq7M` {[K-@Mmy$W0</span> <span style="DISPLAY: none">\5J%\U+r7k0</span> · 文档对象模型-用于动态显示和交互<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地1{a MbB7Y!]#Rq</span> <span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地!WF C;Zf|5[</span> · XML和XSLT-用于数据交换和操作<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地}+m2_K9d~%b</span> <span style="DISPLAY: none">&NE%R6X Yq o Pn(X,b0</span> · XMLHttpRequest-异步数据检索<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地 ^)^{}dRH n</span> <span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地Qr"X h"i ~"D Ml</span> · JavaScript-用于把前面这些技术"捆绑"到一起<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地4XNt*L D(zZU</span> <span style="DISPLAY: none">!l-n(Uh/^%q0</span> 在AJAX出现之前,实现"复制"本机应用程序所具有的丰富的和可交互的设计相当困难。AJAX在解决这些问题方面与其前应用的一些技术存在明显不同,因为它基于已经为众多开发人员所熟悉的现有的、非专利性标准。<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地 H2Wj9`.RF u</span> <span style="DISPLAY: none">l`-t _2H2WIrvE0</span> 在传统型web应用程序中,大多数用户行为都会触发一个HTTP请求。然后,由服务器进行一些处理并且把结果返回到用户。在服务器处理过程中,用户只能等待!从技术的角度来看,web应用程序的这种"开始-停止-开始"特征并没有什么不好的地方,但是这并没有从用户交互的角度来解决问题(因为几乎所有的用户交互都要导致到服务器的处理,而在服务器进行这一处理时,用户只能等待!)。 <span style="DISPLAY: none">]!G5L eiu5|0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地sR%J,_]k2E&@</span> 通过使用AJAX引擎,AJAX解决了这个问题。在会话的开始,AJAX应用程序加载AJAX引擎。AJAX引擎以JavaScript开发(作为一个JavaScript库)并处于一个隐藏帧中。用户与AJAX引擎进行交互而代替原来的与web服务器交互。如果用户交互并要求到服务器的处理,那么,该AJAX引擎自己来处理当前交互。当用户交互需要一些来自服务器的数据时,AJAX引擎将进行异步地调用(经由XML/XMLHttpRequest <a href="javascript:;" target="_self"><u><strong>API</strong></u></a>)而不会打断的用户的"思路"。 <span style="DISPLAY: none">p0s2g!r'O&Vn)eT0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地$h:?P(Y1kx"lJ]</span> AJAX是"异步的",其含义是指,AJAX引擎与服务器的通讯以及与用户交互是异步的。因此,用户能够得到一种"无缝的"体验(也就是说,用户不必等待)。<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地6P FH ?w,}F[ d&f~</span> <span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地q?'k7D0jS9i4c</span> 当前,AJAX背后存在一种"动力"-开发人员已经熟悉对于这种技术支持的背景,并且所有组成AJAX的技术都已经成熟并稳定起来。AJAX成为web上许多新型应用程序的基础,例如<a href="javascript:;" target="_self"><u><strong>Google</strong></u></a> suggest,Google Maps,还有Flickr和Amazon的A9.com的部分实现。 <span style="DISPLAY: none">jAFQ]0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地 VKC tYZ</span> 三、 移动应用程序开发模型及其缺点 <span style="DISPLAY: none">d"]3NM)Hr0</span> <span style="DISPLAY: none">Fpk*]O7E di0</span> 从上面的讨论和有关参考文章来看,AJAX能够明确地解决上面这两种问题,也即是能够提供一种优异的UI和一种标准化形式的数据检索。其实,这两个问题也可以应用到移动设备,而且通过扩展,AJAX也能够有效地解决这些问题。然而,我相信,其功能远非这些!具体地说,它将会解决移动环境中的下列问题: <span style="DISPLAY: none">GFh-^Z;`B:G,\ X0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地.O6J&cQi~</span> 1. 市场份额问题 <span style="DISPLAY: none">kDw~i&VV0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地(m^N.W9|</span> 2. 移植问题(特定于下载应用程序,就象基于Java ME构建的那种) <span style="DISPLAY: none">,FdFroa0</span> <span style="DISPLAY: none">arE ]4u"UE0</span> 3. 应用程序无障碍发布问题<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地 g!g2E&T:l+f5@^-`!A Z!z|</span> <span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地 w'V2{1\1^7}*|"He</span> 另外,它还有大量的社区开发人员在背后支持它-这也是很重要的一个方面!<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地0T4Z']6q;fo</span> <span style="DISPLAY: none">9}5L;MT;U1oP0</span> 让我们考虑现有移动应用程序开发。移动应用程序共有两种主要种类:浏览性应用程序和下载性应用程序。当然,还有其它类型(就象消息发送应用程序、SIM应用程序和嵌入式应用程序),但是我们今天所见的大多数的应用程序应该属于下载性或浏览性应用程序范围。 <span style="DISPLAY: none">0y/O%\N` S)|5s'h0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地o&Y*|(z%n7jj0Y-A-V</span> 浏览性应用程序:从概念上讲,浏览性应用程序几乎类似于浏览web的程序,但是又具有特定于移动性的限制(例如,小型设备尺寸)。类似于web,服务可以通过一种微型浏览器加以存取-它使用一个URL来定位一个位于无线web服务器上的服务。客户端几乎不具有任何处理能力。 <span style="DISPLAY: none">A8v&O(G6bo[,H^P0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地"Q~WvA$X(b|}</span> 与浏览性应用程序相比,下载性应用程序(智能客户端应用程序)是这样一类应用程序:首先要下载它们,然后安装到客户端设备上。然后,这些应用程序在本地设备上运行。不象浏览性应用程序,一个下载(或智能客户端)应用程序在其运行时不需要连接到网络上。下载性应用程序也被称作是"智能客户端"应用程序,因为客户端(也即,移动设备)能够进行一些处理和/或具有一定的持续性存储能力(缓冲)。当前,大多数基于Java的游戏都是下载性应用程序,也即它们被下载到客户端,并要求在客户端作一些处理并且不需要总是连接到网络上。企业移动应用程序,例如销售行业自动化,也是经常的智能客户端应用程序的例子。 <span style="DISPLAY: none">8p`*E6SFH0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地i7L)ZZ&tz9~ PQ</span> Java ME是开发下载性应用程序最常用的方式,而XHTML是开发浏览性应用程序最常用的方式。下面,让我们详细阐述前面所提到的问题,然后讨论AJAX技术是怎样解决这些问题的。<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地9S o:oM8P$H1D,tA</span> 问题一:市场份额<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地 pE}cK ? O"y&Y/h</span> <span style="DISPLAY: none">cs~k,O-r+i!A8L0</span> 移动应用程序是主要的消费者应用程序。就象这一时期正在发展中的其它工业一样,移动数据工业也是一个正在兴起的行业,它仅占有一定的市场份额。为了达到商业性运营目的(特别是考虑到网络效果的需要),消费者应用程序需要有大批的用户群体。 <span style="DISPLAY: none">,R`1H8}o!WKz+l)jbv0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地/iu E-t&T|m!Y*_ N</span> 上面市场的运作可能基于单个的专利标准,例如来自于Qualcomm的BREW(这显然有它的不利之处)或者通过不受任何企业实体控制的具有很少工业障碍的开放标准。<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地)e*D#IOzi</span> <span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地9wv wZB#J3x PFR9E</span> 为了说明市场份额怎样影响一种新的服务的商业生存能力,我经常推荐使用下列途径(其中,大多数的数据都能够容易地从网上获取)。其思想是,使用"同心圆"理论试图估计出你的应用程序的目标用户群。 <span style="DISPLAY: none">/St DzM1YA0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地u2u2C2t6OM gd}</span> 下面是我使用的一个示例步骤:<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地D;E+g(GsU"vXrW</span> <span style="DISPLAY: none">,LR Y/h2Z0</span> 1. 准备发行你的应用程序的国家有多少人口? <span style="DISPLAY: none">bLBKV'`8e0</span> <span style="DISPLAY: none">.tV0x(`L mu0</span> 2. 在上面的人口中,人均手持设备占有率是多少?<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地i(d#d ~yS e7Fp</span> <span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地!b6m[-gbL u</span> 3. 在这样的人口中,你想雇用什么样的操作员?(大多数国家都有多种类型的移动操作员) <span style="DISPLAY: none">V;K(cow3BB0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地g J-o'p,j7_Y&k</span> 4. 在这样的人口中,你的目标手持设备是什么?(并非所有的操作员支持所有的手持设备)<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地O1K{/CE isJ9z3e</span> <span style="DISPLAY: none">BJu,A B1NwO0</span> 5. 使用什么样的发布技术,是Java,SMS,还是WAP?<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地"{7L/Uu(xl-} B~</span> <span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地9UD'}8~$x}</span> 6. 应用程序是否有任何特殊技术需要,例如基于位置的服务?有多少人拥有支持这种技术的手持设备?<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地o;H3H F4h RP:h</span> <span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地 sN0q&MlfzD:Z</span> 7. 你的市场分割分析提示了什么规律?(最简单的分割是男性/女性,预付/后付,等等)<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地 ^6Tn.d F._6g@j</span> <span style="DISPLAY: none">fh1uP+IO+{0</span> 8. 你的市场渠道有哪些? <span style="DISPLAY: none">uru H,m4]Y3j4J0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地,\Cke4j^!D![</span> 9. 我们期望达到什么样的市场份额,并且基于我们的市场预算把它们转化为多少顾客数?(也即,转化率-典型情况下大约为2%) <span style="DISPLAY: none">%d2I#@"q'r|5{0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地 jd/Z O`0N*k</span> 这将为你提供你的目标用户群数,并且这个目标用户群数乘以每月潜在的下载数应该为你计算出你每月的收入。而且,这还能够直接联系到你的费用底值-包括你的开发费,移植费等等-以达到一种更为客观的在这种新型服务上投资所存在的成功/失败率的认识。 <span style="DISPLAY: none">:h F ?2}zU0</span> <span style="DISPLAY: none">5T ` s:K$r!Z{I0</span> 上面的方法揭示了一个市场份额问题,并且它暗示,今天很少的移动服务能够赢利。因而,我们可以创建一种增殖服务-'广播内容应用程序',例如ringtones和图像软件;但是,在大众市场上具有极少的相应的工具应用程序。 <span style="DISPLAY: none">Q2Hg \.Ly*|4d@0</span> <span style="DISPLAY: none">i]FKz9j,L0</span> 问题二:移植问题<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地4a1{IqOl[</span> <span style="DISPLAY: none">mQ,{3z"H0</span> 这个问题特定于所下载的应用程序(在Java ME中更为普遍)。在Java ME环境下,"书写一次到处运行"只是个玩笑而已!请不妨考虑一下典型地使用Java ME开发的移动游戏(一种可载的应用程序)的情况。<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地9W|#I ZY9T)B[$V</span> <span style="DISPLAY: none">G,A#ah`A#F0</span> 首先,好的方面在于:<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地 P1dhc8}g</span> <span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地X3hyTnr</span> · 据报导,有些运营商,例如Sprint,目前其移动游戏和其它数据服务占居他们每年收入的大约百分之十; <span style="DISPLAY: none">#J9RkqD+j0</span> <span style="DISPLAY: none">n5G^5HY2D6j+If0</span> · 工业咨询公司Ovum注意到,现在,全球市场上存在超过四亿五千万支持Java技术的手持设备,还有三千八百万和一千五百万支持BREW和Symbian的手持设备;<span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地okn;T.KK7K</span> <span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地{tX.]3j6d W$w</span> · 移动游戏出版商在2004年在全球的销售达到12亿美元,并且在2005年有望达到一种更强的销售势头,因为越来越多的消费者发现其实这种微型游戏控制台实际上早已存在于他们的手机上。 <span style="DISPLAY: none">dU7S!_vS4m2R0</span><span style="DISPLAY: none">IT我最牛-程序员的技术讨论与分享园地 c0D jxa</span> <span style="DISPLAY: none"></span>
说明:
上面显示的是代码内容。您可以先检查过代码没问题,或修改之后再运行.
共1 条记录, 每页显示 10 条, 页签:
[1]
Copyright © 2000 - 2009
曙海
教育集团
Powered By
曙海教育集团
Version 2.2
Processed in .01563 s, 2 queries.
[Full]
完整版
[Rss]
订阅
[Xml]
无图版
[Xhtml]
无图版