Although a few simple applications may run wholly on the device without accessing remote services, almost all data-driven applications for both the enterprise and consumer market will connect to a remote system to obtain and upload data. A growing trend is to expose these data services from a cloud-based host, which provides resilience, performance, lower cost, elasticity to meet varying demand, and the possibility of global reach through multiple geographically separated installations of the service. In particular, because phones are relatively low-powered devices with limited facility for local data storage, using a remote or cloud service to drive the application can provide an experience comparable to far more powerful types of client devices.
Whereas in the past, most data was communicated using multiple proprietary formats, the common approach today is to use standard protocols and standard communication architecture styles, which allows developers to mix and match services more freely; in addition, it reduces dependencies between the device and the data service. The programming and run-time environments available on most modern mobile devices support these formats or provide tools and frameworks that make it easy to consume them.
The result of this remote service integration is a very persuasive scenario that allows mobile devices and their users to take advantage of a huge number of services. Examples range from social networking and location-aware services, to productivity applications such as office -style applications and information search, to enterprise messaging and line-of-business (LOB) applications.