程序员心髓:移动应用API设计10大技巧

移动App与基于Web/云服务发生对话是很常见的事情,最简单的可能仅仅只是检索数据,但也可能包含发送数据、用户受权和管理。而这也就验证了为移动应用创建API的重要性,为此,咱们特总结了10大移动API设计技巧。后端


1. API版本控制缓存

不管什么时候,开发者要想保证应用正常运转,对API进行修改老是不可避免的,可能只是对某些功能执行添加、删除或其余操做。当遇到这种状况时,你就不得不暂停API部分的使用,或者容许正在使用的应用对须要被返回的行为及响应类型有着明确的认知。安全


API就如同你的应用后端与使用它的应用之间存在一个约定。没有适当的版本控制,一方能够在另外一方彻底不知晓的状况下更改约定,那么,你将处于很是危险的境地。对多个API版本提供支持,可让那些没有及时升级应用的用户继续使用,而经过App的最新版,可让你了解到最新API的全部变化。服务器

在一款移动App中,API版本控制的重要性显而易见。若是没有API的版本控制,那么在对API进行修改时很容易会形成App中止运行,由此而形成的后果,会让你哭天抢地追悔莫及。框架

2. 返回数据,不要超出须要工具

在必定程度上,应用与服务器之间发送的数据量将会影响发出请求及其响应的时间。它所形成的影响不只仅只是用户紧盯加载页面所花费的时间,还可能包括加载页面所花费的流量。性能

3. 对发送及接收数据进行压缩spa

除了上述不要返回数据超出须要以外,经过对发送及接收的数据进行压缩,可让你在速度和数据传送上事半功倍,体验到更多的好处。.net

4. 坚定删减多余的步骤/请求设计

为了提供单独的离散步骤而进行API设计的状况很常见,但这是反映该服务是如何被使用的。所以在大多数状况下,这些离散步骤反而不是执行移动App最行之有效的方法。

让咱们来举一个很是简单的例子。当用户在能够发送请求数据以前已经提供了有效的认证信息并登陆。这可能非常合情合理,咱们能够将其理解为两个单独的步骤:

  • 提供的认证信息有效,API响应一个会话令牌。
  • 当数据请求发出时,该会话令牌经过。

但事实上执行此操做并不须要如此反复的过程。当一个单一的请求发出时,经过认证信息及其相关数据细节,数据及会话令牌在请求过程当中同时被返回。

这样作的好处是当用户使用App时,响应速度更快,使用流量也更少。对于开发者而言,这可让应用代码更为简单,如此一来,既下降了开发成本,也能够减小维护费用,皆大欢喜,何乐而不为呢。

5. 合并请求及响应

除了做为身份验证或应用启动过程当中所发出的多重请求,在应用程序的单页或视图中,为了对全部数据进行检索,都有可能发出多重请求。为页面须要的全部数据创建一个单一请求,其速度要比多重请求快得多,而且成本也更低。而速度及成本也正是用户在使用应用程序时首先考虑的两大要素。


再者,合并请求及响应也可让应用代码更为简单,尤为是关于处理多重请求发出却没有成功的状况。若是将全部请求进行合并,或化整为零,再多的异常状况也都变得很是简单,容易处理。

6. 重中之重:安全性

安全性是一个潜藏着危机可能随时会迸发的复杂问题,这也使得App对于安全问题及时作出响应难上加难。

所以,要时刻考虑如下内容:

  • 确保数据在传输过程当中绝对安全;
  • 数据等待传输时安全;
  • 使用API不当或未经受权;
  • 潜在的恶意或意外数据所带来的后果。

7. 认真计划并执行你的缓存策略

若是你的应用API返回值不会常常性改变,那必定要实施适当的缓存策略。这可能会涉及到在内存中保存数据,而不是反复地从硬盘中读取数据,此外,还会对HTTP部分的缓存性能产生影响。

  • 服务器端

若是你在服务器上进行缓存,那么,就要确保当遭遇宕机之时,你能有办法强行停用服务。

  • 客户端

除了服务器端,使用API的应用客户端也要确保实施适当的缓存策略。若是你在使用最新返回的数据时请求调用,那么你能够节省必定的时间及资源。若是你在初始化时避免执行调用操做,则会节省更多的时间和资源。

8. 整合分析

分析是理解一个App如何使用的很是重要的组成部分。在App正常使用期间,对于调用而言,除了发出数据请求以外,作出一个分析服务是很常见的。例如,若是应用尝试调用服务来刷新页面显示数据,而后用户导航到该页面,那么就会在添加一个单独的追踪/分析到该导航时产生冗余。


在最原始时期,使用API能够对App的使用方法及时间起到一个指示性的做用。与之对比的是丰富的分析工具及框架,它们能够提供用户与App交互的很是详尽的信息。若是目前的你是介于二者之间,那么,就请认真思考如何进行整合分析,或者仅仅只是为了追踪应用使用状况,而发出一个额外或者多余的调用。

9. 究竟如何命名?请认真思考!

命名反映了你赋予API的方法、对象、属性及参数,这也会极大地影响到使用API的人的理解方式。当建立API时,不管用户首先想到的是何种术语或用语,就其自己而言,它就很是具备吸引力。就如同全部代码同样,你使用它的很大一部分缘由在于API如何被理解及其被指望的表现。若是名称起很差,就会让人很是困惑。困惑致使错误,错误致使bug,bug致使延迟及支持成本上升。所以,多花点时间在命名上吧!

10. 不要忘了你的隐私权保护政策及责任

若是你的应用须要捕获到用户数据或登录到服务器并记录请求,那么你就必须制定一个隐私权保护政策,来向用户详细介绍你是如何使用这些数据信息的。此外,你还必须思考如何存储及保护这些数据,尤为是若是它是属于我的信息,或者与儿童相关,更须要慎重。

(编译/唐小引 责编/张宁)

文章来源:DZone

本文为CSDN编译整理,未经容许不得转载。如需转载请联系market@csdn.net。

相关文章
相关标签/搜索