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

Preview:

Citation preview

基於軟硬整合觀點

By By 高煥堂高煥堂 misoo.tw@gmail.com misoo.tw@gmail.com

海峽兩岸海峽兩岸智慧電視智慧電視&&家庭商業策略與技術論壇家庭商業策略與技術論壇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段架構師,從複雜中找到簡單的實踐策略,這是做減法設計,難度較高。

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

高煥堂 misoo.tw@gmail.com

Thanks…