Google Android:生存還是消亡
原創【51CTO獨家特稿】“50秒、60秒、70秒...”這是51CTO記者在試用Samsung Galaxy手機時,為測試開機時間所做的讀秒。從按下開機按鈕,到連接上中國移動的信號,至少耗費了約一分鐘。但此時這部Android手機并沒有完全啟動,它還需要登陸到Home Page才算最終完成了啟動步驟。身旁某臺灣公司的開發人員告訴我,盡管這臺Android手機并沒有加載過多的應用,但是開機速度仍舊不太理想。
三星Galaxy手機上的Android系統
身為某臺灣大型移動運營企業在北京開發團隊的領頭人,C向51CTO記者展示了他的Samsung Galaxy手機上的各種應用,這也就出現了文章開頭的那一幕。經過簡單的試用,Android系統在UI上與其他觸屏手機并沒有太大的區別,我們更關心的是UI背后的開發技術與未來Android開發的前景。在此次海峽兩岸Android技術交流會上,不光有C這樣的一線技術能人,也有高煥堂老師這樣的領軍人物。
框架!框架!框架!
軟件開發過程中,對于框架的設計和選擇,直接影響著整個開發團隊最終的效率與成果。51CTO開發頻道在2009年底推出了《架構師最怕程序員知道的十件事》這樣一個選題,其目的也是為了讓大家更好的了解架構師,了解框架。
“框架!框架!框架!”這樣一句口號正是出自高煥堂老師之口,根據高老師的理念,中國的Android開發人員,應成為框架的架構者,而不是簡單的AP編寫匠。每一個中國Android開發企業,應成為一個“小強龍”,他們做出的框架應讓全世界范圍內更多的程序員使用,最終提升自己在Android體系內的地位。如此振奮人心的口號,在一線Android開發人員眼里又是怎樣的效力呢?
“如果框架套用框架,那最終運行的速度將慢似蝸牛!”這是Android程序員聽到高老師講到框架套框架能進行快速開發后的***反應。這位程序員向51CT O記者解釋到,框架套框架的原意是讓很多控制不用程序員自己去寫,只需要從基類中直接調用就可以。這樣的方法,確實能快速開發,因為省去了自己實現的步驟,但是解析這些框架所消耗的資源將是令人難以接受的。他對于高煥堂的框架理論,比較贊同的是將框架設計與編寫AP分開。根據他自己的解釋,搞了十一年移動開發的他,早應該脫離具體AP的編寫,進入框架設計階段。但是目前公司還是需要自己實現AP,因為沒有下游公司承擔這樣底層的工作。“如果實現北京設計框架,二三線城市的開發公司進行AP的編寫,那才是Android真正發展成熟的狀態!”
迷茫的市場 清醒的程序員
根據臺灣大學資工系陳彥仰教授的相關數據,目前在美國iPhone對比Android具備壓倒性的優勢,在中國則是Window Mobile與Nokia塞班的天下。Android的開發應用,似乎才剛剛起步,與紅火的iPhone應用軟件商店比起來,Android應用數量還似乎少的有些過分。
#T#
在本次海峽兩岸Android技術交流會的現場,有不少中國的移動開發企業表達出進入Android市場的意愿,但是現實是往往是殘酷的。
有很多中國企業之前是基于J2ME核心進行開發,因此有開發企業關心從J2ME虛擬機轉移到Android的Dalvik虛擬機上需要多少時間。甚至有人直接提出,能否直接用J2ME取代Dalvik虛擬機。這一切的一切,襯托出目前國內開發企業對于Android的迷茫以及技術上的不熟悉,雖然想進入這個領域,但是還不想放棄目前自己在J2ME或者其他平臺上的市場。這就從根本上顯示出他們看不到Android市場的前景的擔心,也就是對于Android盈利模式上的憂慮。
反觀作為技術人員代表的陳,提出的問題則比較具體。首先是Android執行效率的問題,SQLite數據庫在處理1M以上的數據時會造成令人難以忍受的延時,不知道有什么方法可以解決。另外是GDB能否在Android上使用,這樣能更好的進行調試。臺上的專家的回答,主要是通過其他的解決方法來應對這些實際問題,比如使用MySQL數據庫來進行處理,而只顯示其中的前一部分。在代碼執行效率的問題上,盡可能嚴格區分不同的功能實現,索引是索引,LOOP是LOOP。對于這樣的回答,陳表示不太滿意,與他心中的想法不太切合。畢竟Android這個系統從開始到現在,只有兩年多的時間,大家還處于一個摸著石頭過河的階段。
對于Android系統的市場前景,Android開發人員并不是太關心。因為目前Android開發所使用的語言大多是C/C++或者是Java,即使換一套手機系統,適應和轉型的時間也不會超過一周。有的程序員從Windows Mobile做到iPhone,再做到Android,一路下來覺得其中的開發過程并無太大的差異,最多是在Porting上有一些區別。他們關心的市場問題,最多就限于如何實現收益以及目前國內市場在付費購買應用方面的缺陷。
當前大多數Android手機還處于Android 1.5或者1.6系統的階段,這一點與iPhone手機系統有較大的差別。因為手機硬件的千差萬別,造成很多廠商不愿意主動向更高版本靠攏,而不像iPhone那樣一夜之間就能完成用戶系統的升級改造。這是開源系統的一大特點,并不能說版本升級快就是好事情,關鍵在于用戶體驗。就目前Android應用的體驗來說,還有很長的路要走。比如企業級應用,現在Android平臺上應用多以小型應用為主,大型應用還無法開展。這一切都受制于硬件性能和系統性能,Android的企業應用實現還需要假以時日。
Android手機系統的未來,現在還看不出端倪。問題客觀存在,我們也能看到Google和OHA在解決問題上的決心。系統在不斷完善過程中,還需要廣大開發人員進行磨合,逐步適應Android的開發環境。兩年時間已經過去了,留給Android的時間,可能也只剩下兩年左右的時間。是站穩市場?還是慢慢的消亡,一切還要看我們這些身在Android中的業內人。
相關閱讀
Google Android的機器人LOGO
Android一詞的本義指“機器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統的名稱,該平臺由操作系統、中間件、用戶界面和應用軟件組成,號稱是***為移動終端打造的真正開放和完整的移動軟件。
Android是基于Linux內核的軟件平臺和操作系統,早期由Google開發,后由開放手機聯盟OHA(Open Handset Alliance)開發。它采用了軟件堆層(software stack,又名以軟件疊層)的架構,主要分為三部分。低層以Linux內核工作為基礎,只提供基本功能;其他的應用軟件則由各公司自行開發,以Java作為編寫程序的一部分。
Dalvik虛擬機執行.dex的Dalvik可執行文件,該格式文件針對最小內存使用做了優化。該虛擬機是基于寄存器的,所有的類都經由JAVA匯編器編譯,然后通過SDK中的dx工具轉化成.dex格式由虛擬機執行。Dalvik虛擬機依賴于Linux的一些功能,比如線程機制和底層內存管理機制。可以說Dalvik虛擬機就是Android系統的標志。