Backends for Frontends (BFF) is a software architecture pattern that involves creating separate backend services for each of your frontend clients.
This means that instead of having a single backend that serves all of your frontend applications, you would have a separate backend for each of your frontend apps.
The idea behind this pattern is to provide each frontend with a backend that is tailored specifically to its needs, which can improve the performance and user experience of the frontend app.
Additionally, having separate backends for each frontend can also help to reduce complexity.
https://www.linkedin.com/pulse/bff-backend-frontend-pattern-microservices-arpit-bhayani/
BFF is a layer that sits between the clients and the backend.
Every type of client has a dedicated BFF; for example, Desktop Web has its own BFF, while Mobile has its own.
Depending on the request, the BFF then talks to the backend, grabs the data, filters out the unnecessary fields, and responds.
https://www.linkedin.com/pulse/bff-backend-frontend-pattern-microservices-arpit-bhayani/