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