开篇
一个APP,它所涉及到的内容不只是APP表面这些界面、元素的beautiful和开发。APP之所以为APP它不同于VUE JS、微信小程序,一个APP它内部也分成多个层次,有纯前端、有Adapter、有模型层、有API层、有底层、有缓存、有内嵌存储。
一个APP其实是一个完整的企业级架构体系,因此APP上才需要架构师,因此APP在业界并没有归到“纯前端”,而叫“大前端”,它是自身独立的一整套体系化知识所组成。
特别是近几年来,随着智能手机在市场上进一步普及后APP已经不仅仅只是人们以前认知上一个简单的“前端”了。它也已经开始区分出:前端、中间件、缓存、后端、数据库、网络交互、设备交互、动画这些几个主要大科。在这些大科下再衍生出上百个门类的知识点。
特别是设备交互和网络交互,HTTP/RESULTFUL API交互其实也属于底层。所以作为大前端,架构上非单一层式传统设计时我们经常会进行思考:即我们往往也希望可以像高级语言一样把一些底层features“掩盖”住以加速程序员开发效率。
因此,今天我们就要讲时下最流行的retrofit2+okhttp3+rxjava封装的http/res㔞 api调用原理。这3个东西组合比较复杂