掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
本文將介紹《Android贏家密碼》的第二部分:觀點(diǎn)與實(shí)踐之軟硬整合開發(fā)。以軟硬整合開發(fā)為例,介紹《Android贏家密碼》的觀點(diǎn)與實(shí)踐。

成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,先為科爾沁等服務(wù)建站,科爾沁等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為科爾沁企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
觀點(diǎn)與機(jī)會(huì)
大家都知道觀點(diǎn)(又稱視角)本身是沒有對(duì)錯(cuò)的,但是觀點(diǎn)會(huì)影響人們的決策,而決策又會(huì)影響行為,然后產(chǎn)生不同的結(jié)果。因之,基于“贏家密碼”觀點(diǎn)而實(shí)踐策略,會(huì)帶來贏的機(jī)會(huì);反之,則可能會(huì)錯(cuò)失大好機(jī)會(huì)。
Android的三層API
在軟硬整合開發(fā)里,最主要的議題就是,如何讓底層硬件的創(chuàng)新性能或功能與上層應(yīng)用程序(簡稱AP)的多樣化相匯合,關(guān)于這項(xiàng)議題,我在《Android贏家密碼》一書里,已經(jīng)詳細(xì)敘述了,就不再重述了。
在Android平臺(tái)上,規(guī)劃上述軟硬整合實(shí)踐策略時(shí),會(huì)涉及三層軟件接口(泛稱API),包括:
俗語說:橫看成嶺側(cè)成峰。意味著,事物本體只有一個(gè),因?yàn)槿巳擞^點(diǎn)不同而有不同面貌的呈現(xiàn)。蘇東坡《前赤壁賦》也寫道:“蓋將自其變者而觀之,則天地曾不能一瞬;自其不變者而觀之,則物與我皆無盡也,而又何羨乎?”即使同一個(gè)人,基于不同角度,觀察到的現(xiàn)象也不同,因?yàn)闀?huì)影響到人生或其它事物的態(tài)度、策略、行為和結(jié)果。
古典IT的觀點(diǎn)
這個(gè)觀點(diǎn)是基于“平臺(tái)(Platform)”的概念,平臺(tái)概念讓人們聯(lián)想到房屋的地基,AP就是房屋,而平臺(tái)就是地基。其地位尊卑順序是:主人->AP->平臺(tái),如下圖1所示:
圖1 古典IT觀點(diǎn)下的Android三層API
在這觀點(diǎn)下,其焦點(diǎn)在于:
中國傳統(tǒng)的觀點(diǎn)
如果將Android里的三層API對(duì)應(yīng)到中國清朝時(shí)期的三層城墻:萬里長城、北京城和紫禁城。將可以讓我們擺脫古老的IT觀點(diǎn),而得到新潮的觀點(diǎn):中國永恒的智慧 + Android平臺(tái)->贏家的軟硬整合策略。這非常接近清代大臣張之洞所提倡的“中學(xué)為體,西學(xué)為用”觀點(diǎn)。于是,得到下圖:
圖2 Android平臺(tái)里的三層API
茲比較圖1與圖2:
以POS系統(tǒng)開發(fā)為例——現(xiàn)實(shí)的POS情境和需求
POS軟硬整合產(chǎn)品必須賣給業(yè)主(如大賣場的商家)。由于商家是做生意的人,不會(huì)設(shè)計(jì)賣場專用的POS應(yīng)用程序(例如,將POS結(jié)帳款項(xiàng)送往ERP系統(tǒng))。所以,POS產(chǎn)品廠商就委托各地區(qū)或城市的當(dāng)?shù)貞?yīng)用軟件開發(fā)商去幫助業(yè)主開發(fā)其專用的應(yīng)用軟件(簡稱AP)。于是,POS產(chǎn)品廠商就成為強(qiáng)龍,而全球各地區(qū)的AP開發(fā)者成為地頭蛇,這<強(qiáng)龍/地頭蛇> 合作模式能提供給業(yè)主最佳的服務(wù)。例如,筆者就曾經(jīng)擔(dān)任NCR公司在臺(tái)灣的地頭蛇,服務(wù)臺(tái)灣當(dāng)?shù)氐你y行POS應(yīng)用軟件系統(tǒng)。
過去,都是洋人企業(yè)扮演強(qiáng)龍角色,國內(nèi)本地企業(yè)扮演地頭蛇角色。如今,隨著本地內(nèi)需市場的急速成長,提供給本地企業(yè)躍居強(qiáng)龍地位的大好機(jī)會(huì)。所以,本文不是敘述如何解決業(yè)主的需求,而是說明除了解決業(yè)主需求之外,又如何替POS產(chǎn)品(或手機(jī))廠商設(shè)計(jì)出強(qiáng)龍系統(tǒng)架構(gòu),以即規(guī)劃出其實(shí)現(xiàn)步驟。
第一步:從古典IT觀點(diǎn)出發(fā)
在上一篇文章里,已經(jīng)說明了古典IT觀點(diǎn)的基本架構(gòu)?,F(xiàn)在,就來厘清它的兩項(xiàng)基本流程:請(qǐng)求流程(Request Flow)和服務(wù)流程(Service Flow)。如下圖1 所示:
圖3 古典IT觀點(diǎn)下的兩項(xiàng)基本流程
在這觀點(diǎn)下,并不太重視另一項(xiàng)流程,就是命令流程(Command Flow)。甚至很多人認(rèn)為圖里的請(qǐng)求流程就是命令流程。由于命令的來源是業(yè)主或AP(如古代的員外),讓底層POS產(chǎn)品廠商成為長工,就無法實(shí)現(xiàn)其強(qiáng)龍的夢(mèng)想了。
第二步:加上命令流程(Command Flow)
這是基于上一篇文章里的新潮觀點(diǎn),基于這個(gè)觀點(diǎn),就能凸顯出命令流程的重要性,以及其流動(dòng)方向。如下圖2所示:
圖4 新潮觀點(diǎn)所凸顯的命令流程
大家都知道命令的來源是紫禁城內(nèi),流向北京城外,再流到長城之外。于是,將上圖1和圖2整合起來就是新潮觀點(diǎn)下的三項(xiàng)主要流程。
第三步:設(shè)立關(guān)口傳達(dá)命令
為了確保紫禁城內(nèi)清朝皇帝的強(qiáng)龍主導(dǎo)地位,必然會(huì)最第一道防線(即萬里長城)設(shè)立關(guān)口,并重兵駐守,成為具有高度主導(dǎo)性的接口,例如山海關(guān)、居庸關(guān)等。這種主導(dǎo)性關(guān)口,就是筆者在《Android贏家密碼》一書所說的“主動(dòng)型API”。唯有主動(dòng)型的API(或稱接口,或稱關(guān)口)才能確保命令的傳遞和執(zhí)行。如下圖3所示:
圖5 山海關(guān)、居庸關(guān)就是主動(dòng)型API
在這觀點(diǎn)下,業(yè)主(或用戶)和AP是在塞外,是要服從命令的,在直覺上對(duì)用戶體驗(yàn)并不會(huì)有所貢獻(xiàn)。然而,因?yàn)橛布ㄈ绾赀_(dá)電HTC手機(jī)或聯(lián)迪POS)產(chǎn)品廠商位居紫禁城內(nèi),擁有強(qiáng)龍地位,其“強(qiáng)龍?bào)w驗(yàn)”的滋味是美好的。過去,軟件開發(fā)人員一味地追求提升用戶(地頭蛇)體驗(yàn),未能提升軟件人員本身的地位。如今,軟件開發(fā)人員除了提升用戶體驗(yàn)之外,也關(guān)注于提升底層硬件廠商的強(qiáng)龍?bào)w驗(yàn)。基于這種新觀點(diǎn),讓臺(tái)灣的宏達(dá)電公司成為最賺錢的公司,其HTC手機(jī)也創(chuàng)造極佳的用戶體驗(yàn),至今(2011年)銷售量全球第一,同樣地臺(tái)灣Android相關(guān)軟件人員也因而獲利。這說明了這個(gè)新潮觀點(diǎn),的確能創(chuàng)造“硬件廠商、手機(jī)用戶、軟件人員”三贏的局勢。其將業(yè)主和 AP視為塞外,并將用戶體驗(yàn)降到第二順位;反而大幅提升了用戶體驗(yàn)。這就是筆者在《Android贏家密碼》一書所說的“神秘力量之一”。
第四步:實(shí)現(xiàn)軟件關(guān)口(即框架API)
具有主導(dǎo)性(或防御性)的關(guān)口,就是主動(dòng)型(即主導(dǎo)性)的API。在軟件上,其實(shí)現(xiàn)機(jī)制是極為簡單的概念:基類(Base Class),又稱為父類(Super Class)。如下圖3所示:
圖6 軟硬整合系統(tǒng)的山海關(guān)等關(guān)口
軟件關(guān)口就是Java或C++語言的基類,是每一位軟件開發(fā)人員都具備的基本技能。
結(jié)語
俗語說:不為也;非不能也。如今,為何洋人喜歡撰寫框架基類、掌握框架API,位居強(qiáng)龍;而我們身邊的大多數(shù)軟件開發(fā)人員,還是擁抱著古典IT觀點(diǎn)、孜孜不倦撰寫AP子類,一未追求用戶體驗(yàn)?zāi)? 換個(gè)觀點(diǎn)而已,做法非常簡單;只是不去做,并非不會(huì)做。由于底層硬件功能是整體系統(tǒng)服務(wù)的源頭,也是提升用戶體驗(yàn)的源頭;唯有采取中國固有的新潮觀點(diǎn),讓底層硬件服務(wù)視為九五至尊的強(qiáng)龍地位,才能真正實(shí)現(xiàn)好的用戶體驗(yàn),并帶給軟件開發(fā)人員極佳的獲利機(jī)會(huì)。
關(guān)于作者
高煥堂,臺(tái)灣軟件架構(gòu)設(shè)計(jì)大師,從事IT行業(yè)近30年,被稱為“臺(tái)灣OO技術(shù)教父級(jí)代表人物”?,F(xiàn)任MISOO軟件開發(fā)與管理顧問公司首席架構(gòu)師,編著過十余本軟件技術(shù)相關(guān)書籍。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流