对于之前完成的一个iPhone应用开发项目,昨天认真反省了下发现在该项目的开发过程中做了一些和之前不一样的选择并取得了一定的效果。特简单总结了一份。其中利弊希望可以分享和讨论下,同时期待发现更好的解决。

1 通过项目的Group Tree来呈现项目结构。应用的主要功能块和最终产品呈现在划分和顺序上尽量做到了一致。

iPhone应用项目开发反省

 

 

2 完全使用IB,并通过IB来呈现项目结构。如下从Splash到Login到DashBoard这是流程,DashBoard包含各个Tab的功能块。

iPhone应用项目开发反省

3 大量使用Category扩展项目公用的一些功能。比如如下显示的UITableViewCell+Addition的Category就实现了利用NIB文件自定义UITableViewCell。

iPhone应用项目开发反省

 

4 界面的配置文件驱动,而不是通过代码控制。如下显示的就是账号设置页面的配置文件。

iPhone应用项目开发反省

 

5 开源库尽量选用Native,即同时存在Objective-C和C版本时候,优先选择Objective-C版本。如下就是压缩库示例,其中Objective-Zip其实是MiniZip和ZLib的一层Wrapper。

iPhone应用项目开发反省

 

6 使用CoreData用于数据持久处理,而没有通过sqlite直接操作。区别就是CoreData是对象数据库,sqlite是关系数据库。打个比方就是对象数据库存一部车的时候,可以整车存入整车取出,而关系数据库必须将车拆成各个零件后存入,取出时获得的是也是各个零件,要得到车还需要再次组装。

iPhone应用项目开发反省