There are numerous factors that we consider before selecting a mobile app architecture. The first and foremost thing is the organization and decoupling of all the components and the fact that the architecture should complement the business domain of the application. Apart from this, the budget, timeline, etc. factors are considered. And finally, we gauge the need for portability, security, manageability, performance, reusability, and testability.