Going over the different architectures
Developers make two common mistakes when choosing their project architecture. First, they often say, “What architecture am I using for my app? MVVM, of course!”
MVVM is not an architecture – it’s a design pattern that aims to solve state and logic management for a particular screen. Not only does it not handle the app structure but it also doesn’t even describe how we handle our screens in general. It only describes a particular screen, such as a login or a settings screen.
The second mistake is the idea that we can only choose one of the most common and popular architectures from the list for our project. Most of the architectures you read about are, in fact, a set of principles that can help us decide how to structure our project.
Some principles provide flexibility and decoupling, and some may increase project overhead. We should always consider tradeoffs; these become even more important in architectural...