iOS 元件化架構及建立私有專案元件
一、元件化架構的產生
隨著移動網際網路的不斷髮展,很多程式程式碼量和業務越來越多,現有的單一式架構已經不能滿足公司發展的需求,很多專案都面臨著無法繼續迭代或迭代成本很高,而不得不重構的問題。
我在以前的工作中許多工作任務就是重構專案。單一式架構的問題主要體現在:
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 資料夾中,大事告成。
備註:如果有不對的地方,望大家多多指正。