手機App的開發一般都需要滿足Android和iOS兩個系統環境,也就意味著一個App需要定制兩套實現方案,造成開發成本和維護成本都很高。為了解決這個問題,最好的辦法就是實現一套代碼跨端運行,所以Hybrid App混合應用模式應運而生。在Hybrid App整個開發框架上,有各種各樣的框架,各種各樣的技術選型,而現在主要的技術就是Web技術,不僅簡單,更容易實現UI,開發者人數也比較多。目前市面上的大多數App都是采用Web+Native的混合技術來實現的。

大型項目開發所面對的依賴管理、溝通成本問題,也出現在App開發的過程中,如果不解決好這兩個問題,很可能會引起項目缺陷增多、開發效率降低,進而導致項目延期,并且也會造成項目后期維護的難度增大。綜上,對于中大型的App開發項目,需要一個既支持混合開發模式、又能夠解決依賴和溝通問題的開發框架來有效的指導和規范開發。核心需求;一個好的App開發框架,要能在框架層面解決中大型App開發中Hybrid開發框架選型、模塊間解耦的問題,同時也要提供模塊動態變更、動態升級的解決方案。除了手機App的開發發框架之外,還應包括以下三部分內容:后臺發布管理平臺支持模塊動態變更、動態升級,后臺發布管理平臺是與之想配套的后臺管理功能,包括數據管理和App接口兩部分。 持續集成方案提供配套的持續集成方案,用于項目開發過程中自動打包。 H5模塊開發規范提供H5模塊開發的規范,用于實現動態模塊功能。解決“規模變大”問題思路分而治之模塊化,將業務功能劃分成多個獨立的模塊;模塊間做到高內聚低耦合,互不干擾、并行開發依賴統一管理依賴不可避免;對依賴進行統一規劃管理;模塊間的依賴可以歸納為: 頁面間跳轉 API調用解決“跨平臺”問題思路Cordova (PhoneGap) 業界最主流的開源移動跨端框架 HTML + CSS + JS +原生插件 開放式的原生插件框架 強大的社區力量解決“動態升級”問題思路App發布到應用市場后,往往需要一個比較長的審核周期,特別是蘋果商店;當App的重要功能出現Bug時,需要有快速的應對方案,重新發版本到應用市場肯定是慢了。為了快速的應對業務需求的變化和緊急Bug的處理,App對動態升級的需求越來越頻繁。所以實現一套動態升級方案,主要以模塊為單位展開。從動態模塊的角度,將模塊分為三種:NA模塊、H5-offline模塊、H5-online模塊。NA模塊的頁面都需要預置在App中,H5-offline模塊的頁面可以預置在應用中、也可以在應用安裝后再下載,H5-online模塊的頁面部署在服務器端。模塊的動態性主要體現有以下幾方面:1、模塊的icon、名字可以動態修改;2、模塊的三種類型之間可以互相切換,比如:某個模塊本來是NA實現,上線后發現有重大Bug,可以切換到H5-offine或者H5-online的實現,如果沒有這兩種實現,可以切換到一個“敬請期待”的在線頁面;3、H5-offline模塊支持版本升級。對于模塊動態升級,主要指的是H5-offline模塊,對H5-offline模塊的安全性要做充分的考慮:對模塊的離線包有進行加密處理,也要對離線包里的文件進行哈希校驗,防止被篡改。技術架構App開發框架應以模塊化設計為基礎,同時打通NA與H5兩種不同技術實現的業務。模塊主要分為兩種形態: NA模塊主要由NA頁面組成,也可以是NA容器加載的H5頁面,NA模塊可以對外提供api; H5模塊由H5頁面組成,可以是離線頁面也可以是在線頁面,H5模塊無法對外提供api,但是可以調用其他NA模塊提供的api;實現模塊間的完全解耦,推薦模塊代碼不僅要邏輯上獨立,最好是采用子工程的方式實現物理上的分離。通過三條總線機制來實現模塊間的解耦:API總線主要提供模塊api注冊和調用兩個能力; 頁面導航總線不區分NA和H5的融合頁面設計,頁面的打開和返回由頁面導航總線統一調度; 模塊總線模塊總線從邏輯上確定了模塊的概念,同時支持模塊的遠程變更和動態升級;采用業界最流行的Cordova框架來充當JS Bridge,Cordova擁有大量的社區插件可以使用,同時也提供了完整的插件開發規范,非常容易自定義開發插件。開發框架應對API總線、頁面導航總線、模塊總線這些核心能力提供了cordova插件的實現,使H5頁面也能夠輕松的調用這些api,并且做到NA與H5調用無差異化。

如沒特殊注明,文章均為江浙滬網絡推廣,轉載請注明來自http://www.0898bike.com/html/news/