3 ms·
BFF anti-pattern is a superlinear explosion of surface area to maintain. I agree with you that GraphQL does not actually fix it when backed by any mainstream da
by dustingetz 8y ago
BFF anti-pattern is a superlinear explosion of surface area to maintain. I agree with you that GraphQL does not actually fix it when backed by any mainstream database. If you solve this, you don't need to write backend boilerplate anymore, the whole thing can be done as an abstraction and you can fire the web developers. No clear answer has emerged yet. I think Datomic (c-f this thread) can be used as a basis to fix BFF anti pattern.
- je42 8y agofunny. BFF is not an anti pattern. number one it is a pattern. it makes sure the frontend code is minimised. if you want to maximised frontend sure go ahead don't use BFF. but there are scenarios where you do want to minimise frontend code. for example when you have multiple frontends with different languages and code bases.
- dustingetz 8y agoThe holy grail (and goal of GraphQL) is one general purpose backend maintained by N engineers. Backend-for-frontend is M backends maintained by M*N engineers. This is why Google employs thousands of engineers.
- je42 8y agoyep. you can still have it with the BFF and GraphQL pattern. Since both would use the same general purpose services. the key difference between GraphQL and BFF is, the GraphQL service itself is general purpose. hence the biz functionality resides in the frontend. With the BFF pattern you try to move as much as possible of biz functionality into the backend.