在开发中,前端希望根据 UI 来划分接口,这样用户体验好,前端实现也容易。后端希望根据业务模块划分接口,这样有利于服务下沉和解耦。前端和后端间可能会有的对话:
后端: 你多调几个接口不就行了么~ 前端: 多好几个 HTTP 请求呢。包成一个接口有这么难么?
前端同学和后端同学都有各的道理。如果前后端都不肯让步,怎么办?
BFF 能解决这种问题。
BFF 是 Backend For Frontend(服务于前端的后端)的简称。BFF 就是后台服务与前端间加一适配层:提供对前端友好的接口。BFF 做的具体的事包括:
BFF 代码谁来开发呢?遵循服务自治,谁使用谁开发的原则,是前端~
BFF 能降低前后端的沟通成本。前端在写 BFF 的过程中,会调后端的服务,就越来越懂业务了。同时,前端离全栈又进了一步~
用 BFF,和后端做朋友~