top | item 35863932

(no title)

manv1 | 2 years ago

Really, the question here is "do you build a general-purpose solution or one customized to your use case?"

I'm not sure where things are these days on the design spectrum, but I think there's still a bias towards "reusable code" and "abstraction."

But why? If it's code for your MVP, the future is uncertain, and time is more important. Are you really going to reuse this? You're probably going to rewrite it in chunks. Design it for that.

One thing to watch out for in a "shared" architecture is update hell...in the sense that you have so many dependencies that you're basically forced to update everything all at once because of the way you've structured things. That's a fucking nightmare, especially if the various parts have different update latencies. Your app needs approval from the app store, so if it shares something with the back end you literally need to trigger your backend update when app approval occurs. And you have to ensure all your clients update at the same, time, which is unlikely.

discuss

order

No comments yet.