How to choose the right architecture for your mobile app? What are the foundations of a good mobile app architecture?