對於Android,我也算是老人了,所謂,有文有真想。正由於這段玩票經歷,使得我在畢業後,鬼使神差的成為移動平台的一名碼工,再次有機會放肆的擁抱Android。
2010開年,手上突然有了一把閒散時間,有機會進一步總結和學習Android。於是想再一次為Android寫一系列的東西,這些東西來自於一些開發經驗,對源碼的學習和對Android的淺薄認識,也算是鞭笞自己學習的一種手段。
其下所有內容,預計有十數篇,抑或更多。基本和技術相關,也許會配有一些其他相關比較閒淡的話題。可能會有一些具象實例,但更多的可能是自己的一些理解和認知。所有一切,源自於妄自挖掘,難免有疏漏或誤解,觀者淡定。
以此為序,有心者,望共勉。
Android簡史
人生若只初識,何事秋風悲畫扇。 -- 《木蘭辭》
要說當今移動平台的當紅辣子雞,Android說它是第二,也許沒有別家敢認這個第一(好吧,iPhone,有意見就說...)。了解Android開發平台的過去和現狀,除了往下看,另有便捷的方式就是在WikiPedia中鍵入Android,在這裡,特此鳴謝GFW友情放生。
誕生
早在2005年7月,Google舞動著手中的美刀,收下了由Andy Rubin(傳說中的Android之父...)等人創立的一家小公司,他們當時做的就是基於Linux內核的手機操作系統,也就是小時候的Android。經過Google多年打磨,Android在07年末,正二八經的粉墨登場開門接客。
自打一出生,Android便被釘板在富二代的角色上,不僅是因為老爹有錢的令人發指,也是因為其後有一幫金光閃耀的叔伯們保駕護航。這個叔伯群,便是響當當的開放手機聯盟OHA(Open Handset Alliance)。這個聯盟涵蓋了中國移動、T-Mobile、Sprint這樣的移動運營商,也包括HTC、Motolora、三星這些的手機制造商,同時還有以Google為代表的手機軟件商,以Inter、Nvidia為標志的底層硬件廠商和Astonishing Tribe這樣的商業運作公司(這公司是啥我也不曉得...)。作為後援團,他們理論上的任務,是各盡其長,全力捧紅Android,實際上的任務是齊心協力,借Android東風賺一個盆缽滿響。
當然,Android自所以被萬眾矚目一炮走紅,不僅僅是丫實在太有背景,同時,它也有這太多的新鮮的概念。Android是一個開源的平台(恩,真正的全面開源,是在發布後很久以後了...),它給那些捂著自家平台源碼當寶的競爭對手們一記當頭棒喝。Android自行研發了一套Java虛擬機,當時僅提供Java API的支持(NDK是更久以後的事情了...),號稱為專為高端智能設計。Android開發環境支持所有主流操作系統平台,包括 Windows,Linux,Mac,即便到今天,在手機開發中也是極其罕見的。Android的帶頭人Google,本身是做網絡起家,Android 內嵌大量Google網絡應用,聽上去就顯得很酷。這所有的一切,共同造就了Android那鶴立雞群,不染風塵的少俠形象。
造勢
推出伊始,Google還有一個很震撼的推廣舉動,就是舉行所謂的Android程序挑戰賽(Android Developer Challenge, ADC)。整個比賽分成兩場,第一場(ADC1)比賽,在沒有任何真機問世,SDK還是個雛形的狀況下,便鳴金開鑼了。
比賽套路是無差別的群毆,基本概念是無論你來自何方(還是要滿足美國法律要求和避嫌要求的),無論你想做些什麼,也不管你是光桿司令還是流氓團伙,只要提交一個能在模擬器上跑起來的程序,就可參賽。而比賽只是對你作品進行參觀評比,作品的所有權依然放在開發者的口袋中。
當然,這還不算什麼創新,NB的是無比豐厚的獎金,整個ADC的獎金高達1千萬美刀,每場各半,基本上首輪入圍獎(前50)已經超越了那時候一般程序比賽的頭名獎金,這對很多小公司和個人而言,無疑是具有很強吸引力的。於是,各路打醬油好手蜂擁而至,各論壇、博客、網站也七嘴八舌的討論開來,一時間,滿城風雨。
ADC1我也很厚顏無恥的參加了,結果當然可以預想,一毛錢都沒摸上。回想整個過程,差距最大的並不是在技術上,而是認知上,我們玩的產品是人家幾年前玩剩下的,說創新只是一抹笑談。
當時覺著,Google太NB了,ADC這種車馬未動糧草先行的招太華麗了,就這動靜,不論比出來個啥結果,這1千萬刀也掏值了。但時過境遷,現在回頭來想,也許一切並不是看上去那麼美。由於沒有扎扎實實的真機擺出來,大家普遍抱著一種玩票的心理,真的敢不顧一切捨下身家性命押寶在Android上的盡在少數,這就鍛造了Android平台很長一段時間的只見雷不見雨的局面。而等喧囂過後,很多人熱情消退,Google真端出Android真機的時候,還需要重新熱場再來一次,也許,真的有些得不償失。
困境
所有的東西現在來說,都是事後諸葛亮,只能聽個響不能當個真。而真實的狀況是ADC1很快進入囧境,由於架構設計上的種種原因,Google花了比預想多的多的時間做Android的優化工作,ADC1比賽被迫不斷延期,徹底淪為懶婆娘的裹腳布。各路曾熱捧Android的媒體,也不失時機的倒戈,親手在自己畫上的感歎號後面,重重畫上了個大大的問號。
禍不單行,同樣是由於Android的性能問題,雖然各路高手把Android移植到了不同的手機平台上,但傳說中的GPhone一直難產中,使得人們不免有了胎死腹中的猜測。
與此同時,其他對手可一點也沒閒著。iPhone很快宣布開放SDK,以此來勾引純情的開發人員。Symbian被Nokia徹底收購,成為Nokia的自留地,開源計劃也很快浮出水面。所有景象,對Android而言都猶如夢魇。
破繭
所有一切困境,都在G1發布後,漸漸消散了。2008年10月,第一款搭配Android平台的真機,搭載著無限光榮與夢想的HTC Dream正式發售,這就是注定要載入史冊的G1。雖然比之當時絕代風華的iPhone,粗陋的G1猶如村姑遇上公主一般,但無論如何,G1讓人們真真切切的看到了Android。這就猶如你家買的跳票N久的期房,終於見著了個毛胚房,那種感覺,除了踏實,找不到更適合的詞匯了。
好事當然也會成雙,G1它不是一個人在戰斗。ADC1總算是落下帷幕,Android Market的也順理成章的破繭而出,早期的應用,大都來自於ADC1的貢獻。
Android也結束了偽開源的歷史旅程,正式開發SDK的源碼實現,搭配的是Apache的License,這種坦誠相見的感覺看上去很不錯。
忠心耿耿的HTC,更是再接再勵,在G1後,陸續發布了Magic(G2)和Hero(G3)。尤其是Hero的現身,惹得一陣小驚艷,HTC為Hero搭配的是基於Android改造UI的Sense系統,以華麗的界面風格賺足了眼球,也創了改造Android的先河。
在 HTC高歌猛進的同時,貓在螳螂後的一群黃雀,也敵在動我也動了。摩托羅拉,三星,LG,華為,戴爾,聯想等一干手機廠商紛紛跟進,各式各樣的 Android蜂擁而至。與此同時,其他嵌入式廠商也推陳出新,愛可視(Archos)發布了基於Android的平板設備,明基的Android上網本也是箭在弦上,而基於Android的手持電子書閱讀設備也不斷的被推出,龐大的Android聯盟初現峥嵘。
為了避免同質化,各個廠商紛紛對Android進行的改造,摩托羅拉推出了Cliq,打得是SNS整合牌,三星的新系統也是被廣泛期待,而中移動的OMS丑媳婦也要見婆娘了,打著整合移動服務牌@_@的OMS,以丑陋的外貌、低下的SDK版本和雷死人不償命的宣傳文案(絕口不提Android,只說自己做了大量很NB的工作,其實...,哎,咋就那麼小家子氣呢...)也算是招來大量眼球。
而還是沒能耐住寂寞的Google,聯手HTC,一同推出了至今只為止最重量級的Android手機:Nexus One。江湖有雲:天下武功,無快不破。搭載了全新的Android 2.1,1G的CPU,史上最清晰的手機屏幕的Nexus One,快的是一塌糊塗迅雷不掩耳盜鈴小叮當,在單機層面,第一次使得Android手機與iPhone掰手腕的能力(之前與iPhone的比較,都需要依靠集團力量,三英戰呂布...)。
在各家廠商努力的同時,Android本身也沒有閒著,版本從1.1,一步步進階到了2.1,SDK的升級,伴隨著大量性能、接口的改進,和功能的豐富,Android變得越來越快,越來越省電,越來越豐富,越來越多Google服務被嵌入@_@。由於Android SDK是基於Java的,即便虛擬機做的很是NB,在某些情況下,性能也是無法與原生的C++代碼相提並論,於是,從1.5版起,除了 SDK,Android還擁有了NDK(Native Develop Kit),它提供了一些C++的庫和編譯環境(庫是真的很少...),開發人員可以基於C++寫底層庫,用Java寫上層邏輯,通過混編的方式,兼得魚和熊掌。
Android Market的發展也甚為迅猛,雖然和其鼻祖App Store相比,應用的規模和盈利能力還顯得比較幼齒,但其漲勢凶猛,發展趨勢遠勝於前輩。國內一些比較著名的手機軟件,也紛紛擁有了Android版本的小弟,比如網易有道的出品的有道詞典Android版(好吧,這是在插播廣告,歡迎大家進行圍觀並提寶貴意見...)。
起飛
種種跡象表明,2010,也許就是姗姗來遲的Android元年。三星,moto,LG,HTC等多家手機制造廠商,都為2010年將推出的半數以上的手機搭配了Android。在國內,移動的OPhone,丑媳婦要正式揭開蓋頭了,慘烈是慘烈了一點,但聊勝於無,除了水貨,2010畢竟至少多了條購買 Android手機的道路。
軟件開發方面,大家也從抱著雙臂冷眼旁觀的狀態,進入到了一種伺機而動的戰略准備階段。前不久召開的moto開發者大會,驚現國內各領域的公司,試水開始,可見一斑。國內各個山寨的Market的,也越來越貨源充足,下載量穩步上升,升溫,就在當下。
而隨著G2為首的Android水機價格火速下調,身邊路邊地鐵邊,可以看到越來越多的人,把玩著各式各樣的Android手機,狀況尤為喜人。
所以,2010,如果你有心,就做好准備吧。