学习准备

APP架构思考

2016-05-05  本文已影响4225人  勇往直前888

整体架构

一般都是先有PC互联网,再有移动互联网。当移动互联网开始发展的时候,PC端基本已经相当成熟了。因此,一开始移动互联网都是作为PC端的补充而存在的,架构也是简单而直接。这么做短期内能快速落地,但是随着业务的发展,就需要进行架构改造,这是当前很大一部分的现状。

单体应用.jpg

这里最重要的一点是给APP客户端一个独立的后台,独立开发,独立部署,从架构层面彻底摆脱PC思维无线化。

整体架构.png

客户端架构

这一层是对APP的横向拆分,根据业务的特点,分为Native,H5,SDK三块。

客户端架构.jpg

iOS Native 架构

在多年的实际APP开发中,听到报问题最多的两点是

  1. 视觉图还没有给
  2. API接口没数据

根据这两点,将传统的APP分为三层。界面层只做界面相关的事情,和UI一起开发;数据层专门负责API接口的实现,和APP后台一起开发。业务逻辑层主要用来实现业务规则,做到与数据和界面无关,尽量提高复用度。

当然,考虑将逻辑层和数据层独立出来的原因,是随着APP规模的扩大,为了达到方便部门间合作,模块复用,敏感数据隔离等目的。

这里的思路主要有以下几点

iOS Native架构.jpg

界面层

组合模式,考虑用xib实现,所见即所得
继承模式,从系统的控件一级继承,用代码实现
远期考虑用framework封装,方便在多项目中复用

逻辑层

数据层

技术选择

兼容性

当前最低支持iOS8或者iOS9;放弃iOS7;为即将到来的iOS10提前做好准备

当前支持iPhone5,iPhone5S,iPhone5C,iPhone6,iPhone6S,iPhone6Plus,iPhone6S Plus;放弃对iPhone4,iPhone4S的支持;等iPhone7出来之后,逐步减少对iPhone5系列的支持
从屏幕尺寸来说,当前支持4英寸,4.7英寸,5.5英寸;放弃对3.5英寸屏支持。设计可以4.7英寸为主,用autolayout,进行屏幕尺寸适配

碎片化控制是iOS开发一项重要特色
优先支持新特性,在AppStore中有加分项
控制warning数在个位数之内,及时进行系统API的替换

上一篇 下一篇

猜你喜欢

热点阅读