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