一个完整的App应该具备哪些功能
一. 前言
从事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应该具备哪些功能相关推荐
- 一个完整直播app功能分析
1.一个完整直播app功能 1.聊天 私聊.聊天室.点亮.推送.黑名单等; 2.礼物 普通礼物.豪华礼物.红包.排行榜.第三方充值.内购.礼物动态更新.提现等: 3.直播列表 关注.热门.最新.分类直 ...
- 健身App应该具备的功能模块
随着国民生活水平的不断提升,国民健身意识的增强,越来越多的人参与到健身的行列当中,时下的健身模式也是多种多样的,除了传统的健身房和一些户外健身外,线上的健身App也是相当的火热,线上的App应该具备哪 ...
- 一款外语学习App需要具备哪些功能
随着社会压力的不断增大,很多家长都希望孩子能掌握一门外语,以便以后可以找到更好的工作.但是语言学习也需要很好的语言环境,家庭环境的影响也起着至关重要的作用.相比较传统的学习模式,线上学习不仅便捷,同时 ...
- 一款听书App应该具备的功能
随着现代人对自我要求的不断提高,智能手机的普及也为人们想要提升自身素质技能额想法提供了便利,各种App,有听书App.健身App.看书App--那么一款听书App应该具备哪些功能呢? 1.更新提醒:一 ...
- Android 数据库制作APP,在Android 中使用Anko框架制作一个完整的App,第二集
作者:feintkotlin(Kotlin学习网) 说明:这次更新对一些小的细节进行了改进,并增加了SQLite的操作.该应用支持6.0及以上android系统 更新:当有网络时,将前5条数据保存到数 ...
- 儿童智能手表APP开发具备哪些功能
如今,几乎每个小朋友家长都会配智能手表,随着智能产品的发展,这两年智能手环.智能手表设备的出现给人们生活带来了方便,我们在使用儿童智能手表APP开发时候还可以随时查看孩子运动情况之类,家长还能通过AP ...
- 开发一款外卖App应该具备哪些功能?
手机app的出现改变了每个人的消费习惯,也改变了每个人的日常生活方式,没有遗漏任何东西.你是否还记的你上次中午下班去吃饭的情景?我不记得我上次中午下班出去吃饭是什么时候了,因为我已经习惯了打开外卖Ap ...
- 开发一款教育app需要具备哪些功能
教育行业一直是人们普遍所关注的事情,正所谓"活到老,学到老"不管你在什么年龄阶段总会有人想通过学习去改变自己,而且在互联网的发展下,线上教育的发展更是突飞猛进,尤其近两年在疫情的背 ...
- 【即时通讯】一个完善的即时通讯模块具备哪些功能?
一个完善的即时通讯模块需要具备哪些功能? 前言 前提需求,目前一个系统,由于产品需求,需要在系统中实现用户之间的即时通讯.那么,这个即时通讯的子系统,需要实现哪些功能呢? 功能列表 单人对单人实时聊天 ...
- 为何要进行教育培训app开发?教育培训app应具备何种功能?
随着生活方式的不断更新,教育培训的形式不只局限于学校以及培训机构的教育模式,老师也不再局限于课堂之中.为了满足这个快节奏时代人们对于能力提升的快速需求,教育培训app开发项目逐渐被很多软件生产商注意到 ...
最新文章
- autojs遍历当前页面所有控件_自定义控件(引入布局)
- C++的沉迷与爱恋——侯捷
- (十四)算法设计思想之“贪心算法”
- python3基础学习(双色球随机生成器)
- Java 反射 set get
- 20145217 《信息安全系统设计基础》第0周学习总结
- QBackingStore::flush() called with non-exposed window, behavior is undefined
- 多种富文本编辑器的对比
- 破解版xftp下载地址
- 【非线性规划】- 无约束问题(1)局部极小值与全局极小值
- Zeppelin求学之路(3)—Zeppelin基本模块介绍和Paragraph源码深入了解以及Note,NoteBook 简介,
- android badgeview activity不显示,关于BadgeView遇到的一个奇怪的问题和解决办法
- C++覆盖(override)
- 删除win10自带微软中文输入法
- 全球知名虚拟服务器,国外十大虚拟主机
- Python爬虫与信息提取(五)爬虫实例:爬取新浪微博热搜排名
- 单向链表—在单向链表的头部插入一个元素
- java 获取星期几_java中获取日期是星期几的两种方法
- P2P技术软件Murder分发大文件
- 抖音申请 TIKTOK 商标被驳回