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