一、組件化架構的產生
隨着移動互聯網的不斷髮展,很多程序代碼量和業務越來越多,現有的單一式架構已經不能滿足公司發展的需求,很多項目都面臨着無法繼續迭代或迭代成本很高,而不得不重構的問題。
我在以前的工作中許多工作任務就是重構項目。單一式架構的問題主要體現在:
1.業務模塊間劃分不清晰,模塊之間耦合度很大,非常難維護。
2.所有模塊代碼都編寫在一個項目中,測試某個模塊或功能,需要編譯運行整個項目。
3.多個項目使用同一功能模塊,集成過程困難。
二、項目組件化
項目組件化就是將項目中的各個模塊按照基礎組件、功能組件、業務組件等劃分成一個個單獨的模塊,以使的各個模塊間實現低耦合,可以單獨開發、測試、組合運行。
三、項目組件化好處
1.業務劃分更佳清晰,新人接手更佳容易,可以按組件分配開發任務。
2.項目可維護性更強,提高開發效率。
3.更好排查問題,某個組件出現問題,直接對組件進行處理。
4.開發測試過程中,可以只編譯自己那部分代碼,不需要編譯整個項目代碼。
5.方便集成,項目需要哪個模塊直接通過CocoaPods集成即可。
四、私有索引庫
私有索引庫:分爲本地私有索引庫和遠程私有索引庫,他們是相互對應的。
私有索引庫的作用是保存 .podSpec 文件,當使用 pod search -- 時,pod 首先會在本地的索引庫中進行搜索,當本地的索引庫中不存在時,會到遠程索引庫中進行搜索。
1.本地私有索引庫
安裝 CocoaPods 的電腦都會在工作目錄中自動生成索引庫文件夾。它對應CocoaPods 的遠程索引庫。在mac電腦下的目錄爲:/Users/kylin/.cocoapods/repos/master/Specs 。(注:kylin->對應自己的用戶目錄名)
創建私有索引庫可以選擇 Github 的私有代碼倉庫(需要購買)、碼雲、coding碼市等。
2.遠程私有索引庫
本文以coding爲例。
a.創建遠程私有索引庫,複製倉庫地址。
b.複製遠程索引庫地址。
c.打開終端,將遠程私有庫關聯到本地。
命令:cd /Users/kylin/.cocoapods/repos
pod repo add [項目名] [複製的遠程索引倉庫地址]
d.在Finder 中多了一個項目文件夾(項目名),這就是我們用來存放組件的 .podSpec 文件的。
五、安裝使用私有索引庫
修改 Podfile 文件。
1.添加資源倉庫地址:source 'https://git.coding.net/[]' 注:[] 是自己 coding 倉庫地址。
2.添加庫索引: pod 'AFNetworking'
3.保持 Podfile 文件。pod install
4.自定義私有庫出現在 Pod 文件夾中,大事告成。
備註:如果有不對的地方,望大家多多指正。