大家伙!初次写文章,还望包涵,有不对的地方,还望指正。第一次就先从界面布局开头吧。毕竟刚入IOS开发时,一直倒腾界面的那些事情。
IOS自诞生至今,我们知道主要有三种方式开发界面布局:
* 代码布局
* xib布局
* storyboard布局
从对比的角度上,思考这三种方式的利与弊。
代码布局
利:
* 自由定制,灵活方便,而且代码复用性好
* SVN解决冲突快速
* 手写代码对于了解控件更加透彻
* 代码封装,利于理解和使用设计模式,封装得好,会比xib/storyboard开发速度更快
弊
* 对于程序员的自身素质要求比较高,尤其是在代码规范上,否则造成代码冗余,维护起来比较困难
* 对于新手,代码会比xib/storyboard开发速度开发效率低下
* 不能立即展现界面,不断地调试
* 频繁地计算frame、bound,对代码逻辑要求高
* API升级需要更换
xib布局
利:
* 减少了界面代码量,实现了界面与逻辑的分离
* 提高了开发速度,可以快速简单地更改界面需求
* 在一定程度上,可以进行xib复用
弊
* 多人开发提交合并代码,不易解决冲突
* xib没有逻辑判断,也很难在运行是进行配置
storyboard布局
利:
* 在静态页面布局上,比xib更加强大
* 在StoryBoard中不仅可以看到每个ViewController的布局样式,也可以去明确指定各个ViewController之间的转换关系。
* 相对于单个的xib,其代码需求更少,也由于集合了各个xib,使得对于界面的理解和修改的速度也得到了更大提升。
* 开发效率上更加快速
弊
* 多人协作,不易解决冲突问题
* StoryBoard文件往往更大,加载速度也相应变慢,而且在一个StoryBoard里创建太多ViewController,打开时会比较慢
总结
从自学IOS到至今,如何去取舍,我个人觉得首先要从以下几个方面去考虑:
* 项目规模以及复杂程度
* 协作人数
* 项目周期
* 个人能力
总之,借用马克思主义一句话:具体情况具体分析。今天先写到这里,内容虽然简单,确实对于我来说是一种挑战。谢谢大家!