官术网_书友最值得收藏!

3.1.3 基于Mashup的應(yīng)用架構(gòu)特征

基于Mashup的應(yīng)用,其核心是組件,應(yīng)用邊界、進(jìn)程邊界和網(wǎng)絡(luò)邊界在Android中都變得模糊而且不那么重要了。在Android中,組件執(zhí)行時(shí)的聚合單元是任務(wù)(Task)任務(wù)的詳細(xì)介紹,請(qǐng)參見(jiàn)第6章。,每個(gè)任務(wù)都由若干個(gè)界面組件對(duì)象構(gòu)成,這些組件可能來(lái)自不同的應(yīng)用,運(yùn)行在不同的進(jìn)程中,它們彼此獨(dú)立,就像黑盒子一樣,無(wú)須關(guān)注具體調(diào)用者或被調(diào)用者的實(shí)現(xiàn)細(xì)節(jié)。

組件間的數(shù)據(jù)傳輸,都是通過(guò)消息、進(jìn)程間的通信模型等序列化數(shù)據(jù)傳輸?shù)姆绞絹?lái)進(jìn)行,而不是通過(guò)對(duì)象指針的直接傳遞,這就使得Android的應(yīng)用天生具有了良好的跨進(jìn)程特征。在實(shí)際的Android開(kāi)發(fā)中,開(kāi)發(fā)者通常不需要關(guān)注應(yīng)用進(jìn)程的問(wèn)題,而只需要把精力放在組件的管理和控制上即可。

基于組件的設(shè)計(jì),不僅使得應(yīng)用具有跨進(jìn)程性,而且還具有跨網(wǎng)絡(luò)的特性。當(dāng)調(diào)用方組件發(fā)起請(qǐng)求,希望第三方組件幫助提供所需的功能或數(shù)據(jù)時(shí),能夠響應(yīng)該請(qǐng)求的,不僅可以是一個(gè)本地已安裝應(yīng)用的組件,還可以是符合該請(qǐng)求的Web頁(yè)面,C/S和B/S的差別在Android上也變得模糊了。

實(shí)現(xiàn)從跨進(jìn)程到跨網(wǎng)絡(luò)的升級(jí),有兩處關(guān)鍵的設(shè)計(jì)。首先是內(nèi)置瀏覽器的支持。Android中搭載了移動(dòng)平臺(tái)史上最彪悍的瀏覽器Chrome LiteChrome for Android已然成為4.0系統(tǒng)上的瀏覽器最佳選擇。,它不僅可以完美地支持當(dāng)前的各種HTML、JS和CSS,還提供對(duì)HTML 5和CSS3的支持。瀏覽器應(yīng)用中的界面組件,能夠處理不同的Web請(qǐng)求,從而使得Web頁(yè)面的展示能夠并入Android的組件體系中。

而另一個(gè)關(guān)鍵點(diǎn)在于Android沿用了Web中的服務(wù)定位等標(biāo)準(zhǔn)。Web頁(yè)面是通過(guò)URL進(jìn)行定位的,通過(guò)MIME type對(duì)其類型進(jìn)行描述。而在Android中,采取了同樣的標(biāo)準(zhǔn),這就使得每一個(gè)Web頁(yè)面都可以歸納到Android的識(shí)別范圍之內(nèi)。

舉一個(gè)示例,如圖3-2所示,一個(gè)帶有地圖信息的鏈接,不僅可以通過(guò)瀏覽器請(qǐng)求Web服務(wù)來(lái)進(jìn)行展示,而且還可以通過(guò)本地安裝的Google地圖之類應(yīng)用的組件進(jìn)行展示和處理。相比之下,Web服務(wù)的使用門檻更低,而本地服務(wù)能夠提供更豐富的處理功能。用戶可以根據(jù)需求,選擇最適合的方式。

圖3-2 通過(guò)不同的組件展示同樣的地圖信息

基于Mashup的這種應(yīng)用架構(gòu)模式,可以將整個(gè)Android設(shè)備中安裝的應(yīng)用以及各種Web應(yīng)用糅合在一起,以幫助用戶更好地完成相關(guān)事務(wù)。對(duì)于開(kāi)發(fā)者而言,這樣不僅降低了開(kāi)發(fā)成本,還提供了最好的用戶體驗(yàn),真可謂一舉多得、互惠互利的應(yīng)用模型。

主站蜘蛛池模板: 黄梅县| 瑞昌市| 河东区| 武冈市| 蕲春县| 临武县| 阳春市| 南乐县| 神农架林区| 宣城市| 潢川县| 涟水县| 遵化市| 墨脱县| 太白县| 务川| 平武县| 信宜市| 万安县| 平谷区| 邓州市| 锡林浩特市| 郸城县| 尉犁县| 华安县| 丹巴县| 嵊泗县| 板桥市| 浮梁县| 英德市| 滁州市| 永春县| 芷江| 巨野县| 临泽县| 南召县| 治县。| 梧州市| 锡林浩特市| 从江县| 浮山县|