無(wú)邊界程序設(shè)計(jì)理念這個(gè)提法來(lái)自于這里。
“Android的應(yīng)用只是一個(gè)虛的概念,并沒(méi)有實(shí)際的入口,這個(gè)不像Window平臺(tái)上的應(yīng)用程序的概念,Android更多的是提供組件(Components)的概念。突出請(qǐng)求和服務(wù),突出組件個(gè)體,弱化邊界,系統(tǒng)的各個(gè)組件可以自由的無(wú)邊界的交流,服務(wù)請(qǐng)求者直接發(fā)出請(qǐng)求,不論這個(gè)對(duì)象在何處和屬于誰(shuí)的,組件是自由獨(dú)立的個(gè)體,一個(gè)應(yīng)用程序可以直接請(qǐng)求使用其他的應(yīng)用的的組件,這個(gè)是Android應(yīng)用框架設(shè)計(jì)的核心理念,其他的一切都是在為這個(gè)核心理念服務(wù)?!?/font>
“讓程序員忽略應(yīng)用的概念,甚至徹底的拋棄進(jìn)程這樣的概念,程序員看到的就是一個(gè)一個(gè)的組件,應(yīng)用程序員利用這些組件來(lái)架構(gòu)成一個(gè)所謂的應(yīng)用,那么設(shè)計(jì)者首先要考慮的是什么呢?我想應(yīng)該是一個(gè)抽象的應(yīng)用模型,在這個(gè)模型下產(chǎn)生概念和接口?!?/font>
“Android中你可以開(kāi)始一個(gè)Activity,但是沒(méi)有權(quán)利消滅一個(gè)Activity,這是個(gè)體權(quán)利的體現(xiàn),個(gè)體的消滅是由系統(tǒng)決定的,這個(gè)就是Android中Activity蘊(yùn)含的人文意義?!?/font>
這段總結(jié)說(shuō)的非常好,從我近期對(duì)Android開(kāi)發(fā)的一些基本了解來(lái)看,也確實(shí)是這樣。在Android平臺(tái)下開(kāi)發(fā),你不需要從頭開(kāi)始構(gòu)建一個(gè)應(yīng)用,你可以使用系統(tǒng)提供好的一些功能,或者是別人的應(yīng)用程序中已實(shí)現(xiàn)的部分功能,拿來(lái)組裝自己的應(yīng)用,當(dāng)然,你做好的應(yīng)用也可以把部分功能暴露給別人來(lái)使用。具體說(shuō)來(lái),就是Activity與Intent的使用。
基于這樣一種模式,Android開(kāi)發(fā)更像是堆積木,當(dāng)然,這是理想狀態(tài)下的。Google最近不是就推出了一款通過(guò)web上的組件拖拽就能生成一個(gè)自定義的應(yīng)用程序的工具么,當(dāng)然,我只看了下介紹,還沒(méi)有機(jī)會(huì)親自體驗(yàn),不過(guò),這終將是未來(lái)的趨勢(shì)。
當(dāng)然,這對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)是好事,你可以更加快速的把自己的想法變成現(xiàn)實(shí),你不用親力親為的去做每一件細(xì)小的事情。
對(duì)于手機(jī)使用者來(lái)說(shuō),這同樣是好事。使用統(tǒng)一的Activity構(gòu)建出來(lái)的應(yīng)用,不論是外觀還是使用方式上都是完全統(tǒng)一的,用戶(hù)拿到一個(gè)新應(yīng)用時(shí)基本上不會(huì)有太大的使用方面的成本。
而對(duì)于Google來(lái)說(shuō),這當(dāng)然也是好事。Google可以把他的云計(jì)算服務(wù)都做成一個(gè)個(gè)的組件,應(yīng)用開(kāi)發(fā)者們可以隨意組合上自己的應(yīng)用中,這對(duì)于Google推廣自己的服務(wù)將會(huì)是一件非常有益的事。
當(dāng)然,目前來(lái)說(shuō),組件的提供還并不算完美,現(xiàn)在來(lái)開(kāi)發(fā)一個(gè)應(yīng)用,還是需要自己做很多工作,僅有少部分服務(wù)可以直接調(diào)用Google提供的Intent,而調(diào)用別人的Activity很難得到保證,比如對(duì)別人的應(yīng)用的依賴(lài),比如接口的保證,等等。另外,目前各手機(jī)廠商在定制Android時(shí)都提供了自己的UI sence,而各家也都不一樣,再加上Android原生的,這也使得UI的統(tǒng)一越發(fā)的難,不知道未來(lái)將會(huì)如何處理。