去年夏天,兼职参与了一个创业项目iOS部分的开发。可能是iOS刚入门的原因吧,对苹果原生的开发方式有以下的不好的感觉:
- 巨型ViewController, 由于delegate和data source的存在,让view controller承担的太多的责任。
- 源代码会引用不少第三方的库以及代码片段,比如AF Networking, ASI Http, JSON kit, push service, location service, 自定义控件,杂乱,难以管理和重用。
作为一个有些经验的老工程师,总是想创建一个App的时候,将其分层,做好数据抽象,让代码清晰好维护。这需要开发者自己做一些抽象和对业务进行研究,将网络协议,数据存储,工具,界面流程等分类分层封装,并管理好第三方的库,力争可最大程度重用。这是一个比较费时的过程。这里要郑重推荐一下Bee-Framework, 如果用OC开发的小伙伴,Bee-Framework就是那个将网络协议,数据存储,工具,界面,分类分层封装,管理好第三方库的简化框架,另外,它还带来了XML+CSS的混合UI开发方式和美观的界面。笔者用Bee-Framework重新实现了开源中国的客户端并上架成功。感觉Bee和原生在工作量上的区别,非界面的部分,至少比常规模式少一半,界面部分应该比常规模式少30%。
分享和整理Bee-Framework知识之前,先来一些问题吧:
Q: iOS boilerplate类的框架,有哪些