在我们公司,app和服务器通信请求数据,不可能直接请求的,要通过接口,其实就是直接访问接口,接口把数据返回。在之前,我在另一家公司,是不用接口的,我直接请求服务器。所以,关于这点我比较迷茫。

经理给我解答,我就明白了。服务器和app之间通过接口来访问,主要有2点作用。

1、app客户端太大,不利于复用。

如果没有接口,app客户端是可以直接请求数据的,这个是可以做到,但是相当于接口的全部工作在app端写了,这样会造成app端比较大。比如,访问数据库的代码,android要写,ios也要写,太不利于复用。高质量代码的标准是可维护、可复用、可扩展、灵活性高。所以,如果有了接口,接口就可以对数据进行封装和业务处理,然后给app端。

2、不利于数据库安全。

接口可以把关安全性。因为客户端在客户手里,可以破解,可以反编译,整个架构下,整个客户端都是V,数据库直接暴漏出来,别人可以扫描你的数据库端口,很危险。所以一般数据库,外部是不给访问的,你只能通过接口,而接口,会要求你登录,登录后,根据你的身份。分配身份标记,再决定你能请求多少东西,每次请求都是由接口判断一次是否合法,就是根据SessionString,也可以是cookie。其实cookie就是SessionString的ID。即使被破解,拿到一个,也是一个用户的数据被盗,其他用户不受影响。