一. 前言

    从事iOS App开放也好几年了,一直都想总结一些自己的心得体会,记录自己的点点滴滴。每个项目或者每个开发周期,都像一个循环,从开始到结束,中间修修改改,其实我们可最做的更好。其实有些东西都是不断的在重复,而不是不断在提高,对于重复的东西做的更快更好,对于有挑战的东西更多的探索。

 

组件化 模块化 路由 可配置

 

二.业务

  • 用户
  • 登录页面
  • 注册页面
  • 我的页面
  • 个人信息页面
  • 设置页面
  • 关于页面
  • 重置密码页面
  • 修改密码页面
  • 产品
  • 房产-买房和租房
  • 金融-股票、基、保险和理财产品
  • 猫眼-电影票、演出
  • 其他
  • 启动页
  • 引导页
  • 广告页

 

三.UI框架

  • 标签式 Tab Menu
  • 跳板式  Springboard
  • 列表式 List Menu
  • 旋转木马 Carousel
  • 抽屉式 Drawer
  • 点聚式 Plus
  • 陈列馆式 Gallery
  • 瀑布式 Waterfall

 

三.App架构

  • View层的组织和调用方案
  • 模块化、路由
  • 组件化
  • TableView优化
  • 网络层设计方案
  • 动态部署方案
  • 本地持久化方案

 

四. 功能

    不同类型的App,产品的的重心不一样,相应的功能有不同的重点,挖的深度不一样。就是想把这些东西模块化,记录下踩过的坑。从产品的角度观察一个App。

    1.信息展示架构

        分类 + 筛选 + 搜索 + 列表 + 详情。这是很多App最核心,也是最基本的流程。信息展示的信息架构,怎么让用户高效、简单地检索到自己想要的信息,是很重要的事情。以网易严选、猫眼电影、豆瓣为例。

    2.基于LBS的地图定位的功能。

        定位功能是把App提供的服务和显示的世界联系起来的一种方式,比如地图找房,附近的餐馆,都是有现实的应用场景。iOS当中定位服务和地图显示服务是分别分装在两个framework当中,分别是CoreLocation和MapKit。

    3.支付功能

        现在很多功能都有支付场景,主流的支付方式主要有微信支付和支付宝支付两种方式。使用方法也很简单,下载SDK,按照文档去集成就可以了。详情可以参看各自的文档,AlIPayWXPay

    4.社会化分享

        现在移动互联网的社交属性很常见。把一些评论和图片分享到微信,QQ和微博的等主要社交平台是很常见的功能。这个比较麻烦的是要到各大平台去注册账号,然后集成到App当中,略为繁琐。

    5.IM功能

        所谓IM就是即时通讯,在我们的应用内开通用户间的聊天功能。我们公司用的是环信的SDK,页面看起来很简单,开发起来还是挺复杂的,细节很多。详细的可以看他们公司的文档

    6.热修复

        所谓热修复就是动态的更改代码,就是增量更新。因为iOS App上线有很长的审核周期,当发现App有很严重的缺陷时只能重新发布新的版本。这时候用户只能忍受这个bug,但是热修复可以通过更改线上的代码来达到修复bug的目的。显示使用是JSPatch,能实现无痛更新。