
iOS端組件化架構(gòu)開發(fā)與管理.png
iOS組件化參考:
開發(fā)管理
得益于Git&CocoaPods的版本管理與庫依賴功能,Git與CocoaPods知識請移步百度&Google。

組件化開發(fā)合并圖.png
- 私有Cocoapods倉庫 iCSpec
- 資源文件Bundle庫 iCResources
- 基礎(chǔ)模塊庫化 iCBaseClass | iCMacro | iCResources | iCNetwork | iCCategory
- 業(yè)務(wù)模塊組件化 RNMessage
- CocoaPods合并組件到主工程 Running-iOS
原則
- 基礎(chǔ)組件盡可能不依賴基礎(chǔ)組件。
- 業(yè)務(wù)組件只能依賴基礎(chǔ)組件,永遠(yuǎn)不依賴業(yè)務(wù)組件。
- 業(yè)務(wù)組件提供Target_AAC..目標(biāo)類公其他業(yè)務(wù)組件調(diào)用。
- 業(yè)務(wù)組件通過CTMediator+AAB_AAC分類與其他組件通訊(AAB表示當(dāng)前業(yè)務(wù)組件名,AAC表示目標(biāo)組件名)。
- 從主項目調(diào)用組件通過CTMediator+RN_AAC分類調(diào)用(RN表示項目前綴)
- 業(yè)務(wù)組件命名以AA開頭,僅有Target_AA..,其他文件以項目前綴開頭。是為了在Pods中業(yè)務(wù)組件排在最前易與區(qū)分。
- 基礎(chǔ)組件以項目前綴開頭。易于區(qū)分私有基礎(chǔ)組件與第三方庫。
- 基礎(chǔ)組件與業(yè)務(wù)組件的platform :ios, 'x.0' 支持版本必須小于等于 主項目的 platform :ios, 'x.0'支持版本(當(dāng)前庫的ios 'x.0' >= 依賴的庫的ios 'x.0')

組件化項目管理.png