Thanks for your thoughts, Krisztian. The Facade pattern, however, is primarily for providing a simpler interface to a more complex code base. It could be hosted along with the actual code.
The concept of BFF pattern is to avoid direct access to the main API codebase and designate features for seperate interfaces. That way you can have a seperate backend for your mobile, web (and other) platforms which all connects to your main API.
Artificial Intelligence is in big trouble thanks to sales pitches and unrealistic expectations.
Allow me to rant a little. Artificial Intelligence has been studied since 1956 as a new discipline that will give us the ultimate technology. The founding members of the AI field at a Dartmouth College Workshop predicted that machines will be as smart as humans in one generation (haha). Predictions like this gave AI research a lot of interest and money.
After this initial stage, we started having periods we call AI winters where general interest in AI is reduced as well as funding. There’s one big…
Note: The examples used below are highly simplified. I made it up for the sake of the article. Of course, you’ll want to be more sophisticated in your approach for a real-life business example.
The idea for the Backend-For-Frontend pattern came from the software engineers at SoundCloud. Phil Calçado (one of the creators) gave an architectural explanation of the pattern, so you can go give it a look here.
Let’s use a case study.
Suppose you are building an application for a Real estate firm, which allows users to view properties for sale, and probably book appointments or something.
This article walks us through the advances in dynamic web development, and how we can improve the dynamic nature of our web apps.
So, before now, the web was just a bunch of static HTML pages. Send a request for a page, wait, get the content of the page — content already hand-typed by the web developer. Good old days.
It wasn’t long after until the need for dynamic pages became obvious (I wonder why 🙃 ), and developers sought a way to dynamically control the final content rendered to the client (which is the web browser).
I won’t bore…