3 ms·
I might be wrong here but it just dissecting this two principles I can see few issues: All data is realtime and reflects the latest database state: Local s
by tomatowurst 4y ago
I might be wrong here but it just dissecting this two principles I can see few issues:
All data is realtime and reflects the latest database state: Local state management is fundamentally hard as it's
dealing with distributed system problems. Best to avoid it alltogether.
Local state is hard because of state management available. MobX largely addresses the issue and it's not really related to distributed systems.
All database operations go through a unified standard interface, IHP DataSync in our case.
Yikes. Absolutely do not want to replace an established, transparent, "boring" process with some Rube Goldberg machine that I'm held hostage to.
This looks okay for building MVP, as most of these tools seem to be aimed at. However, companies with existing product or looking to make their APIs as a core product wouldn't want to lock it down and be held hostage by a Rube Goldberg machine. For full stack developers, it really isn't too much of an effort to create backend API endpoints separately and hooking it up to your frontend either.
I invite you and others to share their points but just from the get go, perhaps I'm older now and have become wary of the next shiny solution favoring boring tech, the problem you are solving appears to be a non-issue for most live world existing API/Frontend products, as well as full stack developers (for ex. scaffold crud generators are a thing). The cost of moving faster by taking on hidden technical debt especially in a core, essential part (the api) of the product by a 3rd party looking to remove that have typically ben risky. Also, I couldn't quite understand what was happening underneath the hood so might be good to share more technological risks/debts that is implicit.
- _query 4y agoDo you think making it more open source would solve the issue? Thin is mostly based on IHP DataSync. You can the source code here https://github.com/digitallyinduced/ihp/blob/master/IHP/DataSync/ControllerImpl.hs https://github.com/digitallyinduced/ihp/blob/master/IHP/Data... Thin itself is just a "thin" wrapper around IHP and IHP DataSync. Additionally most of the system is just relying on postgres for doing it's work. So if you ever want to swap out Thin with another API, you could build a normal REST API, connect it to the database and switch it out.
- tomatowurst 4y ago> Do you think making it more open source would solve the issue? No is not what I'm arguing for here but you highlighted my concerns here, I see two points of failures/blackboxes that I am now betting the house on vs the "problem" mentioned (having to create API/Redux layer). As I said, this might be an issue for indie/small startups looking to create an MVP but more often than not, you would want to optimize for hireability and removing the implicit. It would be tougher to find an Haskell dev compared to "boring" full stack devs, and this is just the start of the problems.