1 min read
Backend for Client (BFC)
The Poq Platform provides retailers with a native, mobile-first experience for their customers. Retailers and partners can use highly customisable mobile clients to deliver a tailored shopping experience to their customers.
The Poq platform offers integration points with the retailer's existing systems such as: Salesforce Commerce Cloud, Shopify and others.
The BFC is a pattern that was initially introduced by Soundcloud and it is also known amongst developers as BFF (Backend For Frontend). Due to the nature of the Soundcloud platform the problem they faced was that their services had to be extremely fine-grained. This meant that the front-end client ended up having to call numerous HTTP requests to deliver even the simplest of experiences. In addition to this, these services were consumed by a diverse set of clients which meant that any change in these endpoints had to be carefully managed in order to ensure that it didn’t end up breaking existing clients.
In essence the BFC pattern prescribes the implementation of a specific API that caters to a particular Frontend or client application. The BFC is tightly coupled to a specific user experience, and will typically be maintained by the same team as the user interface, thereby making it easier to define and adapt the API as the UI requires, while also simplifying the process of lining up releases of both the client and server components.
The BFC implies that every client backend API will have to follow the frontend app contracts and the logic to call out to the Poq platform API or other relevant 3rd Party API. To make the integration process as smooth as possible the Poq SDK is introduced.
The Poq SDK makes possible to work with Poq platform API and the contracts that the frontend understands.
Similar to the Poq SDK the SFCC SDK allows clients to communicate with the Poq platform API and SFCC Commerce API.