Unachievable dreams?
I am sure sometimes you lean back and wonder how we got to the status quo regarding the stacks we use. I mean, does it really make sense to let a server render my frontend just to execute JavaScript which in return turns around and asks that very server for data?
Can't mommy already pack my lunch when she knows where she is sending me to and what I'll need?
There is of course the trend of eliminating some of the pain with SSR solutions, but at the end of the day you still need to make complex decisions of when to render what information directly and how to integrate the backend you write in a more or less independent manner to something accessible as your reactive store.
Speaking of stores
Has there ever been anybody who didn't learn about Redux or Vuex and though: "Really? That's the best solution to address performant state management across components? Actions, Dispatch, Commit, what?"
And we might then have gotten used to it. Heck, we might have even become sufficient enough with it that we forgot about the pitfalls and learned to gain the freedom they provide. But is that really still necessary with solutions like hooks or the composition API?
The broken promise of SAAS & microservices
It sounded like a good idea, didn't it? Let's just quickly integrate an object based database like firestore and off we go building the user experience. In reality, we still don't have a solution that would actually enable us to "just write the app". We still need to secure via own endpoints, take care of potential oAuth integrations and worry about key exposure. We looked down on monolithic architecture and now long for the days were everything was under our control. But we don't miss the setup, writing transactions and debugging the models, do we?
In 2021, it's time to solve these problems
What I want - what I always wanted - is a "Fr(ontB)ackend".
A solution that is a glass, not a bottleneck but still opinionated and testable enough to enable bigger teams to securely work with it without making a mess. A "DWAI" (Don't worry about it) feeling when handling stores and data handling in general. Finally a declarative form of writing API interactions (Polymer tried and failed). Is it not possible to provide an ecosystem that is so rapidly fast to learn, develop in and deliver (looking at you, lighthouse) that a front-end developer could write full-stack applications while having the time to demystify SQL, SEO or reactive state while having tangible output?
In order to achieve that, such a system would have to guarantee
- no more race conditions
- no building process
- no coding of stores, endpoints, models and their interaction
- no complex lifecycle decisions
Well, I am working on it:
Hooks are great, but for me they don't come close to replacing redux. Redux is designed to make it easier to manage state. Some people don't like to manage state this way, and so hooks are great for them - but for those of us that do like redux as a state container, hooks aren't that.