These are the things we keep in mind when choosing mobile app architecture: Portability, Maintainability, Manageability, Reusability, Testability, Security, Performance

Also, while making architectural decisions, we need to keep these in mind as well.

1. Components of the app should be nicely organized and decoupled.
2. Architecture should speak about the business domain of the project. Is it a food delivery application Or maybe one for financial institutions?
3. Scalability: How easy it is to add more features? Having an elegant solution might save us a lot of time and money in the future.
4. How the architecture fits the requirements of the business domain. Is it a heavy data-driven app? Does it have a lot of forms that require user input? What is the complexity of the app that we are going to build? Is it a “5 screens” app or “20 screens” app?
5. Will the team be able to work independently on features, without blocking themselves?
6. What are the key components that we want to test?
7. What is the deadline and budget for the project? What is the trade-off that we must do in terms of quality — time of delivery?
8. Consider all network scenarios.