中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何重構PhoneGap架構和代碼,支持軟硬整合開發

發布時間:2020-04-02 05:08:13 來源:網絡 閱讀:459 作者:myeit 欄目:移動開發

如何重構PhoneGap架構和代碼,支持軟硬整合開發如何重構PhoneGap架構和代碼,支持軟硬整合開發

ee                                                                        ee

歡迎訪問 ==>高老師的博客網頁

高煥堂:MISOO(大數據.大思考)聯盟.臺北中心和東京(日本)分社.總教練


EE                                                                        EE

何重構PhoneGap架構和代碼,支持軟硬整合開發


1.  案例說明

1.1  目標

這是支持智能家庭的<軟硬整合開發、硬硬結合銷售>商業模式的應用軟件平臺架構設計。在此商業模式里,TV/STB是扮演主角(主硬件角色),所以這個開源(Open Source)的軟件平臺會執行于TV/STB里。我們稱此平臺為:<軟硬整合平臺>。當用戶將小配件連接到TV/STB時,此平臺就會啟動相對映的(軟件)插件(Plug-in)來掌控大、小硬件的通信;而且銜接到上層的應用軟件(App)。隨著小配件的創新和數量增多,插件也會更新、數量也會增多。于是,此<軟硬整合平臺>里,需要開發一個軟件模塊來管理上述的眾多插件。這個軟件模塊,通稱為:<插件管理模塊>(Plug-in Manager)。它負責管理眾多的插件,這插件就是EIT造形里的<T>。如圖-1里的Tc和Tn。

如何重構PhoneGap架構和代碼,支持軟硬整合開發
圖-1. 插件與小硬件是對映的

其中,Tc對映到Router而連接到Contec云平臺;而tn則對映到Router而連接到Neat云平臺。由于這是一個支持<硬硬結合銷售>的軟件平臺;其架構設計必須考慮其跨(別人的)平臺的能力,以便擺脫被外來(軟、硬件)模塊的束縛。并進而化被動為主動,隨時能順暢地抽換外來模塊,確保軟件平臺的新陳代謝,是軟件平臺持續成長的基礎。而其中的EIT造形就擔任這項任務。例如,圖-2里的透過<Tp>插件來整合外掛的信息推送系統,讓<軟硬整合平臺>能夠不受信息推送系統的束縛。

如何重構PhoneGap架構和代碼,支持軟硬整合開發
圖-2.  架構設計必須考慮其跨(別人的)平臺

1.2   做法

在PhoneGap框架里有個<插件管理(Plug-in Manager)>模塊,由于PhoneGap是一個開源軟件,可以對它加以重構而移植過來,做為我們開源開放的<軟硬整合平臺>里的<插件管理模塊>。原來的PhoneGap框架,其信息流向是承接來自WebView的事件。也就是它原來搭配的是HTML5-based的Web App;如圖-3所示。

如何重構PhoneGap架構和代碼,支持軟硬整合開發
圖-3.  原來PhoneGap框架的信息流向

由于我們的<軟硬整合平臺>上的應用軟件,其形式包含傳統的Android App形式,以及HTML5-based的Web App形式。所以我們必須重構PhoneGap框架,讓信息流向也能承接來自傳統(一般)Android App里的View事件;如圖-4所示。

如何重構PhoneGap架構和代碼,支持軟硬整合開發
圖-4. 重構后,PhoneGap框架所添加的信息流向

于是,我們的<軟硬整合平臺>就能管理上述兩種Android App所需要的插件了;透過這些插件來將上層的App與底層硬件驅動(Driver)銜接,來控制外加的小配件;而實踐了<軟硬整合開發、硬硬結合銷售>的商業目標。[歡迎光臨 高煥堂 網頁:  http://www.cnblogs.com/myEIT/ ]  


2.  重構設計的經驗分享與討論

2.1    從<重構設計>到<重構代碼>的過程

◆  議題:PhoneGap目前只搭配HTML5的Web App
★ 如何重構PhoneGap的架構和代碼
★ 讓PhoneGap也能搭配一般的Native App

◆  現況:目前PhoneGap的架構設計
★ HTML5 & PhoneGap可以讓UI更容易跨平臺
★ 其依賴Browser和PhoneGap的插件<T>來吸收平臺的差化
★ 如果插件很多時,PhoneGap里的PluginManager負責管理之
★ UI事件是從WebView傳送到PhoneGap的插件<T>

◆  目標:
★ 即使不采用HTML5,也能使用PhoneGap來管里插件
★ 一旦不使用HTML5,PhoneGap就不再搭配WebView
★ 于是,PhoneGap轉而搭配一般的View,如Button等
★ UI事件(Event)改從一般的傳送到PhoneGap的插件<T>

◆  收獲:
★ 如何攔截App的啟動事件(onCreate事件)和UI事件
★ 以EIT造形加快理解PhoneGap框架的結構
★ 深刻領悟<I>的設計要領:如IPlugin接口設計
★ 熟悉從<重構設計>到<重構代碼>的過程

2.2   重構的設計思考

     ◆  重構范圍內共有3個EIT造形的美妙組合
★ 第1個造形:{ Activity-DroidGap }
★ 第2個造形:{ WebView-CodavaWebView }
★ 第3個造形:{ PluginManager-Plugin-<T>}
★ 熟悉從<重構設計>到<重構代碼>的過程
     ◆  因為不再搭配WebView,所以前兩個EIT造形都必須重構
     ◆  第3個造形最復雜
     ◆  上上策是:不重構第3個造形,其內涵和接口代碼都保持不變
     ◆  成功地讓第3個造形跨到重構的新平臺(即前兩個造形)

2.3   案例的成功關鍵和啟示

     ◆  關鍵:在于上述的設計思考
     ◆  洞悉:心懷EIT造形去觀察架構
     ◆  技巧:從<I>觀察重構的變動震幅,找出上上之策
     ◆  啟示:優越架構,帶來易于重構的機會,創造了系統未來性

=========================================================

相關文章:<Android與iOS/WP8跨平臺整合設計與開發 專欄>

~ End~

**                                                                     **

如何重構PhoneGap架構和代碼,支持軟硬整合開發


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

拉孜县| 维西| 宣城市| 灵石县| 政和县| 新和县| 兴化市| 台南县| 唐海县| 寻甸| 孟州市| 来安县| 昌吉市| 昌宁县| 虹口区| 和田县| 石台县| 富源县| 苏尼特右旗| 商丘市| 辽宁省| 堆龙德庆县| 克拉玛依市| 安达市| 天峻县| 锡林郭勒盟| 上犹县| 外汇| 南靖县| 沾益县| 开鲁县| 凤台县| 霍州市| 石楼县| 西安市| 长宁县| 井冈山市| 义乌市| 馆陶县| 韶关市| 景东|