I often wonder how the economics are justified in making in house frameworks. What is it about Snapchat that requires a new framework but not other apps?
As opposed to what? As opposed to not using a framework or using some other framework?
Using frameworks is expensive by orders of magnitude. It’s additional code which greatly increases tech debt and slows the execution time of the given product pretty significantly. Think about it like this: a business with high confidence developers can ship a new SPA in a tenth of the time just using vanilla JavaScript that fully renders to screen with complete state restoration across the internet in less than a quarter second. That also means the business saves boat loads of cash by shipping faster, experimenting against its user’s behavior, and needing only a quarter of the headcount. So, where do you find these people and how do you retain them?
The economics are pretty simple and completely offensive/hostile to the developers. It’s ultimately about hiring and firing. Developers are a cost center to the business so the goal is to always eliminate training and turn them into a replaceable commodity. That’s it. That developers believe this is somehow a great empowerment is a double win for the employer.
The reason a company might introduce a new framework is because they encounter a problem not immediately solved by existing frameworks. The more frequently that same problem occurs the more a new framework pays for itself.
Valdi seems very similar in concept to React Native but Meta being the biggest competition to them you unlikely gonna depend on that even if better. Same reason ByteDance (Tiktok) doing Lynx.js (also similar to Valdi and React Native and also based on React).
The only FAANG scale companies that adopted React Native are Microsoft and Amazon because they aren't directly competing with Meta.
Given the user hostility of Google
and Apple (and the rest) and the rate at which they emulate competitors and try to crush them, I’d start at a small library or framework and not stop until I had a whole OS.