nib:NeXT Interface Builder的缩写
xib:XML nib的缩写
相同点:
nib和xib都是Interface Builder的图形界面设计文档。Interface Builder把窗口、菜单栏以及窗口上的各种控件的对象都“冻结”在一个nib文档里;当程序运行时,这些对象就会“苏醒”;
不同点:
nib为二进制文件,xib为纯文本文件,采用xml格式,后者方便于版本控制和diff;
传承:
最开始只有nib,后来将其更名为xib,但是一直沿袭nib这个叫法;
storyboard是同来替代xib的;
storyboard的优势:
1、使用storyboard,一个工程只有一个storyboard文件;当使用xib时,xib在数量上和控制器相对应,即如果工程有多个视图控制器,就会有多个xib文件;
2、storyboard与视图的关系可以在IB设计器中很明显地体现,而xib与视图的关系则需要查看相关代码;
当应用数据量很大、画面很多、关系很复杂的时候,如果使用storyboard,那么在IB设计器中的工作就会变得十分复杂,除此之外,整个工程的性能也会受到影响;
另外团队合作也不方便,因为storyboard的合并会很麻烦;
(这就是为啥看到公司的几乎都是代码实现,而没有使用storyboard)