初識組件化開發(fā)

組件化開發(fā).png
公司最近在做的工程采用組件化開發(fā)的架構(gòu)模式,那什么是組件化開發(fā)呢?顧名思義,組件就是把之前都放在主工程里寫的東西,按一定的依據(jù)拆分成一個(gè)個(gè)小的組件,再以三方庫的形式拉取到主工程中,但在開發(fā)組件時(shí)要注意各個(gè)組件之間的解耦與通信。
組件化的優(yōu)點(diǎn)
1、組件可獨(dú)立運(yùn)行,提高代碼復(fù)用性;
2、減少因協(xié)作開發(fā)而導(dǎo)致的代碼沖突問題,提高開發(fā)效率;
組件拆分
一個(gè)工程拆分成組件時(shí)所選取的顆粒度不同,則所拆分的組件也就不同,顆粒度過細(xì)則組件拆分過于分散,顆粒度太大則組件過于臃腫,至于顆粒度的選取則沒有嚴(yán)格的標(biāo)準(zhǔn),因工程而異。
目前所做工程采用的拆分方式如下:
① 基礎(chǔ)組件:類似于針對Foundation的一些工具類、分類等;
② 功能組件:自定義相冊、圖片輪播器、下載功能、錄音、自定義提示框等特定功能的組件;
③ 定制組件:針對app特定風(fēng)格的定制UI庫;
④ 業(yè)務(wù)組件:如登錄注冊、下單等具體業(yè)務(wù)功能;
組件的存在形式
組件就是以類似于第三方庫的形式存在的,采用的cocoapods私有庫的形式進(jìn)行創(chuàng)建和管理的;
組件的創(chuàng)建與使用
- 采用pod lib create創(chuàng)建工程;
- 在Pods->Development Pods->Project Name->Classes下編寫代碼;
- 編寫.podspec文件,驗(yàn)證并提交至私有repo庫;
- 在使用組件的工程中,采用cocoapods拉取私有庫即可將組件導(dǎo)入;
更多關(guān)于iOS組件化開發(fā)的文章: