background image

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 时,开发者将花费很多时间和精力去解决

冲突,而不是去做比这更有意义的事。