什么是Android?
Android一詞的本義指“機(jī)器人”,是美國搜索引擎公司Google在2007年11月5日公布的基于Linux平臺(tái)的開源智能手機(jī)操作系統(tǒng)名稱。該平臺(tái)由操作系統(tǒng)、中間件和應(yīng)用程序組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開放和完整的移動(dòng)軟件。它采用了軟件棧(software stack)的架構(gòu),底層以Linux核心為基礎(chǔ),只提供基本功能,其他的應(yīng)用軟件則由各公司自行開發(fā),以java作為編寫程式的一部分。另外,為了推廣此技術(shù),Google和其它幾十個(gè)手機(jī)公司建立了開放手機(jī)聯(lián)盟(Open Handset Alliance)。Android在未公開之前常被傳聞為Google電話或gPhone。大多傳聞?wù)J為Google開發(fā)的是自己的手機(jī)電話產(chǎn)品,而不是一套軟件平臺(tái)。
本文引用地址:http://butianyuan.cn/article/114193.htm2008年9月23日,美國運(yùn)營商 T-Mobile USA在紐約正式發(fā)布第一款Google手機(jī)——T-Mobile G1。該款手機(jī)為宏達(dá)電制造,是世界上第一部使用Android操作系統(tǒng)的手機(jī),支持WCDMA/HSPA網(wǎng)絡(luò),理論下載速率7.2Mbps,并支持Wi-Fi。T-Mobile G1于10月22日正式上市發(fā)售。
Android包括操作系統(tǒng)、中間件和應(yīng)用程序 —— 移動(dòng)電話工作所需的全部軟件,而且不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。谷歌與開放手機(jī)聯(lián)盟OHA(Open Handset Alliance)合作開發(fā)了 Android,這個(gè)聯(lián)盟由包括中國移動(dòng)、摩托羅拉、高通、宏達(dá)和 T-Mobile 在內(nèi)的 30 多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成。通過與運(yùn)營商、設(shè)備制造商、開發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,Google希望借助建立標(biāo)準(zhǔn)化、開放式的移動(dòng)電話軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開放式的生態(tài)系統(tǒng)。
Android 作為Google企業(yè)戰(zhàn)略的重要組成部分,將進(jìn)一步推進(jìn)"隨時(shí)隨地為每個(gè)人提供信息"這一企業(yè)目標(biāo)的實(shí)現(xiàn)。Google的目標(biāo)是讓移動(dòng)通訊不依賴于設(shè)備甚至平臺(tái)。出于這個(gè)目的,Android將補(bǔ)充,而不會(huì)替代Google長期以來奉行的移動(dòng)發(fā)展戰(zhàn)略:通過與全球各地的手機(jī)制造商和移動(dòng)運(yùn)營商結(jié)成合作伙伴,開發(fā)既有用又有吸引力的移動(dòng)服務(wù),并推廣這些產(chǎn)品。
Android的一個(gè)重要特點(diǎn)就是它的應(yīng)用框架和GUI庫都用Java語言實(shí)現(xiàn)。Android內(nèi)部有一個(gè)叫作Dalvik的Java虛擬機(jī),Java程序由這個(gè)虛擬機(jī)解釋運(yùn)行。Android平臺(tái)的應(yīng)用程序也必須用Java語言開發(fā)。網(wǎng)上有評(píng)論說Android的虛擬機(jī)使用Apache的Harmony類庫。Harmony類庫是Apache組織開發(fā)的開源 Java類庫,用Apache許可證發(fā)布。Android應(yīng)用框架采用了Mash-up的組件模型:組件(Activity) 向系統(tǒng)注冊(cè)自己的功能,每個(gè)組件要使用其它組件的服務(wù)時(shí)提出自己的要求(intent),系統(tǒng)根據(jù)intent在已登記的組件中確定合適的組件。Android平臺(tái)的API文檔很完善。
基于Android平臺(tái)開發(fā)應(yīng)用軟件應(yīng)該是一件輕松、愉快的事情。但是,選擇Android平臺(tái)存在以下問題:
Google目前只開放了SDK,即應(yīng)用軟件的開發(fā)接口,沒有開放中間件的源代碼。
在沒有源代碼的情況下,也可以把Android移植到兼容的開發(fā)板(CPU核采用ARMv5指令集)上,但因?yàn)椴荒芏ㄖ贫鵁o法將其用于實(shí)際產(chǎn)品。Google現(xiàn)在沒有明確什么時(shí)候發(fā)布中間件的源代碼。其實(shí)Google也沒有明確說過將發(fā)布中間件的源代碼。Google說Android是“the first complete, open, and free mobile platform”。在英文中“free”既可以解釋成“自由”,也可以解釋成“免費(fèi)”。如何解釋完全在于Google。我覺得Google最想抓住的是 應(yīng)用軟件的開發(fā)者,即希望公司和個(gè)人都學(xué)習(xí)它的SDK,為它的平臺(tái)開發(fā)應(yīng)用軟件。Google肯定會(huì)和廠家合作,開發(fā)支持Android平臺(tái)的手機(jī)。但 Google是否會(huì)在網(wǎng)絡(luò)上完全開放中間件代碼,還是個(gè)未知數(shù)。如果Google完全開放這個(gè)平臺(tái),那么與J2ME類似,各公司肯定會(huì)在這個(gè)平臺(tái)上添加自己的擴(kuò)展,使各平臺(tái)不能完全兼容。所以,Google很可能用商業(yè)手段來保證Android平臺(tái)的一致性。
Android的設(shè)計(jì)很漂亮,但是否實(shí)用還有待實(shí)踐檢驗(yàn)。
Android使用Java既可以利用Java的平臺(tái)無關(guān)性,又可以降低應(yīng)用軟件的開發(fā)難度。但無論怎么優(yōu)化,Java程序的速度是肯定不如原生代碼的。Google的Mash-up的思想雖然不算新穎,但在嵌入式環(huán)境中投入實(shí)用,也是一個(gè)新的嘗試。設(shè)計(jì)總有取舍,Google的選擇是否合理,還需要實(shí)踐檢驗(yàn)。
評(píng)論