When developing a cross-platform mobile application, it is perhaps one of the most crucial decisions to select the presentation architecture. The view and the business logic implementation should be factoring in the architectural concepts that the selected pattern entails.
Both iOS and Android platforms are inherently designed to be used with a derivative of the Model-View-Controller (MVC) pattern. If we were dealing with a native application, it would have been the most logical path to use MVC for iOS and Model-View-Presenter (MVP) or a slightly derived version, the Model-View-Adapter (MVA), pattern, for Android:
The MVC pattern was born as a reaction to the single responsibility principle. In this pattern, the View (UI implementation) component is responsible for presenting the data that's received from the Model (service layer) and delegating the user input to the Controller so that the data changes can be...