iOS端組件化架構開發與管理.png
iOS組件化參考:
開發管理
得益于Git&CocoaPods的版本管理與庫依賴功能,Git與CocoaPods知識請移步百度&Google。
組件化開發合并圖.png
- 私有Cocoapods倉庫 iCSpec
- 資源文件Bundle庫 iCResources
- 基礎模塊庫化 iCBaseClass | iCMacro | iCResources | iCNetwork | iCCategory
- 業務模塊組件化 RNMessage
- CocoaPods合并組件到主工程 Running-iOS
原則
- 基礎組件盡可能不依賴基礎組件。
- 業務組件只能依賴基礎組件,永遠不依賴業務組件。
- 業務組件提供Target_AAC..目標類公其他業務組件調用。
- 業務組件通過CTMediator+AAB_AAC分類與其他組件通訊(AAB表示當前業務組件名,AAC表示目標組件名)。
- 從主項目調用組件通過CTMediator+RN_AAC分類調用(RN表示項目前綴)
- 業務組件命名以AA開頭,僅有Target_AA..,其他文件以項目前綴開頭。是為了在Pods中業務組件排在最前易與區分。
- 基礎組件以項目前綴開頭。易于區分私有基礎組件與第三方庫。
- 基礎組件與業務組件的platform :ios, 'x.0' 支持版本必須小于等于 主項目的 platform :ios, 'x.0'支持版本(當前庫的ios 'x.0' >= 依賴的庫的ios 'x.0')
組件化項目管理.png