App接口设计原则

近几年一直在做移动端的项目,每次制定标准都需要解释一遍,想想还是写一篇文章都记下来吧。



1、记住密码不是真的让你记住密码,这里仅仅指的是一种自动登录的手段。不管在任何地方,明文存储的密码都是安全隐患,是必须尽量避免的。你可以采用某种方式对用户名、密码以及时间戳(重要)进行签名,再次登录时使用签名后的数据进行登录。

2、客户端要包含超时机制,见过不止一次的服务端设计是通过客户端发送的userid来区分用户的。对此我真的已经无力吐槽了。最简单的办法是用session来记录用户状态。当然,考虑到客户端的特性,用户可能好几天都没有关闭一次,必须配合自动登录机制来保证客户端的在线。

3、接口请求成功或失败,需要有明确的标识符来表示。并且对错误原因进行描述。同时因为客户端可能是多语言的,错误原因应该设计为errorCode,由客户端根据errorCode来显示成对应的语言。

4、errorCode应该具有唯一性,例如登录超时使用10001,请求任意接口超时时都应该返回10001。方便客户端统一处理。

5、接口设计应统一,不能出现在登录接口中用户名称为username,获取用户详情接口变成nickname的情况。客户端与服务端尽量采用相同的业务模型划分。接口中属性应按照业务模型的归属关系分层。

我们来看看下面两个接口

因为两个接口中都包含人物对象,则人物的属性名应该是相同的。

再如下图是对同一个接口的两种设计

左侧这个是符合我们的原则的,而右边不符合。我们并不是说右边的设计不好,只是左边更加符合客户端MVC的划分。因为作者本身也是一个“人物”的业务模型,当我们点击作者头像的时候,应该进入该作者的简介。这个简介界面与我在好友列表中进入的是同一个界面。从界面初始化参数上来看,我们只需要把“人物”模型传递进去就可以了。

先写这么多,后续再补充吧

时间: 2024-10-08 08:54:05

App接口设计原则的相关文章

App接口设计原则-b

1.记住密码不是真的让你记住密码,这里仅仅指的是一种自动登录的手段.不管在任何地方,明文存储的密码都是安全隐患,是必须尽量避免的.你可以采用某种方式对用户名.密码以及时间戳(重要)进行签名,再次登录时使用签名后的数据进行登录. 2.客户端要包含超时机制,见过不止一次的服务端设计是通过客户端发送的userid来区分用户的.对此我真的已经无力吐槽了.最简单的办法是用session来记录用户状态.当然,考虑到客户端的特性,用户可能好几天都没有关闭一次,必须配合自动登录机制来保证客户端的在线. 3.接口

【APP UI 设计模式】(一)APP UI 设计原则和流程

一.基本原则         1.用户体验原则UCD,以用户为中心去设计         2.设计模式是可重用的设计规范实现         3.反模式是糟糕设计的典型,极力避免使用         4.试验模式--超越既有理念和移动现状的设计,有望成为下一个主流UI设计模式. 二.主要内容         1.APP UI 设计模式描写叙述的对象是智能手机.平板.智能设备等设备上执行的应用程序.         2.设备多样性-->设计多样性         3.设备类型定义:        

APP开发设计应以人为本!浅谈APP交互设计原则

为什么APP开发设计需要原则?设计原则其实就是对一些设计过程中基于人类的认知规律对设计做出的一些指导性原则,并且对已经成为行业共识的设计经验做个总结,用来指导设计师界定问题.提高效率. 先就APP开发设计 http://www.czwew.com 常州紫竹云科技产品经理分享交互设计的时候最为大家所认可的几条设计原则:可学习性.一致性.简洁性.流畅性.及时反馈.除了这么六个?还有其他的吗?你放心,如果需要还有更多. 一.经常用的设计原则有哪些? 1.可学习性   目标用户在已有的知识和经验基础上,

优秀的API接口设计原则及方法(转)

一旦API发生变化,就可能对相关的调用者带来巨大的代价,用户需要排查所有调用的代码,需要调整所有与之相关的部分,这些工作对他们来说都是额外的.如果辛辛苦苦完成这些以后,还发现了相关的bug,那对用户的打击就更大.如果API经常发生变化,用户就会失去对提供方失去信心,从而也会影响目前的业务. 但是我们为什么还要修改API呢?为了API看起来更加漂亮?为了提供更多功能?为了提供更好的性能?还是仅仅觉得到了改变了时候了?对于用户来说,他们更愿意使用一个稳定但是看起来不那么时髦的API,这并不意味着我们

关于APP接口设计(转)

最近一段时间一直在做APP接口,总结一下APP接口开发过程中的注意事项: 1.效率:接口访问速度 APP有别于WEB服务,对服务器端要求是比较严格的,在移动端有限的带宽条件下,要求接口响应速度要快,所有在开发过程中尽量选择效率高的框架,PHP建议使用YAF框架. 2.数据格式 最好使用JSON格式数据,因为JSON有较好的跨平台性.对于 3.数据量 按需分配,APP客户端需要什么数据就返回什么数据,过多的数据量影响处理速度,最重要的是影响传输效率. 4.接口.参数命名准确 无论是接口还是参数,命

关于APP接口设计

最近一段时间一直在做APP接口,总结一下APP接口开发过程中的注意事项: 1.效率:接口访问速度 APP有别于WEB服务,对服务器端要求是比较严格的,在移动端有限的带宽条件下,要求接口响应速度要快,所有在开发过程中尽量选择效率高的框架,PHP建议使用YAF框架. 2.数据格式 最好使用JSON格式数据,因为JSON有较好的跨平台性.对于 3.数据量 按需分配,APP客户端需要什么数据就返回什么数据,过多的数据量影响处理速度,最重要的是影响传输效率. 4.接口.参数命名准确 无论是接口还是参数,命

App接口设计之token的php实现

为了保证移动端和服务端数据传输相对安全,需要对接口进行加密传输. 一.ttoken的设计目的:  因为APP端没有和PC端一样的session机制,所以无法判断用户是否登陆,以及无法保持用户状态,所以就需要一种机制来实现session,这就是token的作用 token是用户登陆的唯一票据,只要APP传来的token和服务器端一致,就能证明你已经登陆(就和你去看电影一样,需要买票,拿着票就能进了) 二.token设计时的种类: (1)第三方登陆型: 这种token形如微信的access_toke

ThinkPhp3.2.3 多项目 后台 APP接口设计 框架设计

↓↓↓项目文件组成部分↓↓↓ APP文件是后台,index.php是入口文件 Interface文件是接口,注意这里不要用api命名!可能会有问题!interface.php是入口文件 注:两个入口文件唯一的区别就是interface比app入口文件多一行设置 // 应用api模式 define(‘APP_MODE’,’api’); 这句话的意思就是表示该项目引用api模式,在3.2.3的model下,你可以看到api.lite.sae三个文件夹,以及同名的三个php文件和一个common.ph

五大设计原则------接口隔离原则

在讲接口隔离原则之前,先明确一下接口,这里据说的接口分为两种: 1. 实例接口(Object Interface),就是声明一个类,然后用 new 关键字产生一个实例,它是对一个类型事物的描述,这是一种接口. 2. 类接口(Classs Interface) ,就是指用 Interface 关键字定义的接口. 接口隔离包含两层意思: 1.客户端不应该依赖于它不需要的接口 2.类间的依赖关系应该建立在最小的接口上. 针对1就是指客户端应该依赖于它需要的接口,通俗地说就是: 客户端需要什么接口就提供