As users move mobile-first and increasingly mobile-only, Google aims to equip developers with solutions to address their unique challenges on mobile: from fully managed services where developers can focus exclusively on their app’s front-end user experience, to platform and infrastructure-as-a-service that give developers as much control as they need for their projects.


The Mobile Context

Firebase is an innovative leap forward that addresses the limitations of traditional programming models in a mobile context. The RESTful model of request-response has taken us a long way, especially on the web. But consider the usage context around mobile: network connections can be intermittent or non-existent, especially in developing countries but also in developed regions where users may descend into a subway, toggle airplane mode, or step into areas with spotty network connectivity. Building a seamless user experience under these conditions can be challenging, while users increasingly expect their apps to work offline.



Seamless Offline Capability
Today at Google I/O, Firebase announced native support for offline usage on iOS and on Android. Firebase handles data persistence entirely on the developer’s behalf, automatically storing data locally on the device when the network is unavailable. When connectivity is restored, Firebase automatically syncs application data back to the cloud. Contrast this with the RESTful model where a developer trying to create a seamless offline experience might send a request to the server blindly, realize via timeout or error code that something went wrong, then devise a retry mechanism such as polling. Add to this the prospect of having to keep application data in sync across diverse clients from mobile web browsers, desktop browsers, Android, to iOS, and the complexity for developers escalates quickly. Firebase manages data synchronization across devices completely on behalf of developers, regardless of their connected state.

Realtime
In addition to the offline use case, users expect a snappy, instant-response experience from today’s best apps. Whether it’s your ride-sharing car inching toward you on a map, social posts appearing instantly, or live collaboration in a Google Doc, realtime is becoming an important part of the user experience.

From the start, Firebase pioneered a realtime synchronization approach to mobile applications. Application data gets synchronized to the cloud and across client devices in realtime with no effort on the developer’s part. Clients are notified immediately of changes so they can take action.

Infrastructure & Compute
Finally, for mobile developers who wish to manage or migrate their existing backend, Cloud Platform offers a spectrum of options to power your mobile app with custom server-side code from Google App Engine, Managed VMs, to Google Compute Engine. These platforms are excellent choices to host long-running jobs, run analytics, or to write your custom business logic.

Google Cloud Platform ensures that mobile developers and the context around mobile usage are first-class considerations. But don’t just take our word for it, read about how Rovio adapted its backend for Angry Birds, how Feedly tailors content for purposeful reading on mobile, or how Citrix tackles remote collaboration in the enterprise.

Get started immediately on Firebase or dive into Cloud Platform and take the lead in building the next generation of great mobile experiences.

-Posted by Andy Tzou, Product Marketing Manager, Google Cloud Platform