一. 前言

从事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,按照文档去集成就可以了。详情可以参看各自的文档,AlIPay和WXPay。

4.社会化分享

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

5.IM功能

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

6.热修复

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

一个完整的App应该具备哪些功能相关推荐

  1. 一个完整直播app功能分析

    1.一个完整直播app功能 1.聊天 私聊.聊天室.点亮.推送.黑名单等; 2.礼物 普通礼物.豪华礼物.红包.排行榜.第三方充值.内购.礼物动态更新.提现等: 3.直播列表 关注.热门.最新.分类直 ...

  2. 健身App应该具备的功能模块

    随着国民生活水平的不断提升,国民健身意识的增强,越来越多的人参与到健身的行列当中,时下的健身模式也是多种多样的,除了传统的健身房和一些户外健身外,线上的健身App也是相当的火热,线上的App应该具备哪 ...

  3. 一款外语学习App需要具备哪些功能

    随着社会压力的不断增大,很多家长都希望孩子能掌握一门外语,以便以后可以找到更好的工作.但是语言学习也需要很好的语言环境,家庭环境的影响也起着至关重要的作用.相比较传统的学习模式,线上学习不仅便捷,同时 ...

  4. 一款听书App应该具备的功能

    随着现代人对自我要求的不断提高,智能手机的普及也为人们想要提升自身素质技能额想法提供了便利,各种App,有听书App.健身App.看书App--那么一款听书App应该具备哪些功能呢? 1.更新提醒:一 ...

  5. Android 数据库制作APP,在Android 中使用Anko框架制作一个完整的App,第二集

    作者:feintkotlin(Kotlin学习网) 说明:这次更新对一些小的细节进行了改进,并增加了SQLite的操作.该应用支持6.0及以上android系统 更新:当有网络时,将前5条数据保存到数 ...

  6. 儿童智能手表APP开发具备哪些功能

    如今,几乎每个小朋友家长都会配智能手表,随着智能产品的发展,这两年智能手环.智能手表设备的出现给人们生活带来了方便,我们在使用儿童智能手表APP开发时候还可以随时查看孩子运动情况之类,家长还能通过AP ...

  7. 开发一款外卖App应该具备哪些功能?

    手机app的出现改变了每个人的消费习惯,也改变了每个人的日常生活方式,没有遗漏任何东西.你是否还记的你上次中午下班去吃饭的情景?我不记得我上次中午下班出去吃饭是什么时候了,因为我已经习惯了打开外卖Ap ...

  8. 开发一款教育app需要具备哪些功能

    教育行业一直是人们普遍所关注的事情,正所谓"活到老,学到老"不管你在什么年龄阶段总会有人想通过学习去改变自己,而且在互联网的发展下,线上教育的发展更是突飞猛进,尤其近两年在疫情的背 ...

  9. 【即时通讯】一个完善的即时通讯模块具备哪些功能?

    一个完善的即时通讯模块需要具备哪些功能? 前言 前提需求,目前一个系统,由于产品需求,需要在系统中实现用户之间的即时通讯.那么,这个即时通讯的子系统,需要实现哪些功能呢? 功能列表 单人对单人实时聊天 ...

  10. 为何要进行教育培训app开发?教育培训app应具备何种功能?

    随着生活方式的不断更新,教育培训的形式不只局限于学校以及培训机构的教育模式,老师也不再局限于课堂之中.为了满足这个快节奏时代人们对于能力提升的快速需求,教育培训app开发项目逐渐被很多软件生产商注意到 ...

最新文章

  1. autojs遍历当前页面所有控件_自定义控件(引入布局)
  2. C++的沉迷与爱恋——侯捷
  3. (十四)算法设计思想之“贪心算法”
  4. python3基础学习(双色球随机生成器)
  5. Java 反射 set get
  6. 20145217 《信息安全系统设计基础》第0周学习总结
  7. QBackingStore::flush() called with non-exposed window, behavior is undefined
  8. 多种富文本编辑器的对比
  9. 破解版xftp下载地址
  10. 【非线性规划】- 无约束问题(1)局部极小值与全局极小值
  11. Zeppelin求学之路(3)—Zeppelin基本模块介绍和Paragraph源码深入了解以及Note,NoteBook 简介,
  12. android badgeview activity不显示,关于BadgeView遇到的一个奇怪的问题和解决办法
  13. C++覆盖(override)
  14. 删除win10自带微软中文输入法
  15. 全球知名虚拟服务器,国外十大虚拟主机
  16. Python爬虫与信息提取(五)爬虫实例:爬取新浪微博热搜排名
  17. 单向链表—在单向链表的头部插入一个元素
  18. java 获取星期几_java中获取日期是星期几的两种方法
  19. P2P技术软件Murder分发大文件
  20. 抖音申请 TIKTOK 商标被驳回

热门文章

  1. PlatformError: WGL: Failed to make context current
  2. 张健和他的Fcoin
  3. 搜狐狐友社交软件可以组合各个产品的用户量
  4. 激活mircrosoft office2013
  5. 浅谈链表的构建,next到底是什么
  6. mysql数据库SQL语句介绍
  7. Activiti 会签/或签 设计思路
  8. flutter | 悬浮窗解决方案 flutter_floating
  9. FAT32学习笔记(五)——fat相关工具
  10. ADXL345传感器小结