Hacker News new | ask | show | jobs
by rTX5CMRXIfFG 1455 days ago
I have over a decade of experience in iOS dev and I’ve learned that all of the architectures you mentioned except for MVVM are bad advice.

Clean Architecture is a terribly written book with generic, inactionable advice, and where it makes sense, it makes sense for server-side environments in Java, but would result in over-engineering for mobile OSes which have only become more and more tightly integrated over time, therefore encouraging necessary tight couplings in code (e.g. lifecycles of applications, views, and background and concurrent tasks). I’m afraid I don’t think that mobile developers who are advocating this approach are thinking very critically, and are instead imposing a silver-bullet architecture on problems, instead of letting the right solution or architecture emerge from the right problem.

MVVM is also just an augmentation of MVC but it is still inherently MVC—and especially in iOS, the “view model” is really just a model- instead of a view-controller—so I really don’t understand why there are ever programmers who talk about MVVM as if it is different from MVC.

1 comments

As far as I know, the biggest use of Clean Architecture in mobile is at Uber with the RIBs architecture, and it’s only applicable there because an app of that team size is closer to an enterprise Java server codebase. Most apps everywhere are not anything like that, and thus should not be using VIPER.
Speaking from experience where a team here has made a RIBS implementation. Stay away, keep it simple. Even at a fang size company it's not worth it
What's the size of the team/app? Really curious what companies out there besides Uber has used RIBS or VIPER. Not sure why they would do that either, other than it was trendy on some technical blogs back in like 2014.
Slack’s mobile team uses a variation of VIPER.