The success or failure of a mobile application largely depends on the resources it consumes. A resource-intensive application will quickly be rejected by its users. One of the most important aspects that determines this consumption is the software architecture applied in its development. However, which architecture is the most efficient depends on the application’s behaviour.
With the aim of providing mobile developers information on what architectural style consumes fewer resources for each application, in this work we analysed the resources consumed by two applications, each of them built with two different architectures (a server-centric architecture and a mobile-centric architecture) in order to identify under which situation each architecture is more efficient. We observed that, for these cases, as the number of interactions with external entities grows, the more efficient becomes a server-centric architecture. Instead, a mobile-centric architecture is more efficient if the data to be shared has to be updated frequently or if there are few external entities involved.
In addition, by generalizing the analysis of the two applications, a conceptual framework was created with which to analyse the consumption pattern of any applications in their early development phases. This framework can be used to estimate a particular application’s consumption with different architectures, or to predict its consumption under future evolution of the app.