Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> Android贏家密碼(一):什麼是贏家密碼

Android贏家密碼(一):什麼是贏家密碼

編輯:高級開發

移動開發已經毫無爭議地成為軟件領域的發展趨勢,嶄新的領域和模式不僅僅為各個廠商,也會普通的開發者打開了一扇阿裡巴巴之門。本文摘取自台灣知名技術專家,台灣公認的“OO教父”和“android教父”高煥堂尚未出版的第五本Android書籍《android贏家密碼》,希望大家喜歡。

強龍不壓地頭蛇

自古有言:“強龍不壓地頭蛇”。這是來自<<西游記>>第 45 回裡所寫的:

“你也忒自重了,更不讓我遠鄉之僧;

也罷,這正是強龍不壓地頭蛇。”

強龍不壓地頭蛇,其意味著:

強龍不會檔住地頭蛇的財路,

反而會協助地頭蛇不斷成長。

相對上,木瓜樹就是“強龍”角色;而小鳥則是“地頭蛇”角色。木瓜免費提供又紅又甜的木瓜肉給小鳥吃,讓小鳥長得強壯,能飛得更遠。此外,還把木瓜種子做很精致的方式包裝,讓種子既不會傷害小鳥,而且種子也不會被小鳥所傷害(例如被消化掉)。如此,木瓜幫助小鳥長大,愈強壯小鳥就能夠將木瓜種子攜帶到愈遙遠的新土地上,大圖拓展了木瓜的地盤。強龍與地頭蛇形成一個極佳的雙贏合作模式:

強龍幫助地頭蛇成長壯大。

地頭蛇幫助強龍拓展版圖。

以 android 手機平台為例,谷歌 扮演“強龍”角色;而 AP 開發者則扮演“地頭蛇”角色。谷歌 也盡到強龍的任務:

提供 Android 框架 API 和 Android SDK(含 android NDK)兩道奶水,協助 AP 開發者(即地頭蛇)。

AP 開發者也盡到責任:

到了2011年初,全球的Android AP開發者已經替谷歌強龍開發出超過 10 萬支的 AP(即以奶水去養了 10 萬個活潑可愛的小孩),讓android手機版圖持續擴大,躍升為全世界最暢銷的智能型手機了。這也等於幫助 谷歌 拓展了版圖。

以 android業模式為例

谷歌強龍希望 android 平台能支撐它在手機、家電產業上的強龍的地位。除了上述的 AP 開發者之外,谷歌 還有另一種地頭蛇:硬件廠。因此,谷歌身旁有兩種主要的地頭蛇:AP開發者和硬件廠;其中 AP開發者撰寫手機應用軟體,而硬件廠則開發手機硬件組件。如下圖所示:

谷歌 的願望:擁有強龍商業地位
圖 1-25 谷歌 的願望:擁有強龍商業地位

谷歌為了站穩商業強龍地位,它必須協助兩種地頭蛇去完成他們各自的任務。於是 谷歌 開發手機平台軟件(即 android 平台),內含兩種框架(含 API):

Java 層應用框架(Apppcation Framework),它用來銜接應用子類。

HAL(Hardware Abstraction Layer)驅動框架,它用來銜接硬件組件的驅動程序(Driver)。

然後將上述框架當做禮物,分別贈送給 AP 開發者和硬件廠。如下圖所示:

上述框架

android 框架就是一個完美的范例,主要元素包括:

框架內含基類及主動型 API。

基類裡的程序碼是魚餌。

主動型 API 則是魚鉤。

框架是一種極為特殊的禮物。

這種“強龍/地頭蛇”商業模式,很類似於大家熟悉的“加盟”體系。谷歌 開發android 框架來送人,強力支撐其全球分工和營銷的加盟體系,如下圖:

Android 框架支撐 谷歌 的全球加盟體系
圖 1-27 android 框架支撐 谷歌 的全球加盟體系

強龍必須培養、組織和照顧眾多的地頭蛇(即加盟者),才能讓自己成為盟主(即強龍)。由於大強龍個數不多,條件也高,不是人人都有機會。因此,從“強龍/地頭蛇”商業模式再衍生出新型的“強龍/小強龍/地頭蛇”商業模式。於各領域中,具有特定領域(例如智能電視、車載地圖、網絡游戲等)的公司,皆能開發出特殊的領域框架(Domain-Specific Framework,簡稱為 DSF),就能扮演“領域強龍”角色,而擁有自己的地頭蛇了。相對於 android 大框架,這種 DSF 則稱為小框架。做大框架者是大強龍;做小框架者是小強龍(即領域強龍)。小框架可以融合到大框架裡,它充實大框架的內涵,讓大強龍、小強龍、和地頭蛇共三方皆獲利,形成“三合”的美好商業模式。於是,三合(即大強龍、小強龍和地頭蛇的合作)的巨大效益為:

以手機硬件為例,小框架能有效創造硬件的差異化、多樣化,大幅提升附加價值。

就小框架而言,硬件的大量生產,創造小框架的大量復制機會。

Why,框架 API?

前面已經敘述了,熱情地關注 API,即能發現藏在隙縫裡的成功密碼,成為幸運的贏家。前面也已經說明了,框架就像萬裡長城,其 API 就像長城的關口(如居庸關等),而且也拿一棵樹來做比喻,說明 API 的角色:

HAL 框架的 API 就位於樹干與樹根(即驅動程序)的銜接處。

應用(AP)框架的 API 就位於樹干與枝葉(即 AP)的銜接處。

然而,很多人提出疑問:提供API的途徑何其多? 為何特別強調“框架”的API呢? 例如,一般程序庫(pbrary)也提供API給開發者使用、網絡服務(Web Service)也是一種API,為何只談框架API呢? 為了回答這問題,必須回顧過去20年來的軟件發展經驗了。其中有兩項重要的事跡:

1980年代後期,CORBA是一項物件導向的服務標准API,實現此項標准的系統中,最著名的商業中間鍵軟件就是Orbix系統。然而,在系統架構上,API是一種制約力量,不是一種禮物,不能用來嘉惠予AP開發者。導致CORBA和Orbix系統架構無法支撐理想的商業模式,而終告消失匿跡。

1990年代中後期,繼CORBA之後的是Microsoft公司推出COM/DCOM系統架構,雖然提供了當時先進的物件導向(Object-OrIEnted)的API,但還是API,仍然是一種制約力量,不是一種禮物,不能用來嘉惠予AP開發者。與CORBA和Orbix一樣的系統架構,一樣無法支撐理想的商業模式,也終告消失匿跡。

後來,IT業界逐漸發現:API可用來框住應用程序(AP),如同一把利劍;若要獲得開發者的青睐,利劍必須搭配面包,就像釣魚鉤必須搭配魚餌,才能吸引魚群。於是,Microsoft改變觀點,把焦點放在面包上,發現物件導向技術裡的抽象類別(Abstract Class)及其提供的預設函數(Default Function)以及其他具體類別,所整合而成的框架(Framework)正式一項極具誘惑力的魚餌。此外,由框架所提供的主動型 API,也能發揮巨大的控制力。因之,Microsoft於2001推出.NET框架來取代COM/DCOM,由於.NET框架融合了面包與利劍,既能嘉惠廣大的開發者,又能有效框住眾多的應用程序。.NET框架是Microsoft贈送給廣大的開發者的最佳禮物,表達了Microsoft對全球廣大第三方開發者關懷和愛心,讓他們因.Net而受惠。

到了2007年,谷歌也依樣畫葫蘆,買來Android框架,當成禮物贈送給全球的手機硬件廠商,也贈送給全球廣大的 AP 開發者。由於 Android 框架“禮物”嘉惠予硬件廠商,所以全球的硬件廠商也是受惠者,因而大力支持 Android,也讓Android聲勢扶搖直上。android框架是面包與利劍的融合體,不僅嘉惠予硬件廠商,也嘉惠予全球數以萬計的廣大 AP 開發者,同時也主導了這些開發者。

由於谷歌熱情投入開發框架 API,並當成禮物來送人,除了嘉惠眾多硬體廠商,也嘉惠了全球的 AP 開發者,讓人人能擁有“沒錢就改版,改版就有錢”的利益。古賢者老子說:“聖人無積,既以為人己愈有,既以予人己愈多。”從歷史可知,秦始皇、漢武帝熱情投入萬裡長城的興建,而成為最大獲利者。如今,谷歌 和微軟都熱情投入軟件框架的開發,而成為幸運的最大贏家。

關於作者

高煥堂,台灣軟件架構設計大師,從事IT行業近30年,被稱為“台灣OO技術教父級代表人物”。現任MISOO軟件開發與管理顧問公司首席架構師,編著過十余本軟件技術相關書籍。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved