Upload
ccpcheng
View
206
Download
2
Embed Size (px)
Citation preview
基於軟硬整合觀點
By By 高煥堂高煥堂 [email protected] [email protected]
海峽兩岸海峽兩岸智慧電視智慧電視&&家庭商業策略與技術論壇家庭商業策略與技術論壇http://home-cloud.blogspot.tw/http://home-cloud.blogspot.tw/
擬定跨平跨平台台的的““實踐策略實踐策略””
內容內容
1. 回顧:探索策略方向2. 擬定實踐策略3. 簡介:一個造形 & 三個策略4. 策略-1: 把它”EIT(設計)”了5. 策略-2:挾天子以令諸侯6. 策略-3:建立中介軟體(middleware)
基於軟硬整合觀點11、、回顧:回顧:探索策略方向探索策略方向
前言
發現一個
不起眼的事實
我們的模組都依賴於別人 訂定的接口(Interface)上。
• 這是一個驚奇的發現,但卻很不起眼。這意思是,我們心中有個<不自覺的假設>(四項架設性思維的#1思維):
Assumption: “平台訂定、提供API給上層Client使用”是合情合理的(像真理一般)。
• 當我們反思一下,就會發現這項假設,大大局限了我們的視野和創意,讓我們會無視於上述的驚奇事實(視而不見)。所以,我才說這項發現是不容易的,因為不在視野之內,就是俗稱的”不起眼”。
I
Client
1. get_module()
HAL框架
Stub
2. open()
3. set_on()等 HAL-Driver
I
• 基於這項不起眼的新發現事實,做了大膽的假定:
• 若擁有接口制定權,就能大幅降低對平台的依賴性(提高跨平台性)。
假定:若擁有接口制定權,就 能大幅提高跨平台性。
H(假定)
P
Q若擁有接口制定權,就能大幅提高跨平台性。
H
取得接口 制定權。
大幅降低對平台的依賴性(提高跨平台性)。
• 引導我們去探索、發現和確認新事實:
☆EIT造形確能有效封裝別人的介面,包括Android框架API和晶片驅動的 API。
P
Q若擁有接口制定權,就能大幅提高跨平台性。
H
運用EIT造形來封裝別人API,並制定自己API。
大幅降低對平台的依賴性(提高跨平台性)。
擬定”基本跨平台策略”
於是,獲得了策略的訂定方向了:
• What:擅用EIT造形。• How-to:封裝別人API,制定自己API。
基於軟硬整合觀點22、、擬定實踐策略擬定實踐策略
• 剛才經歷了創意過程,從遙遠願景和複雜景象中,透過<假定-否證>的過程而淬煉出簡單的策略方向。
運用EIT造形來封裝別人API,並制定自己API。
掌握接口 = 擁有話語權
• 這個從複雜到簡單的過程,稱為”減法設計”,這是一個創意性高、難度大的過程。
• 一旦得到簡單了,就能從簡單中掌握複雜,只過程稱為”加法設計”;相對于減法設計的高難度,加法設計就簡單多了。
減法設計
• 經由上述的創意過程,一旦探索出來”策略方向”,就能輕易引領大家來討論、共同制定出具有可實踐性的策略方案:
加法設計
• 策略一:把它”EIT”了。• 策略二:挾天子以令諸侯。• 策略三:建立中介軟體。
一個造形,三個(實踐)策略
EIT
EIT
跨Android大平台
EIT
跨Android大平台策略:挾天子以令諸侯
EIT
跨Android大平台策略:挾天子以令諸侯
跨晶片小平台
EIT
跨Android大平台策略:挾天子以令諸侯
跨晶片小平台策略:把它<EIT>了
EIT
跨Android大平台策略:挾天子以令諸侯
跨晶片小平台策略:把它<EIT>了
跨自己的平台
EIT
跨Android大平台策略:挾天子以令諸侯
跨晶片小平台策略:把它<EIT>了
跨自己的平台策略:建立中介軟體
跨平台實踐策略
一個造形和三個策略
• 一個EIT造形• 三個實踐策略:
– 策略-1:把它”EIT(設計)”了– 策略-2:挾天子以令諸侯– 策略-3:建立中介軟體(middleware)
• 待會兒,就來簡介一下這三個實踐策略。
基於軟硬整合觀點33、、簡介簡介: 一個造形 & 三個策略
前言
減法設計
從複雜軟體中設計出簡單
從複雜中設計出簡單從複雜中設計出簡單
F = ma
E = mc^2
減法設計
• 茲回憶,於十七世紀中,牛頓提出了簡單公式(即造形):F=ma;讓人們能輕易理解物體運動的複雜<關係>。
• 再如,于二十世紀初,愛因斯坦發表了簡單公式:E=mc平方;讓人們能理解複雜的品質、能量與光速之間的複雜關係。
EIT造形
也是減法設計
從複雜軟體中設計出簡單
• 這個從複雜到簡單的過程,稱為”減法設計”,這是一個創意性高、難度大的過程。
• 一旦得到簡單了,就能從簡單中掌握複雜,此過程稱為”加法設計”;相對于減法設計的高難度,加法設計就簡單多了。
• 經由上述的創意過程,一旦探索出來”策略方向”,就能輕易引領大家來討論、共同制定出具有可實踐性的策略方案:
加法設計
EIT
EIT
跨Android大平台
EIT
跨Android大平台策略:挾天子以令諸侯
EIT
跨Android大平台策略:挾天子以令諸侯
跨晶片小平台
EIT
跨Android大平台策略:挾天子以令諸侯
跨晶片小平台策略:把它<EIT>了
EIT
跨Android大平台策略:挾天子以令諸侯
跨晶片小平台策略:把它<EIT>了
跨自己的平台
EIT
跨Android大平台策略:挾天子以令諸侯
跨晶片小平台策略:把它<EIT>了
跨自己的平台策略:建立中介軟體
跨平台實踐策略
一個造形和三個策略
• 一個EIT造形• 三個實踐策略:
– 策略-1: 把它”EIT(設計)”了– 策略-2:挾天子以令諸侯– 策略-3:建立中介軟體(middleware)
基於軟硬整合觀點44、、策略-1: 把它”EIT(設計)”了
◎ 小平台是指別人的平台,該平台的變化決定於別人。例如,由供應商提供一個平台,如下圖:
通常是供應商提供的
◎ 我們(自己)的平台或模組,直接使用了別人平台的API,如下圖:
違背跨平台
◎ 我們定義了自己的介面,來容納別人(小)平台的變化。如下圖:
EI
T
(小平台)
• 類似于建立監獄將壞人封裝起來,來確保大員外(我的模組)的安全與自由。
建立監獄將壞人封裝起來
基於軟硬整合觀點55、、策略-2: 挾天子以令諸侯
<Android框架>
I
<A> <T>
<我的module>
<A> <T>
<Android框架>
Stub(曹操框架)
I
<A>
<T>
<E&I> Stub
<Android框架>
(曹操框架)
• 曹操框架定義了自己的新接口,來保護我的模組的變動自由度。
• 類似于建立四合院圍牆,來保護大員外(我的模組)的安全與自由。也像建立台北城牆,來保護城內居民(我的模組)的安全和自由。
將壞人擋在牆外
基於軟硬整合觀點66、、策略-3: 建立中介軟體(middleware)
曹操框架能夠保護大員外<我的module>的變動自由度和穩定性。
Stub就
是
曹操類
擺脫掉App
的束縛(即
跨App了)
曹操框架擴大成為一個平台框架
中介軟體
• 類似于建立萬里長城,來保護所有關內居民(我的各種版本的模組)的安全與自由。
最著名的中介軟體:微軟的 .NET框架
基於軟硬整合觀點77、、结语
• A段架構師,從複雜中找到簡單的實踐策略,這是做減法設計,難度較高。
• 一旦找到簡單了,則人人都能從這項簡單中掌握了複雜,獲得跨平台的普遍性,迅速擴大市場,抓住商機。(加法設計)
Thanks…