App開發(fā)中,一般會采用MVC或MVVM架構(gòu),那么,會獨立區(qū)分出界面層。那么,界面層是采用純代碼寫好呢,還是代碼+xib實現(xiàn)好呢? 個人覺得主要從以下幾方面考慮:
1.開發(fā)效率
純代碼編寫,界面越復雜,代碼量越大,復雜度也隨之上升;
使用xib,可以把界面布局相關(guān)的代碼,屬性設(shè)置的代碼,遷移到xib上,修改了什么馬上可以看到效果,所見即所得,界面開發(fā)速度快很多;使用xib中的autolayout,屏幕尺寸適配也方便得多。
2.可讀性
代碼越多,別人讀起來越費勁,使用xib,界面層的代碼大量減少,可讀性極好
3.復用
純代碼可復用,xib比較難復用,有相同或相似界面,基本是復制一份過來修改,復用問題不大
4.版本管理
代碼的版本管理比較清晰成熟,大家也用得比較順。xib因為其為xml格式文件,可讀性比較差,多人同時修改同一個xib文件時會引起沖突,并且難以合并。所以,做好一個或一系列相關(guān)界面使用一個xib,避免多人同時修改一個xib引起沖突
5.性能
純代碼的界面加載速度、運行速度是最快的,xib會稍微拉低性能,消耗更多內(nèi)存,但這對多數(shù)普通界面來說,沒有太大影響。需要極致的性能和速度的界面,才使用純代碼。
不管是純代碼還是xib,autolayout都不宜使用過多,超過60個,會引起卡頓。
總結(jié):?
從以往開發(fā)經(jīng)驗,我覺得代碼+xib實現(xiàn)App界面,大大提高開發(fā)效率、可讀性,版本管理的缺陷避免即可?,F(xiàn)在App開發(fā)已經(jīng)很成熟,企業(yè)開發(fā)基本會追求好看的界面效果、更復雜的界面布局,用純代碼實現(xiàn),代碼復雜度急劇加大,極有必要通過xib簡化界面代碼。另外,企業(yè)開發(fā)中,版本更新頻繁、需求變化多,采用xib才能更快更好的響應(yīng)這些變化。