iOS 关于 Interface builder 的看法
一年前我开始做
iOS 开发,看的是 Stanford 的 CS 193P。老头子推荐新手用
Storyboard 来做开发,因为它是可视化的,不太需要了解代码层的东西就能拖
出界面,各种配置项可以通过勾选搞定,省去很多代码,相当傻瓜,此外
Storyboard 也让人对应用程序的活动流程一目了然。我对这种拖拽式的编程方式
很不习惯:这不是代码出奇迹的节奏啊!
我开始做实际的项目。看了几个开源项目的代码后,我知道旧时代有个
xib
格式的文件。这货是
Interface Builder 的产物,现在我们称他们为 NIB。用法和
Storyboard 差不多,可视化拖拽、配置。Storyboard 比较新,业界用的人不多,于
是我很纠结,到底是听老头子的话用新东西,还是随大流试试单独的
NIB?初
生牛犊不怕虎,反正没怎么做过
iOS 开发,就按课上说的来吧,我们团队用
Storyboard 拖 UI。一个月后,我提议弃用 Interface Builder,不用任何 NIB(包括
Storyboard)。直到现在只要是在我控制范围内,我都没再碰过任何 NIB,我更
愿意用代码来生成。
不用
Interface Builder 的理由很多,对我来说主要有一下几点:
多人协作
从项目管理的角度来讲
NIB 就不应该被使用。你能保证自己从来不会在合并
NIB 时出现冲突吗?在一个稍有规模,多开发者的项目里,合并 NIB 简直就是
梦魇。特别是多人共用一个
Storyboard 时,开发者将花费很多时间和精力去解决
冲突,而不是去做比这更有意义的事。