——感言龍的傳人應識變求活
高煥堂老師近照(攝于臺灣)
【寫在前面】:2010年3月4日8時18分50秒,在臺灣高雄縣、屏東縣交界發生6.7級地震。正是上班時間所以新聞傳播很快,我在第一時間想到在臺北的高煥堂老師,在網上找到他詢問可好,他這樣告訴我:很小、很習慣了,搖得很舒服,最近常常搖。我提醒他要小心,他說:不怕,吉人自有天相!
【訪談背景】:
2007年11月Android誕生,自誕生之日起Android就引發了手機操作系統的“開源”與“封閉”之爭。Android作為后起之秀以其獨特的魅力在2年多時間里表現出非凡的成長力和活躍度。然而最近有些言論表示出對Android開源的懷疑及對其平臺不兼容性的自我毀滅之說,究竟我們是不是應該繼續看好Android?Android的未來發展又將如何兼容用戶、開發商和更多方的需求?開發者社區特邀請Android教父高煥堂老師來與大家共同探討。
高煥堂老師為我們圍繞四個方面進行話題闡述:Android的發展史、客觀看待Android發展中問題、中移動如何推動Android良性發展、借Android終端積極發展云計算,現將觀點呈現,供廣大開發者借鑒。
一、Android的發展史標志全球手機操作系統“開源史”
Android誕生2年多時間,以其迅猛的發展速度,不禁令行業老大Symbian和Windows Mobile瞠目,而從它誕生之日起就引發了手機操作系統的“開源”與“封閉”之爭,甚至刮起了全球的“開源風”。
開發者社區: 您認為谷歌推出基于Linux平臺的Android手機操作系統,其主要原因是什么?
高煥堂: 因為Linux容許多樣化發展,Google有機會在Linux基礎樹干上,開花結果。
開發者社區: Android操作系統的最大優勢有哪些?
高煥堂: Android的架構非常漂亮,結合Java層、C++服務層與HAL驅動層,形成三層框架的美好架構。基于穩定的框架接口,包容了底層Linux的彈性多變和百花齊放。非常符合軟件架構設計的最根本原則:開放/封閉原則(OCP,Open Closed Principle),基于這個原則,才能替底層Linux驅動軟件和硬件族群帶來“沒錢就改版,改版就有錢”的IT產業賺錢原則。
開發者社區: iPhone和Symbian在Android誕生初期是否看好這個操作系統,他們又是如何表現的?
高煥堂: 從歐美企業的角度比較難以看出Android的潛在生命力,所以在Android誕生初期,他們并不太在意。iPhone繼續發展其嶄新獨特的商業模式;Symbian也只是開始考慮開放其平臺而已。然而,從亞太地區產業就能看出Android誕生帶來的特殊意義。這層意義,我在2008年元月份的<<程序員>>雜志(在Android上市剛滿月),曾經指出Android將在海峽兩岸下起巨大的“幸運草種子”雨,帶來全新的產業。
開發者社區: Nokia苦于Symbian的封閉,一直向開源而努力,曾推出Maemo,雖以失敗告終,但最近又與Intel共同推出了Meego,這是否表明開源已是大勢所趨?
高煥堂: 開源只是手段,開放才是目的。要開放給所有人來參與,尤其是提供免費框架(Framework),開放框架的API給應用開發者,才是關鍵。開源只是必備條件,但并非充分條件。
開發者社區: 據今年3月的報導,谷歌和RIM移動互聯網流量份額增長iPhone份額下滑,但差距仍很大,分別為蘋果64%、Android15%、RIM份額約9%,對此數據您如何來分析?
高煥堂: 手機只是Android的應用環境之一,非手機的應用更是Android在亞太地區蓬勃發展的巨大潛在空間。盡管如是,我預估Android的市場占有率將以每個月增加0.5% ~ 1.5%繼續成長。成長速度超過iPhone和RIM。
開發者社區: 嵌入式操作系統,應該開源還是封閉?這個話題廣為熱議卻始終未有定論,您站在開源立場,能否為我們舉出原因?
高煥堂: 我常拿桌子來比喻軟件架構。桌子包含桌上(的東西)、桌面和桌腳三部分。桌上和桌腳要開放但不一定開源。桌面盡量不開放但要開源。例如,Android/OPhone的應用程序是桌上的東西,開放給所有人去開發。Android/OPhone的應用框架層式桌面宜開源,有限度開放,由Google或中移動主導其穩定性。框架之下的內庫(Library)是桌腳,開放但不一定開源。以上是從Android角度看的。如果從嵌入式操作系統(如Linux)看,Android框架和應用都是桌上的東西,而Linux本身則是桌面,至于驅動軟件則是桌腳。所以Linux本身宜開源而有限度開放;驅動軟件則開放而不一定開源。
二、客觀看待Android發展中問題龍的傳人應識活求變
“善變本是常態,是生命活力,不變是死亡,龍就是變的代表;我是龍的傳人,我愛生命活力。”——高煥堂
開發者社區: 開源,不一定會成功,封閉,也不一定會失敗,近期有人懷疑Android開源的正確性,對此您的看法呢?是開源必勝還是二者并存?
高煥堂: 開源而不開放,并無法帶來商業利益。開放不一定要開源,也能帶來商業利益。所以焦點不在于開源,而在于開放。例如,Android/OPhone雖然開源,但其AP市集的開放程度就有些不同,在手機設備上加載應用軟件或底層程序庫的開放程度也大不相同。此外,我也鼓勵AP開發者大力開發軟件框架和底層軟件模塊,然后打包成共享庫(Shared Library),然后封閉起來銷售而不開源。這也符合Android的一貫路線。同樣地,我也一直建議OPhone要開放給所有人來貢獻和充實其應用框架和底層內庫,但這些內庫可以不開源。
開發者社區: Android發展過快,也引發了版本不兼容導致用戶升級受阻和軟件開發商要開發多個版本軟件的繁冗工作,甚至有分析稱Android已成大量不兼容設備的起點,這是杞人憂天還是庸人自擾?對于擁護Android的開發者來說應該如何進行抉擇?
高煥堂: 開發一個軟件系統就如同制造一部汽車。如果我們期待一部完整的汽車(如同一個完整可執行的Android應用軟件)能在沙灘上面跑,也能在街道上面跑,也能在高山雪地里跑,這是非常不務實的愿望。所以,期待一支Android應用軟件能跨平臺,在所有的Android軟硬件平臺上跑,也非求實求是的態度。看來,這個問題似乎無解,其實非常容易。將汽車輪胎摘掉,只留下接口就行了。在計算機硬件上,將許多外圍設備(如鼠標、USB碟等)拔掉,留下USB、RS232等接口),就得到主機板(Motherboard)。在計算機軟件上,許多應用子類(Subclass)拔掉,留下基類(Base Class或Super Class),就得到軟件框架(Framework)。基于這個理由,自從2008年4月份我出版第一本Android書籍,其書名就是應用框架原理,唯有兼顧應用程序(Application開發和應用框架(Framework)開發的同步進展,才能化解上述的困擾。
開發者社區: 對于新投入到Android開發隊伍中的新人來說,應該怎樣著手開展學習?期待您能夠為他們指點迷津!
高煥堂: 在亞太地區,目前投入到Android軟件開發最多的有三個族群:1)熟悉Linux(驅動)族群、2)熟悉J2ME族群、3)熟悉iPhone族群。他們已經不是開發和技術的新人,只是Android的新人而已。所以適合從Android的整體架構展開學習,包括:Android的UI架構、進程和IPC通訊機制、線程模式、JNI接口、HAL(驅動)接口等。如此達到知己(已經熟悉的部份)又知彼(Android架構),兩者結合后,再仔細瀏覽Android框架里的各項服務(如藍牙、電話、SMS、MMS、WebView等)。至于,都沒有編程經驗的純粹新人,我建議心理上先有所準備:Java和C/C++都將是必需學習的。既然Android是開放開源平臺,Android的上、中和底層一起學習,讓自己的未來出路能往上發展做應用(云端)服務,也能往下發展做軟硬整合,豈不美哉!
三、中國移動宜發揮手機應用推動Android良性發展
自古,千里馬遇到伯樂,傳為佳話;今天,OPhone平臺框架是千里馬;我們,要愛馬、知馬和養馬的伯樂。——高煥堂
開發者社區: Android自發布至今2年多的時間,取得了哪些成績,請您為我們簡要概括?
高煥堂: 就亞太地區而言,Android帶來機會,給人人都有機會參與Android產業鏈的各個環節。就教育而言,開源和開放帶來深度(如Android內部結構)而自主的研發和創新機會。例如,在臺灣的100多所大學里,都各自建立了Android手機實驗室,將硬件、軟件與內容(Content)設計的各領域學生匯集一堂共同研發。就業界而言,全球的IT大廠已經紛紛推出眾多Android手機(如臺灣HTC、大陸華為、韓國三星、日本Sony Ericsson、美國Motorola等。除了手機之外,各式各樣的Android手持設備(如電子書、機頂盒等)也紛紛上市。在軟件上,目前Android Market應用商店中免費和付費應用的數量已經達到3萬多款。
開發者社區: 目前Android已有多少個版本?還存在哪些問題困惑著廣大開發者?
高煥堂: 目前大家熟悉的有Android 1.5、1.6、2.0和2.1四種版本。版本的快速更替,本身沒有好與壞,甚至是活力十足的現象。開發者是否會被其所困惑決定于其心境了。Android架構設計之美就在于處處確保底層系統(服務、驅動和硬件)的變動自由度。Android整體系統如同一棵樹一般,上層應用像樹葉、應用框架像樹干、類庫和驅動像樹根。樹根部分的彈性成長,是有機成長的自然現象。凡是務實或熱愛自然的開發者,都會以歡喜心來迎接改變與成長,何來困惑自己呢?易經第一掛:干掛,代表“天”,以龍為象征物。易經的“易”就是變,龍則見首不見尾。龍的傳人識變求活,樂于包“容”改變(即“易”),則事事無所困惑、輕松“容易”。
目前困惑廣大開發者的是:模仿蘋果App Store的Android App Market是不是有效的商業模式。這是銷售面的問題,而版本更替的煩惱是生產面的問題,如果只關注于生產,而不用心尋找新的商業模式,顯然是舍本逐末了。
開發者社區: 如果把Android比作是Google投出的一顆球,那么您認為在這之后,臺灣、中國移動和日本應分別擔當什么角色?
高煥堂: 亞太地區是Android推展的主要力量。就像打棒球一樣,2007年底美國Google投出一顆球(Android)。2008年底臺灣HTC揮出第一棒。2009年底大陸中移動揮出第二棒。Google的軟件、HTC的硬件、中移動的通信,結合起來支撐Android的茁壯成長。但是,這樣還不夠,因為這些只是平臺而已。只有舞臺是不夠的,還必須有劇本、演員等才能演京劇,不是嗎?無論劇本或演出都需要文化、設計與藝術,才有精湛的蘊涵。在Android平臺上,應用軟件和內容(Content)就如同演員和劇情,都需要文化、設計與藝術。這十多年來,臺灣和大陸地區在軟硬件與文化設計整合上鮮少用心,而日本設計一直都舉世聞名(如Wii系統),韓國對設計極為用心,成效直逼日本。因此,在我看來,由日韓企業揮出第三棒的可能性極高。
開發者社區: 中國移動發展自己的OMS系統并推出OPhone手機,這與Android是否相輔相乘,互為利好?
高煥堂: 基于開源Android的優越架構,很容易衍生出OPhone平臺(OMS),這也是Android旺盛生命力的表現。可預期的,OPhone平臺將會有獨特性的發展,但會盡量與Android保持兼容。在前面,我已經提過,不要期待Android應用程序能完全不修改而能在Android手機和OPhone手機上跑。反而,要包容底層類庫、驅動的多樣化,替OPhone而量身訂做底層類庫、驅動,以充分發揮OPhone平臺的特色和差異化。同樣地,替各廠家的Android手機而量身訂做底層類庫、驅動,來充分發揮其特色和差異化。以軟件發揮硬件的多樣化和差異化,以硬件去創造軟件的大量復制,就是我一直提倡的“軟硬整合”的真諦。Android以框架做為中間層,它將上層的應用程序與底層的類庫(和驅動)分隔開來,以確保底層類庫和驅動能有變動的自由度,才能有效發揮硬件的差異化。這些差異化的獨特功能就是硬件開發者的創新,必須表現于中間框架層,所以框架工程師必須去擴充Android的框架層,但盡量維持兼容性。于是,上層應用開發者就能享受框架層所擴充的創新API了,因而帶動應用程序的多樣化和差異化。唯有差異化和獨特性才能帶來高獲利;反之,迷失于跨平臺的烏托邦里,只能創造均貧的產業。君不見,無論是Facebook、Twitter、Apple等無不依賴獨特性和差異化而獲得高利潤,才能出類拔萃,平步青云。
開發者社區: 中國移動應如何進行自身定位并扮演好現有角色?
高煥堂: 我是非常支持中移動努力發揮Android的開放特性,創造出OPhone的獨特性;其致力結合硬件,推廣在3G的各項服務和應用。在教育上,也積極推動大量相關人才的培訓計劃。目前,其自身定位,我認為是可圈可點的。但是,這些只是踏出美好的第一步而已,未來加速發展的方向才是更加重要的。至今,中移動致力于OPhone平臺軟件的發展,但對于應用軟件開發用心方向,還有必要大幅調整。中移動必須表現出對應用開發者的貼心和愛心,要積極與內容(Content)提供者談合作,因為個別的應用開發者是沒有能力去與內容提供者談出有利的商業合作條件。其作法如下:
1.中移動積極與各領域的內容提供者(含相關通路商)談合作。
2.結合更多文化設計工作者來對各個特定領域內容(Domain-Specific Content)進行創意加工。
3.結合軟件架構工程師,將各個特定領域內容進行抽象(Abstraction),抽離出領域內共通的部份,并表現于中間層的領域框架(即Domain-Specific Framework)。其差異部份留給上層應用程序開發者去加工。
4.領域框架的共享代碼,替上層應用開發者節省大量的工作量,因而加速應用的開發,也提升應用開發者的獲利。
于是,我以系統思考圖來呈現上述作法的因果關系:
系統思考圖強調如何發現影響系統的因子。圖中顯示有三項重要的外來因子,如果有效強化這些因子,系統會呈現正面循環,即正滾雪球,愈滾愈大。反之,會呈現負循環(如AP數量變少、AP開發利潤下降、服務貧乏等)。由此而觀之,中移動目前已經相當重視其中的兩項:
●積極委外給硬件廠商,增加手機設備款式并促銷。
●積極委外給培訓機構,訓練大量的AP開發者。
然而,對于呈載內容、設計和文化的領域框架部份,中移動尚未呈現積極作為。由于領域框架直接影響到AP開發的成本,是個關鍵性因子。所以,我建議:中移動積極與內容提供者談好商業合作,然后積極委外給文化設計者和軟件架構開發者,大量發展高質量的應用領域框架,而中移動則專注于框架的整體和諧即可。
四、借Android終端積極發展云計算
開發者社區: 目前“云計算”是個熱門話題,您認為Android與云計算向怎樣結合的方向發展?
高煥堂: 云計算概念包含:云服務和端應用。Android是目前最具潛力的移動端平臺。我大多從海峽兩岸的產業合作來看Android的角色。至今,臺灣幾乎主導全球所有的IT硬件供應練,大陸則掌握所有硬件生產線;Android的開源和開放架構,正好替兩岸帶來巨大的軟硬整合機會。兩岸的巨大硬件產業將百花齊放,各自發揮創意,呈現多樣性和差異化。
大陸的通訊和網絡服務業規模逐漸稱霸全球,可預估,大陸地區的云服務量會迅速成長,Android在移動端的內容呈現角色,愈來愈重要。
因之,在水平方向無遠弗屆的云端服務商業模式里,Android處于關鍵地位。在垂直方向深度的軟硬整合商業模式里,Android也處于核心地位。目前,Android正與上述的水平與垂直兩方向密切結合,同步發展中。
開發者社區: 您能否為我們勾畫出不遠的未來,我們的生活因“云”而變?
高煥堂: 龍的傳人無不向往著平步青云、飛龍在天。就用戶而言,未來3G、4G通訊和移動端設備的迅速發展,用戶輕松愉快活在無所不在的云服務之中。例如,電子書能輕松倘佯于全球浩瀚的知識海洋里,也能悠游于開心農場里。就開發者而言,隨時開發云服務軟件,掛到云里,讓全球享用,收取費用。同時,也帶動了文化設計產業,創造無限的新奇內容,更豐富了用戶的心靈。雖然,詩人徐志摩說:揮揮衣袖,不帶走一片云彩。今天,Android卻能讓徐志摩把云彩放入衣服口袋里,隨意帶著走。
文章來源: http://dev.10086.cn/news/interview/2470.html
感言:站得高,看得遠。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
