23.1.3 接口的应用和优点前端
API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无须访问源码,或理解内部工做机制的细节。接口应用的一些常见场景以下:编程
Ø 不一样编程语言之间通讯后端
在开发中,一些复杂的架构每每并不仅使用一种编程语言,会根据不一样语言的优点处理相应的问题,这就须要在一个项目中使用多种语言配合。这种形式能够有多种方法,一般会选择使用接口技术实现不一样语言之间的通讯。由于绝大多数编程语言均可以利用HTTP协议,并经过URL去访问服务器。服务器也可使用不一样的编程语言去处理数据,并返回各类编程语言都能生成和处理的XML或JSON数据。不一样语言之间的通讯如图23-2所示。浏览器
图23-2 不一样语言之间的通讯服务器
Ø 先后端分离再也不依赖模版引擎微信
在传统的开发模式中,浏览器端与服务器端是由不一样的先后端两个团队开发的,可是模版却又在这二者中间的模糊地带。所以,模版上总不可避免地出现愈来愈多的复杂逻辑,最终难以维护。经过接口技术就能够把模版这个模糊地带切割清楚,前端使用JavaScript访问接口操做后端数据,取得更明确的职责划分。例如,后端专一于服务层、数据格式、数据稳定和业务逻辑;前端专一于UI层、控制逻辑、渲染逻辑、交互和用户体验,再也不拘泥于服务端或浏览器端的差别。使用接口彻底实现先后端分离,同一套接口还能够为项目前端App提供后端服务。先后端分离如图23-3所示。架构
图23-3 先后端分离微信公众平台
Ø 实现分布式架构SOA前后端分离
SOA(面向服务的架构)是一个组件模型,它将应用程序的不一样功能单元(称为服务)经过这些服务之间定义良好的接口和契约,从而联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操做系统和编程语言。这使得构建在各类各样的系统中的服务能够以一种统一和通用的方式进行交互。SOA架构是一个完整的企业架构,能够覆盖整个企业范围内集成的需求。参考架构中的服务经过模块化的方式进行集成,所以SOA的实现能够从一个小的项目来启动,在新的项目实施时,新的功能可以轻松地加到架构中,经过渐进的方式在企业范围内扩大集成的范围。SOA参考架构如图23-4所示。编程语言
图23-4 SOA参考架构
Ø 丰富的第三方接口
咱们在开发中能够开放接口让别人访问,为其余项目提供服务。固然也有别人的开放接口,为咱们的项目提供服务。因此引入第三方服务接口,是让网站变强大的基石。另外,有些功能在本身的项目里是实现不了的,必须使用第三方的接口服务。例如,在本身的商城中须要经过支付宝在线支付,就必须调用支付宝的接口实现。对微信公众平台订阅号或服务号进行二次开发,如获取微信用户的信息等,也必须经过微信公众平台提供的接口才能实现。在项目中常见的第三方接口如图23-5所示。
图23-5 常见的第三方接口