关于APP接口设计 注意事项
最近一段时间一直在做APP接口,总结一下APP接口开发过程中的注意事项:
1、效率:接口访问速度
APP有别于WEB服务,对服务器端要求是比较严格的,在移动端有限的带宽条件下,要求接口响应速度要快,所有在开发过程中尽量选择效率高的框架,PHP建议使用YAF框架。
2、数据格式
最好使用JSON格式数据,因为JSON有较好的跨平台性。对于
3、数据量
按需分配,APP客户端需要什么数据就返回什么数据,过多的数据量影响处理速度,最重要的是影响传输效率。
4、接口、参数命名准确
无论是接口还是参数,命名都应该有意义,让人一目了然。
5、一个页面尽可能就用一个接口
现在很多的APP页面都有广告、焦点图、文章列表等,对于这些不同格式的数据,不可能都分配一个接口,这样加大了APP请求接口数,影响响应速度。建议服务器端尽可能处理好数据后通过一个接口返回给APP客户端。
6、缓存
这点比较重要,不管是文件缓存还是memcache缓存。
7、接口要有可扩展性
8、接口安全
目前一般都是在APP客户端和服务器通过约定的算法,对传递的参数值进行验证匹配。但是如果APP程序被反编译,这些约定的算法就会暴露,特别是在安卓APP中,有了算法,完全就可以通过验证模拟接口请求。
9、接口版本控制
对于接口版本控制,自己目前也没有找到一个好的方法,怎么去应对不断的APP版本升级,新、旧接口的处理。
10、接口数据、状态
接口必须提供明确的数据状态信息,不管是成功的,还是失败的,都必须返回给APP客户端。
以上10点就是自己在这端时间做APP接口过程中注意的事项,写的有点乱,想到什么就写什么。
关于APP接口设计 注意事项相关推荐
- app接口设计之signature签名的php实现
app接口设计之signature签名的php实现 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 1. ...
- APP界面引导页设计注意事项
海淘科技与你分享<APP界面引导页设计注意事项> 一.什么内容需要引导 1. 产品特色 展示产品的核心竞争力及最有特色的点,让用户清晰地了解该产品和同类产品相比最突出的优势,有一个良好的第 ...
- APP架构设计经验谈:接口的设计
APP架构设计经验谈:接口的设计 原创文章,转载请注明:转载自Keegan小钢并标明原文链接:http://keeganlee.me/post/architecture/20160107微信订阅号:k ...
- java 接口api设计的注意事项_Java接口设计原则
类原则 1.单一职责原则 – Single Responsibility Principle(SRP) 就一个类而言,应该仅有一个引起它变化的原因. 职责即为"变化的原因". 2. ...
- JAVA接口设计篇:这些都不知道,别说你懂接口设计
背景 昨天测试提醒有个功能报错了,我看了下,发现接口有过更新. 然后顺便问了下开发同学,确实有更新. 他们的更新是把现有的接口进行了修改. 导致返回的数据结构变更了,以至于接口直接报错. 其实负责后端 ...
- APP开发外包注意事项
APP开发外包注意事项 1. 确定找个人或者团队 这个问题的关键点在于项目的预算,以于项目质量和开发周期的要求. 个人,团队和公司的开发质量在大部分情况下都是后面高于前者, 如果项目预算充足的情况下, ...
- 使用PHP开发App接口的一些体会
前言 做了1年半的PHP开发,对PHP写接口的一些注意事项和心得体会也是有一些的.有空就写下来分享一下,大部分参考别人的一些建议. 文档要写周全,需要的每个字段,规定是什么类型,什么含义要标柱清楚,写 ...
- 蓝牙(BLE)应用框架接口设计和应用开发——以TI CC2541为例
本文从功能需求的角度分析一般蓝牙BLE单芯片的应用框架(SDK Framework)的接口设计过程,并以TI CC2541为例说明BLE的应用开发方法. 一.应用框架(Framework) 我们熟知的 ...
- PHP/TP5 接口设计中异常处理
PHP提供 Exception 类来处理异常 new Exception('错误信息(默认为空)','错误代码(默认0)','异常链中前一个异常') 然后可以通过 e -> getMessage ...
- 财务金融类网页及app界面设计模板
随着手机银行App线上化转型的日渐成熟,其设计上也更加关注情感化元素的融入,一改金融系产品严肃.工具感强的特征,努力为用户提供更有温度的金融服务体验.那么,围绕情感化设计的三个层次,就让我们一起来看一 ...
最新文章
- oracle外键如何创建索引,子表建立外键的索引问题
- 死而复生?RethinkDB宣布进入Linux基金会!
- Leetcode 103. 二叉树的锯齿形层次遍历 解题思路及C++实现
- 80%开发者都不知道的以太坊骚操作:「事件」和「日志」还可以这么玩!
- 读“NoSQL注入的分析和缓解”之摘录
- Azure恢复服务-DPM联机备份SQL数据库
- collection转换为list_JAVA 集合 接口继承关系和实现,List,Set,Map(总结)
- Python基础7(集合与深浅copy)
- 【华为云技术分享】解析数据治理在过程可信变革中的运作流程
- 从零开始学Pytorch(十二)之凸优化
- 2.图像作为函数 | 如何把图像看作函数_2
- XXE漏洞原理/防御
- Oracle每日一题——(1) 启动/停止监听
- 解决mac pro中三指轻按翻译的功能不起作用
- GTD工具 Wunderlist使用心得总结
- vue项目中常用解决跨域的方法
- 《谁说菜鸟不会数据分析》数据处理 之 数据清洗--重复数据的处理
- windows系统镜像修复计算机,Win7操作系统下系统还原和映像修复方法
- 初学Android,图形图像之使用Canvas,Paint绘图(二十五)
- JVM 上篇(4):虚拟机栈
热门文章
- x64位xp连接位于32位xp系统上的打印机
- Padavan老毛子固件玩法入门
- 管家婆服装.NET II TOP V6.5-采购入库单(一)
- vba手机号码归属_Android中手机号码归属地查询实现
- c语言 屏幕刷新,屏幕刷新率
- eclipse angularjs 插件安装
- Norsar 3D v5.44 Linux 1CD(功能强大的正演软件)
- JavaWeb学习笔记
- 基于matlab的信号频谱分析 开题报告,基于MATLAB的数字信号处理开题报告
- java hsqldb数据库_【DataBase】Hsqldb的简单使用