65
By By 高煥堂 高煥堂 [email protected] [email protected] 海峽兩岸 海峽兩岸 智慧電視 智慧電視&家庭商業策略與技術論壇 家庭商業策略與技術論壇 http://home-cloud.blogspot.tw/ http://home-cloud.blogspot.tw/ 擬定 跨平 跨平 實踐策略 實踐策略

Part a03 a段架構師-擬定跨平台實踐策略_twok

Embed Size (px)

Citation preview

Page 1: Part a03 a段架構師-擬定跨平台實踐策略_twok

基於軟硬整合觀點

By By 高煥堂高煥堂 [email protected] [email protected]

海峽兩岸海峽兩岸智慧電視智慧電視&&家庭商業策略與技術論壇家庭商業策略與技術論壇http://home-cloud.blogspot.tw/http://home-cloud.blogspot.tw/

擬定跨平跨平台台的的““實踐策略實踐策略””

Page 2: Part a03 a段架構師-擬定跨平台實踐策略_twok

內容內容

1. 回顧:探索策略方向2. 擬定實踐策略3. 簡介:一個造形 & 三個策略4. 策略-1: 把它”EIT(設計)”了5. 策略-2:挾天子以令諸侯6. 策略-3:建立中介軟體(middleware)

Page 3: Part a03 a段架構師-擬定跨平台實踐策略_twok

基於軟硬整合觀點11、、回顧:回顧:探索策略方向探索策略方向

Page 4: Part a03 a段架構師-擬定跨平台實踐策略_twok

前言

Page 5: Part a03 a段架構師-擬定跨平台實踐策略_twok

發現一個

不起眼的事實

Page 6: Part a03 a段架構師-擬定跨平台實踐策略_twok

我們的模組都依賴於別人 訂定的接口(Interface)上。

Page 7: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 這是一個驚奇的發現,但卻很不起眼。這意思是,我們心中有個<不自覺的假設>(四項架設性思維的#1思維):

Assumption: “平台訂定、提供API給上層Client使用”是合情合理的(像真理一般)。

Page 8: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 當我們反思一下,就會發現這項假設,大大局限了我們的視野和創意,讓我們會無視於上述的驚奇事實(視而不見)。所以,我才說這項發現是不容易的,因為不在視野之內,就是俗稱的”不起眼”。

Page 9: Part a03 a段架構師-擬定跨平台實踐策略_twok

I

Page 10: Part a03 a段架構師-擬定跨平台實踐策略_twok

Client

1. get_module()

HAL框架

Stub

2. open()

3. set_on()等 HAL-Driver

I

Page 11: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 基於這項不起眼的新發現事實,做了大膽的假定:

• 若擁有接口制定權,就能大幅降低對平台的依賴性(提高跨平台性)。

Page 12: Part a03 a段架構師-擬定跨平台實踐策略_twok

假定:若擁有接口制定權,就 能大幅提高跨平台性。

H(假定)

Page 13: Part a03 a段架構師-擬定跨平台實踐策略_twok

P

Q若擁有接口制定權,就能大幅提高跨平台性。

H

取得接口 制定權。

大幅降低對平台的依賴性(提高跨平台性)。

Page 14: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 引導我們去探索、發現和確認新事實:

☆EIT造形確能有效封裝別人的介面,包括Android框架API和晶片驅動的 API。

Page 15: Part a03 a段架構師-擬定跨平台實踐策略_twok

P

Q若擁有接口制定權,就能大幅提高跨平台性。

H

運用EIT造形來封裝別人API,並制定自己API。

大幅降低對平台的依賴性(提高跨平台性)。

Page 16: Part a03 a段架構師-擬定跨平台實踐策略_twok

擬定”基本跨平台策略”

於是,獲得了策略的訂定方向了:

• What:擅用EIT造形。• How-to:封裝別人API,制定自己API。

Page 17: Part a03 a段架構師-擬定跨平台實踐策略_twok

基於軟硬整合觀點22、、擬定實踐策略擬定實踐策略

Page 18: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 剛才經歷了創意過程,從遙遠願景和複雜景象中,透過<假定-否證>的過程而淬煉出簡單的策略方向。

Page 19: Part a03 a段架構師-擬定跨平台實踐策略_twok

運用EIT造形來封裝別人API,並制定自己API。

掌握接口 = 擁有話語權

Page 20: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 這個從複雜到簡單的過程,稱為”減法設計”,這是一個創意性高、難度大的過程。

• 一旦得到簡單了,就能從簡單中掌握複雜,只過程稱為”加法設計”;相對于減法設計的高難度,加法設計就簡單多了。

減法設計

Page 21: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 經由上述的創意過程,一旦探索出來”策略方向”,就能輕易引領大家來討論、共同制定出具有可實踐性的策略方案:

加法設計

Page 22: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 策略一:把它”EIT”了。• 策略二:挾天子以令諸侯。• 策略三:建立中介軟體。

一個造形,三個(實踐)策略

Page 23: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

Page 24: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

跨Android大平台

Page 25: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

跨Android大平台策略:挾天子以令諸侯

Page 26: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

跨Android大平台策略:挾天子以令諸侯

跨晶片小平台

Page 27: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

跨Android大平台策略:挾天子以令諸侯

跨晶片小平台策略:把它<EIT>了

Page 28: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

跨Android大平台策略:挾天子以令諸侯

跨晶片小平台策略:把它<EIT>了

跨自己的平台

Page 29: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

跨Android大平台策略:挾天子以令諸侯

跨晶片小平台策略:把它<EIT>了

跨自己的平台策略:建立中介軟體

Page 30: Part a03 a段架構師-擬定跨平台實踐策略_twok

跨平台實踐策略

一個造形和三個策略

• 一個EIT造形• 三個實踐策略:

– 策略-1:把它”EIT(設計)”了– 策略-2:挾天子以令諸侯– 策略-3:建立中介軟體(middleware)

Page 31: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 待會兒,就來簡介一下這三個實踐策略。

Page 32: Part a03 a段架構師-擬定跨平台實踐策略_twok

基於軟硬整合觀點33、、簡介簡介: 一個造形 & 三個策略

Page 33: Part a03 a段架構師-擬定跨平台實踐策略_twok

前言

減法設計

從複雜軟體中設計出簡單

Page 34: Part a03 a段架構師-擬定跨平台實踐策略_twok

從複雜中設計出簡單從複雜中設計出簡單

F = ma

E = mc^2

減法設計

Page 35: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 茲回憶,於十七世紀中,牛頓提出了簡單公式(即造形):F=ma;讓人們能輕易理解物體運動的複雜<關係>。

• 再如,于二十世紀初,愛因斯坦發表了簡單公式:E=mc平方;讓人們能理解複雜的品質、能量與光速之間的複雜關係。

Page 36: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT造形

也是減法設計

從複雜軟體中設計出簡單

Page 37: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 這個從複雜到簡單的過程,稱為”減法設計”,這是一個創意性高、難度大的過程。

• 一旦得到簡單了,就能從簡單中掌握複雜,此過程稱為”加法設計”;相對于減法設計的高難度,加法設計就簡單多了。

Page 38: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 經由上述的創意過程,一旦探索出來”策略方向”,就能輕易引領大家來討論、共同制定出具有可實踐性的策略方案:

加法設計

Page 39: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

Page 40: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

跨Android大平台

Page 41: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

跨Android大平台策略:挾天子以令諸侯

Page 42: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

跨Android大平台策略:挾天子以令諸侯

跨晶片小平台

Page 43: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

跨Android大平台策略:挾天子以令諸侯

跨晶片小平台策略:把它<EIT>了

Page 44: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

跨Android大平台策略:挾天子以令諸侯

跨晶片小平台策略:把它<EIT>了

跨自己的平台

Page 45: Part a03 a段架構師-擬定跨平台實踐策略_twok

EIT

跨Android大平台策略:挾天子以令諸侯

跨晶片小平台策略:把它<EIT>了

跨自己的平台策略:建立中介軟體

Page 46: Part a03 a段架構師-擬定跨平台實踐策略_twok

跨平台實踐策略

一個造形和三個策略

• 一個EIT造形• 三個實踐策略:

– 策略-1: 把它”EIT(設計)”了– 策略-2:挾天子以令諸侯– 策略-3:建立中介軟體(middleware)

Page 47: Part a03 a段架構師-擬定跨平台實踐策略_twok

基於軟硬整合觀點44、、策略-1: 把它”EIT(設計)”了

Page 48: Part a03 a段架構師-擬定跨平台實踐策略_twok

◎ 小平台是指別人的平台,該平台的變化決定於別人。例如,由供應商提供一個平台,如下圖:

通常是供應商提供的

Page 49: Part a03 a段架構師-擬定跨平台實踐策略_twok

◎ 我們(自己)的平台或模組,直接使用了別人平台的API,如下圖:

違背跨平台

Page 50: Part a03 a段架構師-擬定跨平台實踐策略_twok

◎ 我們定義了自己的介面,來容納別人(小)平台的變化。如下圖:

EI

T

(小平台)

Page 51: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 類似于建立監獄將壞人封裝起來,來確保大員外(我的模組)的安全與自由。

建立監獄將壞人封裝起來

Page 52: Part a03 a段架構師-擬定跨平台實踐策略_twok

基於軟硬整合觀點55、、策略-2: 挾天子以令諸侯

Page 53: Part a03 a段架構師-擬定跨平台實踐策略_twok

<Android框架>

I

<A> <T>

<我的module>

Page 54: Part a03 a段架構師-擬定跨平台實踐策略_twok

<A> <T>

<Android框架>

Stub(曹操框架)

I

Page 55: Part a03 a段架構師-擬定跨平台實踐策略_twok

<A>

<T>

<E&I> Stub

<Android框架>

(曹操框架)

Page 56: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 曹操框架定義了自己的新接口,來保護我的模組的變動自由度。

• 類似于建立四合院圍牆,來保護大員外(我的模組)的安全與自由。也像建立台北城牆,來保護城內居民(我的模組)的安全和自由。

將壞人擋在牆外

Page 57: Part a03 a段架構師-擬定跨平台實踐策略_twok

基於軟硬整合觀點66、、策略-3: 建立中介軟體(middleware)

Page 58: Part a03 a段架構師-擬定跨平台實踐策略_twok

曹操框架能夠保護大員外<我的module>的變動自由度和穩定性。

Stub就

曹操類

Page 59: Part a03 a段架構師-擬定跨平台實踐策略_twok

擺脫掉App

的束縛(即

跨App了)

曹操框架擴大成為一個平台框架

Page 60: Part a03 a段架構師-擬定跨平台實踐策略_twok

中介軟體

Page 61: Part a03 a段架構師-擬定跨平台實踐策略_twok

• 類似于建立萬里長城,來保護所有關內居民(我的各種版本的模組)的安全與自由。

Page 62: Part a03 a段架構師-擬定跨平台實踐策略_twok

最著名的中介軟體:微軟的 .NET框架

Page 63: Part a03 a段架構師-擬定跨平台實踐策略_twok

基於軟硬整合觀點77、、结语

Page 64: Part a03 a段架構師-擬定跨平台實踐策略_twok

• A段架構師,從複雜中找到簡單的實踐策略,這是做減法設計,難度較高。

• 一旦找到簡單了,則人人都能從這項簡單中掌握了複雜,獲得跨平台的普遍性,迅速擴大市場,抓住商機。(加法設計)

Page 65: Part a03 a段架構師-擬定跨平台實踐策略_twok

高煥堂 [email protected]

Thanks…