据深圳产品服务APP开发公司项目负责人【东方祁智科技】介绍,按照应用类别,服务器开发最常见的访问层有两个,一个是Web项目开发,一个是APP客户端的API开发,当然还有消息队列访问封装、后台Job等一些。

我以前做过很多web后端开发,前段时间在做APP开发的时候,设计了我们的接入层。访问层的设计大多与WEB后端开发相同,但也有一些不同。

产品服务APP开发界面设计

接口是前端和后端交互的桥梁,所以在开发API时要考虑接口的设计规范。

从使用到废弃的宁静

网上有很多方法可以练习restful api设计。我们设计的时候也参考了很多设计风格。参考微博开发平台的api设计,在实际的实现过程中发现了很多问题

对于处理一些复杂的业务接口,开发人员不知道如何命名它们

客户开发人员抱怨返回格式不统一,并且不容易处理

http代码的使用在国内是不能返回的,因为运营商会拦截

在第一条和第二条中,我们一直在帮助开发者处理中间遇到的问题,在1.0开发阶段基本解决了。但是我们在测试外网的时候,发现了第三个问题,其实是可以解决的,比如自己嵌入服务器地址,这也是制作大规模应用的常见做法。但是我们认为现在不需要这么做,所以放弃了使用restful的做法。

以上定义了我们统一的返回格式,那么在实现具体业务的界面设计时需要注意什么呢?

需要维护一套统一的界面规范(wiki可以手工维护,也可以通过一些框架生成,比如swag)

接口参数提供默认值

返回值嵌套越少越好

请注意null的使用。如果是空,请改用字符空

对于异常,定义一个异常对应的代码,方便客户端根据代码显示友好的提示

版本维护,在api迭代的使用中,要时刻注意不要修改接口,尽量使用添加接口的方式迭代

并且需要与后端服务层的接口分离。为应用编程接口建立适配层。

安全设计

界面的安全性在应用开发中非常重要。如果没有安全验证,可以通过fiddler等包抓取工具获取数据,可以大量篡改、提交和调用,从而收紧服务器资源,使服务器无法使用。要解决这些问题,业内最常见的方法是使用签名进行验证。

对于一个请求,它有URL、参数和请求头。MD5加密是按照一定的规则进行的,从而生成令牌。

我们的加密规则如下:

URL+参数+次数+whid+ salt中间带_ partition

URL是请求路径,例如/v1/用户/登录

参数:请求中的参数,根据键按字母升序排列,使用&表示:

时间:时间戳

Whid:我们体内的设备id

盐:盐和版本有关。当应用程序发布一个版本时,salt将需要更改。

我们的验证逻辑如下

请求时间是否在3分钟内,否则验证失败

符号不重复,否则验证失败

标志正确,否则验证失败

其中我们APP应用中的时间和服务器端的时间是同步的。我们的方法是这样的:客户端从服务器获取服务器时间,然后记录服务器和客户端的时间差。当客户得到时间时,它需要添加差异。确保客户端和服务器之间的同步。

创业公司的选择

在任何应用的设计中,都有很多设计方案,不同阶段有不同的设计方案。通常对于一个应用,最适合的总是这个阶段最好的。以下是我们在制作APP的过程中做出的一些权衡。

Dot统计使用开源产品

对于APP来说,dot是监控我们应用程序用户使用情况的重要功能。当时我们有几个计划

自己开发

使用第三方管理平台优盟等产品

使用开源产品进行自我部署(cobub razor)

自行开发:这无疑是最费钱的方案,但是灵活,可以自行定制各种功能。然而,开发一个相对完整的打点系统需要大量的投资。

使用第三方平台:这样优盟就可以轻松看到我们的数据,而忽略了我们公司的隐私保护。

用开源产品自行部署:这样既保护了我们公司的机密,又能快速搭建一套自己的统计分析系统,无疑是现阶段最好的解决方案。经过评估,我们决定使用这种解决方案。

产品服务APP使用第三方平台开发图片服务

我们使用第三方存储平台进行图像存储和CDN分发,不仅可以减少我们的开发工作量,还可以改善用户体验。

尽量不要把服务器能实现的功能留给客户端

服务器可以随时发布版本。如果客户端有问题,需要迭代审核版本,让客户端尽可能的轻便和可配置!更多可以百度【东方祁智科技】

手机:18820029154 QQ: 2719182369

国家热线:400-9629665

1.《app产品服务 产品服务APP开发》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《app产品服务 产品服务APP开发》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/1616930.html