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加代码吧。

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