iOS開發的時候,界面一般用的是手寫代碼,還是用xib/storyboard?

https://www.zhihu.com/question/26425301

作者:知乎用戶
鏈接:https://www.zhihu.com/question/26425301/answer/32935412
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
 

我看完了整個視頻,3個人分別是storyboards, NIBs和code的擁護者,辯論的也非常熱烈,我總結了下:
Code
好處:
1. 代碼是很簡潔的,你沒有必要去打開NIBS或者其他文件去看它的屬性,這在當你打開一個2年前的或者寫的很亂的project時候非常有用
壞處:
1. 代碼可以重寫NIB和storyboard的屬性,這就會導致很亂,比如NIB的中的屬性是TRUE,但是你可以用代碼重寫
2. 如果用code,那麼你必須的寫完,然後運行才能看出效果,這樣就很慢,不所見即所得
3. 在code裏面set x,y是一個很不直觀的事情,而且浪費時間
4. UI設置需要很多代碼量,多的代碼以爲着會引入潛在的bug,寫多代碼也意味着浪費時間

NIBs
好處:
跟code相比,NIBS可以直接讓開發者看到,開發者關心的是界面
壞處:
如果你有一個project,裏面有十來個controller,而每個controller又包括很多NIB文件,這樣就會很亂,因爲你得從幾十個NIB文件中找出來再修改

Storyboards
好處:
1. Storyboards是未來,而且Storyboards 可以幹code和NIB幹不了的事情
2. Storyboards 可以讓你避免很多代碼,比如一些自定義的特效
3. 而且Storyboards 不僅僅只是一個,可以是好多個,這個人平時工作的團隊有5個人,他們有10來個Storyboards ,你可以把Storyboards 分成不同的section,比如feed section,talk section,你可以看到界面的佈局,你可以看到哪個連接着哪個
壞處:
1. 侷限就是當你和很多人一起開發的時候,因爲Storyboards會保存所有的文件在一個文件中,所以分享是非常困難的
2. 重用性不好,你可以重用,但是沒有NIBS那樣直接

總的來說,支持storyboard的小夥子很有活力,一直說storyboard是未來,而支持NIBs的女開發者被說服了,表示以後要用用storyboard。

最後,大家一致同意,初學者應該從代碼來下手,因爲你知道怎麼寫代碼了,你也就知道怎麼用Storyboards 和NIBS實現了(你必須知道里面是怎麼實現的)。


那麼問題來了,到底用什麼?
我個人意見是,當你做小型或者中型應用的時候,還是用storyboard吧,確實簡單易用快速。而大型的,多人一起做(需要svn,git進行同步)的項目還是NIBs加代碼吧。

作者:知乎用戶
鏈接:https://www.zhihu.com/question/26425301/answer/32935412
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
 

我看完了整個視頻,3個人分別是storyboards, NIBs和code的擁護者,辯論的也非常熱烈,我總結了下:
Code
好處:
1. 代碼是很簡潔的,你沒有必要去打開NIBS或者其他文件去看它的屬性,這在當你打開一個2年前的或者寫的很亂的project時候非常有用
壞處:
1. 代碼可以重寫NIB和storyboard的屬性,這就會導致很亂,比如NIB的中的屬性是TRUE,但是你可以用代碼重寫
2. 如果用code,那麼你必須的寫完,然後運行才能看出效果,這樣就很慢,不所見即所得
3. 在code裏面set x,y是一個很不直觀的事情,而且浪費時間
4. UI設置需要很多代碼量,多的代碼以爲着會引入潛在的bug,寫多代碼也意味着浪費時間

NIBs
好處:
跟code相比,NIBS可以直接讓開發者看到,開發者關心的是界面
壞處:
如果你有一個project,裏面有十來個controller,而每個controller又包括很多NIB文件,這樣就會很亂,因爲你得從幾十個NIB文件中找出來再修改

Storyboards
好處:
1. Storyboards是未來,而且Storyboards 可以幹code和NIB幹不了的事情
2. Storyboards 可以讓你避免很多代碼,比如一些自定義的特效
3. 而且Storyboards 不僅僅只是一個,可以是好多個,這個人平時工作的團隊有5個人,他們有10來個Storyboards ,你可以把Storyboards 分成不同的section,比如feed section,talk section,你可以看到界面的佈局,你可以看到哪個連接着哪個
壞處:
1. 侷限就是當你和很多人一起開發的時候,因爲Storyboards會保存所有的文件在一個文件中,所以分享是非常困難的
2. 重用性不好,你可以重用,但是沒有NIBS那樣直接

總的來說,支持storyboard的小夥子很有活力,一直說storyboard是未來,而支持NIBs的女開發者被說服了,表示以後要用用storyboard。

最後,大家一致同意,初學者應該從代碼來下手,因爲你知道怎麼寫代碼了,你也就知道怎麼用Storyboards 和NIBS實現了(你必須知道里面是怎麼實現的)。


那麼問題來了,到底用什麼?
我個人意見是,當你做小型或者中型應用的時候,還是用storyboard吧,確實簡單易用快速。而大型的,多人一起做(需要svn,git進行同步)的項目還是NIBs加代碼吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章