美文网首页
iOS架构之路?iOS架构之路!(一)

iOS架构之路?iOS架构之路!(一)

作者: 莫寂岚 | 来源:发表于2018-11-29 15:39 被阅读23次

前言

标题为什么要加个问号,因为我自身阅读了很多关于所谓APP架构的文章、博客、资料等等,不论是cocopods组件化、还是用精妙的目录结构、各种设计模式去尝试构架一个低耦合、模块复用性高的APP,似乎都存在诸多疑问,无法解决。没有一个统一的设计原则,那一部分代码改写到哪里,我一直很困惑。
在阅读了泊学的文章后,我觉的,这个困惑似乎有中拨开云雾见太阳的感觉。故而添加了感叹号。

APP的工程结构

在一个APP中,随着长期的维护,以及开发工程师的轮换。项目越来越臃肿,越来越庞大。
怎么样的工程结构,怎么样的代码书写原则是优秀的,是一直以来我思考的问题。
以下的文件分类模式,我觉的给了我答案。

  • A - 和APP启动相关的代码,配置以及资源;
  • B - 和UI的显示以及交互相关的代码;
  • C - 对UIKit的公共扩展;
  • D - 存储数据的model
  • E - 使用的第三方库

分类确定了以后,选用怎样的方式去搭建项目?
cocopods? Carthage? 或者还有其他的方式?
对于B/C/D这三个部分,由于彼此独立,为了方便同步开发,并且,让C与D的代码可以充分的复用,我们在项目里面采取Framework的形式去进行管理。
其中:

  • XXX_iOS 里是和UI的显示以及交互相关的代码;
  • XXXUIKit 里面是整个项目中会用到的对UIKit的公共扩展
  • XXXDataKit 里面是真个项目的数据存储以及访问接口,可以视作APP的View Model以及Model;

那么对于A的部分:
其实就是AppDelegate、 inforplist、*.strings等文件,当然,包括资源文件。

对于E的部分,说实话,在参考了诸多的文章和博客之后,对于选用cocopods还是选用carthage,我没有任何的偏向,在这里,我选择了不如pod自动化程度高,但入侵性小的carthage方法管理第三方库。

OK,按照以上的原则,我们搞定了之后的项目,截图如下:


2018-11-29-15-33-50.jpg

那么,目前为止,项目的文件目录就搭建好了。

本文参考文章 泊学APP开发系列

如有侵权,请即刻告知。

相关文章

  • 架构之路

    1. 架构之路 (一) —— iOS原生系统架构(一)2. 架构之路 (二) —— APP架构分析(一)3. 架构...

  • 应用架构文章

    Service Oriented 的 iOS 应用架构 新浪微博iOS客户端架构与优化之路 糯米移动组件架构演进之...

  • iOS架构之路?iOS架构之路!(一)

    前言 标题为什么要加个问号,因为我自身阅读了很多关于所谓APP架构的文章、博客、资料等等,不论是cocopods组...

  • iOS系统架构

    1: 滴滴出行iOS客户端架构演进之路 2: iOS应用架构谈 组件化方案 3:iOS组件化方案调研 4: 饿了么...

  • ios - 收藏集 - 掘金

    天弘基金移动 App 客户端架构优化之路 - iOS - 掘金天弘基金移动App客户端架构优化之路 随着移动互联网...

  • iOS组件化文章汇总

    iOS应用架构谈 组件化方案 APP组件化之路 我所理解的组件化之路 iOS 组件化方案探索 围观神仙打架,反革命...

  • iOS架构之路

    1,MVC、MVP、MVVM理论及代码演示https://juejin.im/entry/5aa1fd766fb9...

  • iOS架构

    这里说几个概念:iOS系统框架:iOS系统架构:iOS架构:iOS 代码架构:iOS架构师:iOS架构设计: iO...

  • iOS架构

    iOS架构iOS架构

  • 学习笔记 - iOS 组件化方案

    一、蘑菇街 App 的组件化之路 二、iOS应用架构谈 组件化方案 三、蘑菇街 App 的组件化之路·续 四、iO...

网友评论

      本文标题:iOS架构之路?iOS架构之路!(一)

      本文链接:https://www.haomeiwen.com/subject/mbdfcqtx.html