最近的工作和架构相关, 之前也写过 KZWFourdation, 所以借此机会说下自己的思考.
一个正常的 iOS 框架应该分为基础组件, 功能组件, 业务组件, 基础组件和功能组件尽量沉淀为 Framework, 业务组件通过 router 来相互连接, 这样一个基本的 iOS 组件化项目就成型了.
用过 KZWFourdation 的就会发现, 可是你这个框架就是一大堆东西啊, 是的, 这是一个不完美的项目, 因为当时我太懒也没有分的太细. 只是做到了一个功能完善的项目, 所以有的功能依赖太多, 有的人会很头痛, 一个简单功能这么多东西, 确实, 当时想的是尽量完善所以依赖比较多, 确实问题还是挺多的. 有时间在慢慢拆下, emmm 时间嘛不知道. 还有 Swift 版本项目建了但是思路还不多, OC 和 Swift 差距还是比较大的, 有的封装在 Swift 中的处理, 不太好处理成库, 也和我 Swift 的功力有关, 用的不多, 不太好抽离.
工具的使用, 项目大了后, 工具的适当使用会让你的效率大大增加, 所以有一些东西还是需要学习的, 最近也在看 Python. 主要是持续集成这块. 会的人会比较受欢迎, 还是那句话, 能力大的人总是受欢迎的. 俗一点就是和你薪资升职加薪挂钩, 毕竟现在 iOS 行情大家都比较清楚, 基本都是需要你会三四样了, 同时你的基础还需要扎实, 混口饭吃的年代越来越远了.
项目大了后考虑的东西就会多一些, 不是跑起来就行的, 特别是多人开发, 你要尽量考虑别人的感受, 多人的开发效率等. 以及项目的管理就会变的困难. 所以习惯还是挺重要的, 比如 Git 的使用, 有良好习惯的人会让你特别舒服, 反向就是习惯不好的话在项目中可能会引起很多人的吐槽, 比你写垃圾代码还可怕, 毕竟你的烂操作可能让别人的代码不见了, 问题比较大. 需要引起重视. 所以这时候规范化就会很重要, 所以你平时规范化做的越好在大项目中会越让人喜欢.
这时候可能写代码只是一部分了, 思维和格局可能会越来越重要, 想的价值会变的越高, emmm 这个可能说的有点虚, 我也是刚摸索出的感觉, 还说不清楚.
有人问到第三库的使用, 严格来说是第三方的东西越少越好, 就算要用最好也是再包装一层封成私有库来使用, 正常来说第三方库的使用都是需要向框架组申请的, 讨论过后才会有结果你能不能在业务中使用.
先写这么多, 有想法再补充吧.
来源: http://www.jianshu.com/p/0075de8635a8