Mobile devices grow only more capable and computerlike in their abilities -- the iPad Pro announced last week by Apple is a great example of that trend. Yet many mobile developers look to pair public cloud services with mobile devices, offloading the workloads to back-end servers.
That does not seem quite right, given the impressive processing and storage power of mobile devices.
If processing occurs on back-end cloud servers, you must have connectivity to that cloud, and information must be transmitted back and forth to the device. For some mobile applications that share data, back-end storage is a requirement. However, there are mobile applications that don’t need to share data, and such apps may find that processing and storage on the local mobile device provides a clear performance advantage.
Thus, developers have to make an architectural decision as mobile devices beef up. The use of cloud services with mobile applications will grow, I’m sure. However, today’s standard to partition the workload could move from "always offload to the cloud" to "use the more powerful mobile clients more often" -- at least when there are performance and functionality advantages.
That said, I believe that centralizing resources on the cloud makes more sense for most applications, considering the need to share data and the greater efficiency of using processing that is near that data.
Still, I see more choices to be made for how developers decide which resources to use. Although mobile devices simply did not provide enough processing power in the past, they do now -- they are basically workstations these days.
The simple fact that mobile developers have more options available to them is good for developers and mobile users.