(更新中..先发布一下,再继续加)一款App从粗糙实现功能到优化成型的必经之路

一.最近和我们技术经理探讨关于公司项目优化的问题,探讨思路和方法,由于技术要经理是iOS起家,对于iOS技术总会有一些独到的见地,探讨了一阵子,感觉受益匪浅,怕会忘记,故记一下来。


     一款新的App,除了大厂,能够有老经验的大牛,能够先将整体架构完善好,然后强力的队友优雅的完成外,一般的公司App都是主要以实现功能为主,优化都是后期的事,有的甚至不优化(没人用,优化个P ,不用更新了 账号到期就下架) 如果侥幸 一款被你写的像屎一样的App 可能由于产品的推广或者功能的实用性居然得到了大量的用户,前途一片大好,老板给你加薪升职,让你当leader,给你配小弟,为了项目的发展维护更新,使得更好的性能,更XX,总之,这个时候你或许就应该想想关于App优化的事了。



二.关于一坨屎该如何优化的问题

  可能你是一个老司机,你的项目很成型了,不知道你的项目是否还存在以下问题

1.项目中没有使用Cocoapods,全部是下载导入到项目的。

2.网络框架直接调用AF,没有一个好的封装,或者说,没有一个好的网络框架。

3.项目中每个模块的耦合性太大,互相import,改一个地方,一堆地方都会出问题,修改和更新起来很费劲。

4.项目里没有一套好的数据持久化方案,能不能写一套数据持久化的框架,能够全面的灵活的应对各种需求。

5.现在使用的界面性能是否达到最佳,是否优化了tableVIew,某些视图是否可以用一些自己绘制更好一些,视图还有那些能优化的。


1.关于为何要使用CocoaPods

先说说我之前做的一个项目,那时候刚开始工作,接手的第一个项目是一个功能很少的播放视频的项目,一开始也没听说过CocoaPods,所以诸如AF啊,MJ各种第三方的东西都是直接下载完,拖到项目里的,先不说别的,由于现在做其他项目了,也没人维护更新了,那个项目里面的AFNetworking现在还是一个老版本的,想更新起码就得给原来的删掉,再拖入一个新的,可能还会遇见各种未知的问题。

在那个项目以后,新开发的项目基本上都是使用CocoaPods作为包管理,添加第三方,更新版本什么的简直几句话搞定,还不容易出错。

怎么用现成的文章太多:1.cocoapods的使用方法    2.cocoapods的详细使用说明


2.网络框架封装

我之前的项目里网络框架也是基于AFNetwoking的, 只是在上面做了很简单的一层封装,那时候感觉网络框架太好搞了,改个名,简单封装get,post,加个MD5,就完事了。

直到最近这个项目,技术经理给写了一套基于AF的网络框架,用起来很麻烦,网络接口api需要先在一个APICenter注册一下,自己再给每个接口对应的写个接口映射器reformer,再引入到新创建一个接口的实现类里面,然后调用一些列方法,本项目调用时候就是下图。

(更新中..先发布一下,再继续加)一款App从粗糙实现功能到优化成型的必经之路_第1张图片
网络方法的调用
(更新中..先发布一下,再继续加)一款App从粗糙实现功能到优化成型的必经之路_第2张图片
项目的目录一隅

你可能感兴趣的:((更新中..先发布一下,再继续加)一款App从粗糙实现功能到优化成型的必经之路)