代码
我认为代码是一切编程的核心。
代码是最基础的东西,你不能只知道在界面上拖拽而不知道在代码层是如何处理的。
可以说代码是最基础、也是功能最强大的东西。任何xib或storyBoard实现不了的功能都可以通过代码实现。
代码有着极强的封装和复用的特性,非常灵活。
调试方便,搜索方便,批量修改方便。
良好的版本管理,多人开发完全没有问题。
缺点就是:和IB编程相比,要增加很多代码。这在IB出来之前是不会想出这个缺点的。完全是有了比较之后,才产生的。
可视化编程一定程度上提高了开发效率。
IB
IB是interface builder的简称,就是所谓的界面话编程。
Xcode4之后,xib称为IDE的一部分,xib可视化的界面非常简单。大大的简化了代码。可以节省时间。
一般来说,单个的xib文件对应一个ViewController或View。xib可以快速完成View视图的搭建,以及File owner的关系映射等一些列工作。
可视化的编程,让人有一种既见既所得的快感。
然后xib界面上的东西,可能并不是最终的设置,所有的东西都可以在代码中进行改写。如果在不同的地方对同一个属性进行设置,这对维护性来讲是非常麻烦的。因此,应当尽量把xib的工作和代码的工作隔离开来。
StoryBoard
在Xcode5之后。StoryBoard已经成为新建项目的默认配置,可以把StoryBoard看做是一组viewController相应的xib,以及它们之间的转换方式的集合。
在StoryBoard中不仅能够看到每一个ViewController的布局样式。也能够明白地知道各个ViewController之间的转换关系。
一个storyBoard来说,不适合多人开发。因为你可能打开storyBoard可能什么都没做,文件就已经发生了变化,多人开发极易产生冲突。如果需要使用StoryBoard多人开发,最好将项目的不同部分分成不同的StoryBoard,这个各自负责各自的StoryBoard可以避免很多冲突。
小结
总的来说,IB界面编程在一定程度上可以提高开发速度。一般情况下比代码开发速度要高。但是如果代码封装的好的话,那可真说不定谁更快些。IB编程最大的优势就是可视化,既见既所得。最大的缺点就是封装性和重用性,以及多人开发可能存在的冲突。