谈一谈App的架构设计( 二 )


  • 网络模块(上传、下载、加密、重试、缓存、请求以及任务管理)
  • 音视频模块(滤镜、播放、裁剪、合生、AV数据采集)
  • 基础框架(String、Array、Dictionary、TableView、Date等原生框架的补充)
  • 数据(同步、读写、升级、清除缓存)
  • 弹窗(toast、hint、alert)
音视频框架可以细分:图片处理、视频处理、渲染处理 。
这些都是公司的宝贵财富,需要一点一点积累,还好我们也是站在巨人的肩膀上,github中有很多可以参考借鉴的例子 。完善公司的知识库后,必将如虎添翼,加速开发节奏 。
如何提升自己架构设计的感觉?
  • 代码的可读性、扩展性、完善自己的加速框架(知识库) 。
  • 勤于思考,在下笔之前,一定要做结构、图表分析 。
  • 多沟通,无论是自己的组员还是自己的上司,或者是设计还是产品,往往灵感一触即发 。
  • 多读第三方的源码,思考为什么作者这样设计,这样做有什么好处和坏处 。
  • 做垂直领域,完善自己的技术壁垒
  • 做宽度领域,多看一些Python、Go、Swift、JAVA、JS、php等语言,见得多才能更全面的分析 。
我收藏的第三方库1.Hue颜色扩展相关2.Snapkitautolayout布局3.Realm数据库4.RxSwift响应式5.Hero转场动画6.Lottie设计师动画7.Alamofire网络8.messageKit聊天UI框架9.Charts表格10.Kingfisher轻量级下载、图像缓存11.ImageScout最小网络代价获得图片大小及类型类12.Gifu高性能gif加载13.Proposer请求本地设备权限14.MonkeyKing无SDK的分享支付(文本、图像、音视频、URL)15.Wormhole设备之间的分享iphone watch16.Promisekit异步编程17.Chamele颜色框架18.Reachability网络监察19.FloatingPanel浮动界面20.LSAnimator链式动画基于CoreAnimation21.Blueprints多种瀑布流22、SwiftyStoreKit 应用内购23、SideMenu 左右菜单栏24、ActiveLabel 替代UILabel25、Nuke 代替Kingfisher26、NotificationBannerapp内通知栏27、XLPagerTabStrip 顶部Tap切换28、SwiftyCam相机封装的很好MonkeyKing 分享平台Debug:FLEX、VZInspector、MT、GT、Matrix 

【谈一谈App的架构设计】


推荐阅读