歡迎訪問 ==>高老師的博客網(wǎng)頁
高煥堂:MISOO(大數(shù)據(jù).大思考)聯(lián)盟.臺北中心和東京(日本)分社.總教練
EE EE
成都創(chuàng)新互聯(lián)公司是專業(yè)的都蘭網(wǎng)站建設(shè)公司,都蘭接單;提供成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行都蘭網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
ee ee
歡迎訪問 ==>高老師的博客網(wǎng)頁
高煥堂:MISOO(大數(shù)據(jù).大思考)聯(lián)盟.臺北中心和東京(日本)分社.總教練
EE EE
1. 案例說明
這是支持智能家庭的<軟硬整合開發(fā)、硬硬結(jié)合銷售>商業(yè)模式的應(yīng)用軟件平臺架構(gòu)設(shè)計(jì)。在此商業(yè)模式里,TV/STB是扮演主角(主硬件角色),所以這個(gè)開源(Open Source)的軟件平臺會執(zhí)行于TV/STB里。我們稱此平臺為:<軟硬整合平臺>。當(dāng)用戶將小配件連接到TV/STB時(shí),此平臺就會啟動相對映的(軟件)插件(Plug-in)來掌控大、小硬件的通信;而且銜接到上層的應(yīng)用軟件(App)。隨著小配件的創(chuàng)新和數(shù)量增多,插件也會更新、數(shù)量也會增多。于是,此<軟硬整合平臺>里,需要開發(fā)一個(gè)軟件模塊來管理上述的眾多插件。這個(gè)軟件模塊,通稱為:<插件管理模塊>(Plug-in Manager)。它負(fù)責(zé)管理眾多的插件,這插件就是EIT造形里的<T>。如圖-1里的Tc和Tn。
圖-1. 插件與小硬件是對映的
其中,Tc對映到Router而連接到Contec云平臺;而tn則對映到Router而連接到Neat云平臺。由于這是一個(gè)支持<硬硬結(jié)合銷售>的軟件平臺;其架構(gòu)設(shè)計(jì)必須考慮其跨(別人的)平臺的能力,以便擺脫被外來(軟、硬件)模塊的束縛。并進(jìn)而化被動為主動,隨時(shí)能順暢地抽換外來模塊,確保軟件平臺的新陳代謝,是軟件平臺持續(xù)成長的基礎(chǔ)。而其中的EIT造形就擔(dān)任這項(xiàng)任務(wù)。例如,圖-2里的透過<Tp>插件來整合外掛的信息推送系統(tǒng),讓<軟硬整合平臺>能夠不受信息推送系統(tǒng)的束縛。
圖-2. 架構(gòu)設(shè)計(jì)必須考慮其跨(別人的)平臺
在PhoneGap框架里有個(gè)<插件管理(Plug-in Manager)>模塊,由于PhoneGap是一個(gè)開源軟件,可以對它加以重構(gòu)而移植過來,做為我們開源開放的<軟硬整合平臺>里的<插件管理模塊>。原來的PhoneGap框架,其信息流向是承接來自WebView的事件。也就是它原來搭配的是HTML5-based的Web App;如圖-3所示。
圖-3. 原來PhoneGap框架的信息流向
由于我們的<軟硬整合平臺>上的應(yīng)用軟件,其形式包含傳統(tǒng)的Android App形式,以及HTML5-based的Web App形式。所以我們必須重構(gòu)PhoneGap框架,讓信息流向也能承接來自傳統(tǒng)(一般)Android App里的View事件;如圖-4所示。
圖-4. 重構(gòu)后,PhoneGap框架所添加的信息流向
于是,我們的<軟硬整合平臺>就能管理上述兩種Android App所需要的插件了;透過這些插件來將上層的App與底層硬件驅(qū)動(Driver)銜接,來控制外加的小配件;而實(shí)踐了<軟硬整合開發(fā)、硬硬結(jié)合銷售>的商業(yè)目標(biāo)。[歡迎光臨 高煥堂 網(wǎng)頁: http://www.cnblogs.com/myEIT/ ]
◆ 議題:PhoneGap目前只搭配HTML5的Web App
★ 如何重構(gòu)PhoneGap的架構(gòu)和代碼
★ 讓PhoneGap也能搭配一般的Native App
◆ 現(xiàn)況:目前PhoneGap的架構(gòu)設(shè)計(jì)
★ HTML5 & PhoneGap可以讓UI更容易跨平臺
★ 其依賴Browser和PhoneGap的插件<T>來吸收平臺的差化
★ 如果插件很多時(shí),PhoneGap里的PluginManager負(fù)責(zé)管理之
★ UI事件是從WebView傳送到PhoneGap的插件<T>
◆ 目標(biāo):
★ 即使不采用HTML5,也能使用PhoneGap來管里插件
★ 一旦不使用HTML5,PhoneGap就不再搭配WebView
★ 于是,PhoneGap轉(zhuǎn)而搭配一般的View,如Button等
★ UI事件(Event)改從一般的傳送到PhoneGap的插件<T>
◆ 收獲:
★ 如何攔截App的啟動事件(onCreate事件)和UI事件
★ 以EIT造形加快理解PhoneGap框架的結(jié)構(gòu)
★ 深刻領(lǐng)悟<I>的設(shè)計(jì)要領(lǐng):如IPlugin接口設(shè)計(jì)
★ 熟悉從<重構(gòu)設(shè)計(jì)>到<重構(gòu)代碼>的過程
◆ 重構(gòu)范圍內(nèi)共有3個(gè)EIT造形的美妙組合
★ 第1個(gè)造形:{ Activity-DroidGap }
★ 第2個(gè)造形:{ WebView-CodavaWebView }
★ 第3個(gè)造形:{ PluginManager-Plugin-<T>}
★ 熟悉從<重構(gòu)設(shè)計(jì)>到<重構(gòu)代碼>的過程
◆ 因?yàn)椴辉俅钆鋀ebView,所以前兩個(gè)EIT造形都必須重構(gòu)
◆ 第3個(gè)造形最復(fù)雜
◆ 上上策是:不重構(gòu)第3個(gè)造形,其內(nèi)涵和接口代碼都保持不變
◆ 成功地讓第3個(gè)造形跨到重構(gòu)的新平臺(即前兩個(gè)造形)
◆ 關(guān)鍵:在于上述的設(shè)計(jì)思考
◆ 洞悉:心懷EIT造形去觀察架構(gòu)
◆ 技巧:從<I>觀察重構(gòu)的變動震幅,找出上上之策
◆ 啟示:優(yōu)越架構(gòu),帶來易于重構(gòu)的機(jī)會,創(chuàng)造了系統(tǒng)未來性
=========================================================
相關(guān)文章:<Android與iOS/WP8跨平臺整合設(shè)計(jì)與開發(fā) 專欄>
~ End~
** **
本文題目:如何重構(gòu)PhoneGap架構(gòu)和代碼,支持軟硬整合開發(fā)
本文鏈接:http://jinyejixie.com/article40/jjpjho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、、建站公司、Google、域名注冊、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)