84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
移动端app后端接口是怎么设计的???做过app后端接口开发可以说下吗?谢谢
这个问题问的很大。从几个角度来回答吧。
第一,从业务需求和性能考虑,要定义清楚哪些数据结构是放在前端的,哪些数据结构是放在后端的,哪些是只需要取一次以后就缓存在前端的,哪些是每次都需要与后端通讯的,哪些是需要实时响应的,哪些是需要推送的,等等。只有把这些全部考虑清楚并且和全体项目组成员充分沟通,前后台开发人员都共同认可这个架构之后,才可以开始考虑如何设计后台的问题。
第二,开始后台设计时,首先要考虑的是数据库的选型,这又是一个很大的话题,这里先不详细讨论。理论上来说什么样的语言都可以配备任何数据库,但也并不尽然。Mongodb最好用node.js,PHP行不行?当然也可以。如果接口是restful,那可能选择postgresql比mysql要更好,因为它自带有rest接口,连开发都不用开发,但是安全性如何保障?支不支持jwt?性能如何?这些问题都需要考虑清楚。事前的大量调研和经验能节省大量时间,不要盲目投入进去开发。
第三,数据库和开发语言都选定的情况下,还要看是不是采用现成的框架,即便PHP也至少有10种以上框架可以选择,框架的选择可以达到事半功倍的效果。现阶段前后台接口主要采用json通讯,不太会采用soap协议。不过也要看是同步还是异步,通常情况下会用异步ajax通讯,但也可能需要同步通讯,那就要用到websocket。即使用json,也有自己直接定义自己的json字段的方式和采用rest方式的选择,如果采用rest方式必须考虑安全性的问题,因为ajax是无状态的,没有session和cookie可用。
最后,就是人的因素,开发周期不可能无限制长,没有时间让每一个人学习,所以还要考虑团队成员对哪些语言哪些数据库哪些框架比较熟悉,在系统性能和开发速度上达到平衡。
这个问题问的很大。从几个角度来回答吧。
第一,从业务需求和性能考虑,要定义清楚哪些数据结构是放在前端的,哪些数据结构是放在后端的,哪些是只需要取一次以后就缓存在前端的,哪些是每次都需要与后端通讯的,哪些是需要实时响应的,哪些是需要推送的,等等。只有把这些全部考虑清楚并且和全体项目组成员充分沟通,前后台开发人员都共同认可这个架构之后,才可以开始考虑如何设计后台的问题。
第二,开始后台设计时,首先要考虑的是数据库的选型,这又是一个很大的话题,这里先不详细讨论。理论上来说什么样的语言都可以配备任何数据库,但也并不尽然。Mongodb最好用node.js,PHP行不行?当然也可以。如果接口是restful,那可能选择postgresql比mysql要更好,因为它自带有rest接口,连开发都不用开发,但是安全性如何保障?支不支持jwt?性能如何?这些问题都需要考虑清楚。事前的大量调研和经验能节省大量时间,不要盲目投入进去开发。
第三,数据库和开发语言都选定的情况下,还要看是不是采用现成的框架,即便PHP也至少有10种以上框架可以选择,框架的选择可以达到事半功倍的效果。现阶段前后台接口主要采用json通讯,不太会采用soap协议。不过也要看是同步还是异步,通常情况下会用异步ajax通讯,但也可能需要同步通讯,那就要用到websocket。即使用json,也有自己直接定义自己的json字段的方式和采用rest方式的选择,如果采用rest方式必须考虑安全性的问题,因为ajax是无状态的,没有session和cookie可用。
最后,就是人的因素,开发周期不可能无限制长,没有时间让每一个人学习,所以还要考虑团队成员对哪些语言哪些数据库哪些框架比较熟悉,在系统性能和开发速度上达到平衡。