The Premise
— Exposition, Architecting UI — 1 min read
In order to discuss frontend architecture we must first define our problem.
Building a backend architecture is essentially a solved problem. There are many different solutions out there. I'm not saying it's not hard to write backend (I struggle with this daily), but what i am saying is that the problem hasn't changed in a while and there are many battle tested solutions.
However, front-end combines a few unique issues that are fundamentally different.
First of all the front can't model the backend one to one. The whole point of a the front is to provide insights for the user by combining the different data sources. Otherwise, we would simply expose our different DB tables and .
Secondly, ui has well... the UI. The data has no meaning without its visual aspect and vice versa. So how do you combine the two in a reasonable fashion? I find this the core issue with frontend architecture. How do we create a reusable component library that encapsulates our business logic.
Finally, how do you modularize / package / split this is a scalable manner? I haven't come across a micro-frontend solution that I would be happy to adapt. The first issue may hint to the underlying problem, but moreover, the whole front is rendered to the DOM so someone needs to orchestrate everything and true separation is quite tough.
So what's the solution you ask?
Well, I have no idea but you are welcome to explore with me.
!(no idea)[https://media.giphy.com/media/8zr5dnZSDldNC/giphy.gif]