作家
登录

iOS从0到1搭建高可用App框架

作者: 来源: 2017-05-27 12:04:29 阅读 我要评论

5. Base文件夹用来存放项目标基类,基类感化包含一些定制化的内容,例如页面样式,空数据页面等,应用基类来实现,可以同一控制,利于保护,削减冗余,也为更清楚。

比来在搭建新项目标iOS框架,一向在思虑若何才能搭建出高可用App框架,可否避免后期因为代码质量问题的重构。以前接办过很多“烂代码”,架构松散,底层纷乱,缺乏规范,导致团队开辟时代码风格迥异,清楚的项目构造和优胜的代码规范是包管产品德量的关键,下面分享一下我的架构思路。

架构图:

iOS大年夜0到1搭建高可用App框架

架构原则:易读性、易保护性、易扩大性。

一、思虑

做好一件事,花在思虑上的时光应当多于履行。

1. 产品的定位是什么。

社交?媒体?游戏?活动?音视频?电商……要搞清跋扈你要做一个什么类型的App,不合类型的产品,技巧选型也有所不合,在这我是搭建一个基本App架构,可以在此基本上彀展社交、电商、音视频等!

2. 技巧选型

根据当前产品的需求以及将来可能有的需求(我怎么知道将来会有什么需求?可以参照竞品,可以发挥想象,如不雅产品说:“我们要做IM文字聊天,只做文字!不做音视频,今后都不做!” 类似如许典范诺,你如不雅信了他的邪……后面的故事就出色了。。哈哈哈哈哈哈。。。。所以嗣魅这时刻你就要推敲到后面会有语音+视频聊天,在设计的时刻不要偷懒,预留必定空间,当某天产品反悔的时刻,你可以微微一笑,安闲应对。

一把拉回话题,接着说技巧选型,平日我会选择一些当下比较热点、好用的第三方框架,例如: YYKit ,YYKit 是一组宏大年夜、功能丰富的 iOS 组件,包含Model解析、图片加载、缓存等基本办事,都是基于Category设计的,应用便利且机能高于一些老的框架,用过的都说好。

其他框架的选择可以根据项目需求,去GitHub上搜刮,星星多的每个都看一下,会给你增长一些思路。

法度榜样猿长得可以保守,思惟必定不克不及太保守。

二、搭建目次构造

iOS大年夜0到1搭建高可用App框架

如上图,我是如许搭建App目次构造的,大年夜下到上,应用Pods治理第三方框架,将第三方框架进行二次封装,供给顶层应用,尽可能削减各模块之间的耦合度,只为更清楚。

三、封装基本类

iOS大年夜0到1搭建高可用App框架

1. AppDelegate是应用的代劳,应用级的事宜都宛转它处理,包含启动退出、推送等事宜,以及IM、付出等第三方的回调,这使得AppDelegate内代码宏大年夜,错综复杂,十分晦气于浏览和保护,是以我新增了一个AppDelegate+AppService类别,用来处理生命周期之外的营业,AppDelegate作为事宜人口,具体实现直接调用类别里的办法,只为更清楚。

iOS大年夜0到1搭建高可用App框架

3. Manager的定义是全局基本办事,平日应用类办法或者单例来实现,重要包含对应用、用户的治理和办事,例如收集状况监听,告白页应用介绍页等;用户快速登录退出操作以及登录状况的获取等。只为更清楚。

iOS大年夜0到1搭建高可用App框架

4. Utils文件夹内重要包含全局通用对象,来源竽暌冠对三方框架的二次封装,或是本身写的对象类。在这个项目里,我封装了带AES加密收集请求对象,全局Toast提示,告白页等。只为更清楚。

iOS大年夜0到1搭建高可用App框架

iOS大年夜0到1搭建高可用App框架

iOS大年夜0到1搭建高可用App框架

起首根据产品需乞降设计图,脑中先建立一个产品架构:

6. 第三方文件夹放一些第三方的类库和对第三方封装,比如第三方登录、付出、IM等,如今项目我还没有添加第三方框架。

7.全局宏顾名思义是定义了一些全局通用宏。我这里定义了四个:

UtilsMacros定义的是一些对象宏,比如获取屏幕宽高,体系版本,数据类型验证等;

2. Modules包含了应用内的功能模块,根据底部Tab栏划分并接洽关系实体文件夹(默认是虚拟的要手动建立实体文件夹拖进来),每个模块内应用的是MVC模式,有人会问为什么多了Resource和Service文件夹,MVC是一种设计思惟,并非逝世套路就仨文件夹,根据实际需求恰当增长,在这我选择在Service封装数据请求,VC里调用拿数据即可,至于Resource为什么在这,我认为当功能模块层级较多时,每个大年夜功能模块都对应很多资本,对应到模块内用起来便利,当然也可以放到最外层的Resource文件夹里,建立对应的模块名称,在这儿我是选择把公共的放到最外层Resource里,功能相干的放到模块里的Resource文件夹内,只为更清楚。


  推荐阅读

  Kubernetes管理:看看EBay的蜜汁配方

世界最大年夜企业之一的EBay公司筹划鄙人个季度为OpenStack和Kubernetes治理向开源社区供给其筹划。电子商务巨擘eBay公司拥有着世界最大年夜OpenStack私有云中的一个。自负年夜2015年以来>>>详细阅读


本文标题:iOS从0到1搭建高可用App框架

地址:http://www.17bianji.com/lsqh/35471.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)