今年,Opera發(fā)布了在移動(dòng)設(shè)備上支持AJAX的瀏覽器??紤]到Opera在瀏覽器市場(chǎng)的聲望,這個(gè)發(fā)布聲明確實(shí)具有意義重大。不過,我相信這存在一定的豪賭成分。但我相信AJAX將替代J2ME和XHTML成為開發(fā)移動(dòng)應(yīng)用的首選平臺(tái)的機(jī)會(huì)確實(shí)存在。在下文,我將全力闡釋原因。
擁抱移動(dòng)web2.0時(shí)代{AJAX for 移動(dòng)設(shè)備}
——移動(dòng)AJAX將替代J2ME和XHTML成為移動(dòng)應(yīng)用的首選平臺(tái)嗎?
作者:cleverpig
今年,Opera發(fā)布了在移動(dòng)設(shè)備上支持AJAX的瀏覽器??紤]到Opera在瀏覽器市場(chǎng)的聲望,這個(gè)發(fā)布聲明確實(shí)具有意義重大。不過,我相信這存在一定的豪賭成分。
但我相信AJAX將替代J2ME和XHTML成為開發(fā)移動(dòng)應(yīng)用的首選平臺(tái)的機(jī)會(huì)確實(shí)存在。在下文,我將全力闡釋原因。
在這之前,提一個(gè)告誡——我相信移動(dòng)web2.0比“移動(dòng)AJAX”更加遙遠(yuǎn)。尤其是移動(dòng)web2.0實(shí)現(xiàn)
所有web2.0七點(diǎn)原則這一過程。所以,我在此只討論了AJAX,只是web2.0的一個(gè)側(cè)面而已。
圖-1:look一下Opera上的AJAX應(yīng)用畫面
版權(quán)聲明:任何獲得Matrix授權(quán)的網(wǎng)站,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必保留以下作者信息和鏈接作者:cleverpig;
cleverpig原文:
http://www.matrix.org.cn/resource/article/2006-10-17/AJAX+Mobile_5dc880d1-5d8b-11db-a5c2-7f23a8944cb0.html關(guān)鍵字:ajax,j2me,web2.0
Overview: 1.AJAX是什么?
2.當(dāng)前的移動(dòng)應(yīng)用開發(fā)模式。移動(dòng)產(chǎn)業(yè)所面對(duì)的問題,換言之,就是當(dāng)前移動(dòng)應(yīng)用模式的缺點(diǎn)。
3.為什么AJAX將替代J2ME和XHTML而成為開發(fā)平臺(tái)的首選?
一、AJAX是什么? AJAX是web2.0的可選部分。進(jìn)一步講,它融合了一些目前現(xiàn)存技術(shù),使之成為一體工作。
1.XHTML和CSS作為表現(xiàn)層標(biāo)準(zhǔn)
2.DOM(Document Object Model)被用在動(dòng)態(tài)顯示和交互
3.XML和XSLT用在數(shù)據(jù)交換和維護(hù)
4.XMLHttpRequest技術(shù)用于接收異步數(shù)據(jù)
5.Javascript將上面的部分捆綁在一起
知道AJAX到來之前,復(fù)制富有、反應(yīng)迅速的本地應(yīng)用交互設(shè)計(jì)并非易事。AJAX與從前的其它嘗試在這個(gè)問題上定位所不同之處:基于現(xiàn)有、非私有化的標(biāo)準(zhǔn),并且這些標(biāo)準(zhǔn)都為開發(fā)者所熟知。
傳統(tǒng)的web應(yīng)用模式中,大多數(shù)情況下,用戶行為觸發(fā)一個(gè)HTTP Request。服務(wù)器完成處理后返回結(jié)果到用戶。當(dāng)服務(wù)器處理時(shí),用戶處于等待狀態(tài)!這種“start-stop-start”的web應(yīng)用行為從技術(shù)出發(fā)是很好的,但從用戶交換出發(fā)則很糟糕(因?yàn)橛脩艚粨Q的結(jié)果都來自于服務(wù)器,當(dāng)服務(wù)器作處理工作時(shí),用戶只能做的事就是喝咖啡之類的無聊等待)。
AJAX憑借AJAX引擎解決了上述問題。在Session開始時(shí),AJAX應(yīng)用裝載AJAX引擎。AJAX引擎是采用javascript編寫而成的javascript庫,它被放置在一個(gè)隱藏的frame中。用戶與AJAX引擎交互,而非前面講的web服務(wù)器。如果用戶交互不需要從服務(wù)器上獲得什么的話,AJAX引擎會(huì)自己處理這個(gè)交互。當(dāng)用戶交互需要從服務(wù)器上獲取一些數(shù)據(jù)時(shí),AJAX引擎會(huì)完成一個(gè)異步調(diào)用,而不是打斷用戶流。
在這個(gè)場(chǎng)景中,由于AJAX引擎和服務(wù)器異步通訊,所以AJAX被稱為是“異步的”。這樣會(huì)讓用戶獲得“無縫隙”的用戶體驗(yàn)(呵呵,不必再等待了)。
這里是AJAX出現(xiàn)后的一個(gè)動(dòng)力源:開發(fā)者已經(jīng)熟知AJAX所倚賴的技術(shù)。所有組成AJAX的技術(shù)都是成熟、穩(wěn)定的。AJAX成為了一些新web應(yīng)用的基石:
Google suggest ,
Google Maps,
Flickr,
Amazon’s A9.com。
二、目前移動(dòng)開發(fā)模式 從前面文章的討論中,我們明確了——AJAX解決了兩個(gè)問題:就是一個(gè)出眾的UI和數(shù)據(jù)接收的標(biāo)準(zhǔn)形式。
盡管AJAX能夠很好的干掉這兩個(gè)問題,但我認(rèn)為這還遠(yuǎn)遠(yuǎn)足以說明AJAX的“神勇”,尤其是AJAX拙于成效地解決了下面的問題:
1.市場(chǎng)割據(jù)問題;
2.移植問題(尤其指基于J2ME的下載類應(yīng)用);
3.實(shí)現(xiàn)開發(fā)式的應(yīng)用發(fā)行。
讓我們認(rèn)識(shí)一下現(xiàn)存的移動(dòng)開發(fā)吧。首先是移動(dòng)應(yīng)用的兩個(gè)分類原則:瀏覽型應(yīng)用和下載型應(yīng)用。當(dāng)然又存在別的應(yīng)用:如短信息應(yīng)用、SIM應(yīng)用等。但是就目前而言,前面這兩類應(yīng)用是主流的兩大應(yīng)用。
瀏覽型應(yīng)用:瀏覽應(yīng)用與瀏覽web的概念相似,但它受到了移動(dòng)設(shè)備獨(dú)特性的限制(例如:設(shè)備的屏幕尺寸)。與web瀏覽相同,它通過一個(gè)微型瀏覽器通過url訪問在無線服務(wù)器上的應(yīng)用服務(wù)。而客戶端承擔(dān)很少處理,甚至不進(jìn)行處理。
下載型應(yīng)用:對(duì)比瀏覽型應(yīng)用,下載型應(yīng)用需要首先下載到客戶端設(shè)備上。應(yīng)用運(yùn)行在本地設(shè)備。與瀏覽型應(yīng)用不同,被下載的應(yīng)用在運(yùn)行時(shí)不需要連接網(wǎng)絡(luò)。因?yàn)榭蛻舳四苓M(jìn)行一些處理或是一些持久化存儲(chǔ),所以下載型應(yīng)用被稱為“智能客戶端”。而當(dāng)前的大多數(shù)基于JAVA的游戲都是下載型應(yīng)用。
J2ME是開發(fā)下載型應(yīng)用的最常見模式,而XHTML是開發(fā)瀏覽型應(yīng)用的最常見模式。下面詳細(xì)闡述一下前面所講的問題,并討論AJAX如何解決這些問題。
問題一:市場(chǎng)割據(jù) 移動(dòng)應(yīng)用主要以消費(fèi)性應(yīng)用為主。移動(dòng)數(shù)據(jù)產(chǎn)業(yè)是一個(gè)方興未艾的產(chǎn)業(yè),就如別的產(chǎn)業(yè)在這個(gè)時(shí)期所經(jīng)歷的進(jìn)化過程一樣,它是割據(jù)的:
為了獲得經(jīng)濟(jì)上的最大利益,消費(fèi)性應(yīng)用需要一個(gè)龐大的客戶群。而不同的標(biāo)準(zhǔn)隨之而生,如來自Qualcomm的BREW標(biāo)準(zhǔn)就是一種私有標(biāo)準(zhǔn),而不被某個(gè)實(shí)體所掌握的開放標(biāo)準(zhǔn)只被很少的廠商采用。
為了展示市場(chǎng)割據(jù)是如何影響一個(gè)新型服務(wù)的經(jīng)濟(jì)收益的,我們通過下面的方式來體會(huì):在嘗試發(fā)現(xiàn)我們應(yīng)用的最大客戶群的過程中,思考下面的“同心圓”結(jié)構(gòu)。同心圓半徑隨序號(hào)順序而減小,即1為最外圍的圓,9為最內(nèi)部的圓。
1.你的應(yīng)用所在國(guó)家的人口是多少?
2.持有移動(dòng)設(shè)備的人口比例是多少?
3.在應(yīng)用中你所定位的運(yùn)營(yíng)商是哪個(gè)?
4.在應(yīng)用中你所定位的移動(dòng)設(shè)備有哪些?
5.發(fā)布技術(shù)有哪些?例如Java,SMS,WAP等
6.應(yīng)用是否需要諸如定位服務(wù)等特殊的技術(shù)?多少人持有支持此技術(shù)的移送設(shè)備?
7.按分類做分割分析的標(biāo)準(zhǔn)是什么?(如:男性/女性等)
8.我們應(yīng)用所定位的市場(chǎng)道路有哪些?
9.我們期待這個(gè)子類中命中并轉(zhuǎn)化為基于我們市場(chǎng)預(yù)算的消費(fèi)者比率是多少?(一般轉(zhuǎn)化比率為2%)
通過上面的方法,我們能計(jì)算出目標(biāo)客戶群。這樣,目標(biāo)客戶群乘以潛在的月下載量就是月收入。它包括了我們用在開發(fā)、移植上支出費(fèi)用。這個(gè)方法展示了市場(chǎng)割據(jù)問題,它意味著少數(shù)移動(dòng)服務(wù)商是有利可圖的。也正因此而誕生了增值業(yè)務(wù):如鈴聲、圖片下載等。
問題二:移植困難 這個(gè)問題針對(duì)下載型應(yīng)用。“Write once run anywhere”這句話在移用領(lǐng)域是個(gè)笑談,呵呵,盡管這并非Sun的失誤?;贘2ME的游戲開發(fā)就是個(gè)經(jīng)典的例子:
首先,看看好消息。
1.諸如Sprint和Vodafone這樣的移動(dòng)運(yùn)營(yíng)商報(bào)告了移動(dòng)游戲和其它數(shù)據(jù)服務(wù)的收入占據(jù)他們年收入的10%以上;
2.產(chǎn)業(yè)咨詢公司Ovum指出目前全球4億5千萬個(gè)支持Java的手機(jī),3千8百萬支持BREW的手機(jī),1千5百萬基于Symbian的手機(jī)。
3.移動(dòng)游戲發(fā)行商僅在2004年的全球銷售總額達(dá)到12億美元。
但是這是存在瑕疵的。游戲移植一般需要開發(fā)者適配不同的屏幕分辨率、處理器速度、內(nèi)存限制、音效等,這些因素在不同設(shè)備之間可能是變數(shù)頗多的。對(duì)于發(fā)行商來講,這不僅是指數(shù)級(jí)地增加游戲開發(fā)周期和資產(chǎn)建立時(shí)間,而且導(dǎo)致了在這場(chǎng)超級(jí)競(jìng)爭(zhēng)中錯(cuò)失關(guān)鍵的time-to-market(指將從產(chǎn)品設(shè)計(jì)到產(chǎn)品行銷到市場(chǎng))的時(shí)機(jī)。例如,假設(shè)你經(jīng)營(yíng)著一家具有30款游戲的中型游戲發(fā)行公司,為了你的游戲走向世界,你打算支持5種語言和50款設(shè)備,則你需要建立7500個(gè)不同的游戲版本,每個(gè)版本需要2500美元,那么你將需要將近1千9百萬的預(yù)算花在手機(jī)移植上。
這嚴(yán)重地限制了商業(yè)模式的發(fā)展,導(dǎo)致了少量的移動(dòng)游戲能收獲利潤(rùn)。
問題三:開放的應(yīng)用發(fā)行 前面講了使用J2ME技術(shù)遇到的困難,僅僅依靠建立一個(gè)社區(qū)(如Sun已經(jīng)做到community process)是遠(yuǎn)遠(yuǎn)不夠的。構(gòu)建在社區(qū)上的技術(shù)和應(yīng)用必須保持一致和交互性,才能發(fā)揮網(wǎng)絡(luò)效益并獲得龐大的用戶群。
三、為什么AJAX將代替J2ME和XHTML而成為首選的開發(fā)平臺(tái)?
AJAX能解決前面的問題嗎?從筆者的觀點(diǎn)來講,這是很可能的。
AJAX通過瀏覽器訪問,而用戶通過兩種方式獲得瀏覽器——手機(jī)預(yù)裝或是單獨(dú)安裝應(yīng)用。任何人都能為智能手機(jī)下載瀏覽器:
Opera link shows for series 60 phones。這意味著,所有的消費(fèi)者能潛在地安裝瀏覽器,如果足夠多的人安裝——我們將有巨大的客戶群和很少的“瓶頸”——比如移動(dòng)運(yùn)營(yíng)商的特殊限制。換言之就是繞過了他們的“花園籬笆”。
更進(jìn)一步講,AJAX提供了出眾的用戶體驗(yàn)并有龐大的支持AJAX的開發(fā)者社區(qū)作為后盾。獲得更多客戶群(更少的瓶頸)意味著更多的應(yīng)用轉(zhuǎn)化為金錢的機(jī)會(huì)——這將導(dǎo)致前面所講的“同心圓”更加有效能。
J2ME目前存在著嚴(yán)重的缺陷(不是技術(shù)上的,而是商業(yè)模式上的)。由于AJAX提供豐富、出眾的用戶體驗(yàn),XHTML將繼續(xù)run下去。
總之,我相信AJAX將代替J2ME和XHTML而成為首選的移動(dòng)開發(fā)平臺(tái)。
四、閱讀提示: 1.我在這里說的是“首選”而不是“替代物”,我并不期待AJAX替代任何技術(shù)。
2.AJAX不能解決所有問題。你仍然要按照客戶需求出發(fā)建立服務(wù)。
3.AJAX不是唯一建立更佳用戶接口的嘗試:這里存在一些有限的成功,但是他們沒有跨越產(chǎn)業(yè)或是私有性的。例如移動(dòng)SVG, 3D游戲的superscape’s swerve技術(shù),還有macromedia mobile。
4.一些人并非實(shí)際瀏覽移動(dòng)網(wǎng)絡(luò)。盡管WAP發(fā)展迅猛,其中WAP作為一種傳輸機(jī)制來使用——典型的應(yīng)用就是內(nèi)容下載。換句話說,就是每次你下載鈴聲,你潛在地建立了一個(gè)WAP頁面訪問。所以我認(rèn)為消費(fèi)者真正瀏覽移動(dòng)網(wǎng)絡(luò)的人數(shù)還是很低的,但是也很有潛力的。
5.很少的移動(dòng)廠商致力于開發(fā)者社區(qū)。