Centric IT Solutions Romania
GraphQL vs BFF: A critical perspective
I am a software developer and technology passionate, I enjoy building and delivering quality, all the while trying to have fun as much as possible. Passionate by technology and by working with people in order to get amazing results. I am a perceptive and innovative individual that’s not afraid to exploit it’s best version and go the extra mile outside the comfort zone of conventional. This exact desire to get out of the comfort zone lead me in the last years to change context from full stack (dot.net, angular, databases) to frontend (React, Vue, GraphQL, Redux) in my job. I also enjoy knowledge sharing, reason enough to deliver presentations at conferences or preparing trainings.
Imagine an application that has a web and a mobile, IOS and Android, or that your API is consumed by similar frontends from totally different teams. The functionalities they provide are distinct, hence the need for distinct sets of data and functions. You might think that the solution for this is having an “as generic as possible” backend for all UI’s. From my experience, this kind of backend leads to big issues in matters of performance, entangled user experience as well as extra and unnecessary communication for the development teams in order to align and meet their needs. Fortunately, there is a promising set of approaches taking the stage as they are created with the intention to optimize how front-end applications collaborate with back-ends: BFF (Backend-For-Frontend) pattern and GraphQL. Given these two approaches, which one is the right to consider? Join me in a talk where we will discuss the two approaches, underline both their good and bad sides, and determine which you should consider as the backend technology for your frontend application.