快速搭建一个成熟,强壮的App框架
2015-11-26 12:08
597 查看
本文是投稿文章,作者:衡成飞(博客)
一个App,何为优秀?
产品本身是一个维度,另外一个维度,我想应该是技术层面。
App的框架,如大楼之根基,好的框架对于开发,拓展和维护可以起到事半功倍的效果,其重要性不言而喻。
今天分享一下自己在搭建框架时的经验,希望大家多提意见,一起进步成长。
以下是常见的APP框架结构,此Project中包括自定义的UITabbar、Json反序列化、网络请求异步加载、自适应cell高度以及圆角图片等等。
下图是已经搭建好的项目结构
App结构如下
常见的APP框架大多只有一个Project,包括了所有的业务功能实现。
其缺点是,对于一个稍微大型的APP,结构显得较为复杂,不利于后期的开发和维护。
以下划分,是我个人的一些理解,不足之处还请指教。
※ APP
大的层级划分
Classes---所有开发文件放在此
|-----Common----本app中常见的定义和操作
|-----Logic----所有业务功能相关文件
Third---所有第三方依赖(不支持cocoapod的)
另外依赖下面的IOSModel,IOSCommon,IOSView三个framework。
※ Model(Dynamic Framework)
所有的Http接口模型对象。
此framework作为Client和Server的桥梁,只需关注接口的数据格式。
另外包括Json反序列化为Model的过程,以后若要替换第三方,只需修改此framework即可。
※ Common(Dynamic Framework)
通用的操作,如网络请求,Extension等。
此framework,包含了和业务无关的通用的操作,并对第三方做了再次封装。
若开发其他app,只需引用此framework即可。
※ View(Dynamic Framework)
自定义的View,如圆角图片等(Storyboard可直接设置,不需要编写代码)
CocoaPods依赖的常见第三方库
关于iOS9适配问题,此工程中也已经全部解决。
1:BitCode问题
2:非Https请求
3:第三方登录问题
以上Project下载路径:http://git.oschina.net/hengchengfei/IOSTemplate
相关文章推荐
- Android WebView使用及苏宁易付宝支付相关问题
- ios按钮的选中与不选中
- iOS 仿射变换改变后对fram的影响
- android ARGB 转 RGB
- HTML5与微信开发(2)-视频播放事件及API属性
- Mac下利用Cordova打包 iOS App以及出现的问题
- Android屏幕适配全攻略(最权威的官方适配指导)
- Abp Application级别的生命周期
- ios NSDateFormatter 1987-04-12夏令时时间节点格式化日期为空
- 第一次用android studio要设置的东西
- ios审核加急
- SlidingMenu如何导入Android Studio
- Android性能优化之常见的内存泄漏
- Android sqlite 表更新
- js判断访问者是否来自移动端代码
- Android 自定义权限 (<permission> <uses-permission>)
- nagios配置监控hadoop日志
- Approximating a Constant Range(RMQ)
- android 动画
- Android布局中按钮的设置规则,设置按钮单击事件的三种方法