Android Meet App Engine, App Engine Meet Android
By Chris Ramsdale, Product Manager, GWT and GPE
Imagine this: you've spent the past few months hammering away at the latest mobile game
sensation, Mystified Birds, and you are one level away from complete mastery. And then it
happens. In a fit of excitement you throw your hands up, and along with them your Nexus S,
which settles nicely at the bottom of the pool you happen to be relaxing next to. The phone is
rendered useless. Luckily, your insurance policy covers the replacing the device and the
Android Market handles replacing your apps. Unluckily though, all of your Mystified Birds data
went the way of your device, leaving you to start from scratch.
Wouldn't it be great if your new device not only contained all of your apps, but all of
your valuable data as well? We think so. With Google Plugin for Eclipse (GPE) v2.4 it's much
easier to build native Android apps that can take data with them wherever they go. And there's
no better place to host your backend service and store your data than Google's cloud service,
App Engine.
With the latest
release of GPE,
we're bringing together these two great Google platforms, Android and App Engine, with a set
of easy-to-use developer tools. Diving a bit deeper, here are some of the features offered in
GPE 2.4:
Project CreationWith GPE 2.4, you now have the ability to create App Engine-connected Android projects.
This new Eclipse project wizard generates fully functioning Android and GWT clients that are
capable of talking to the same App Engine backend using the same RPC code and business logic.
Cloud to Device Messaging SupportPolling for backend changes on a mobile device is inefficient and will result in poor app
performance and battery drain. As a solution for Android developers, the Android team built
Cloud to Device Messaging
(C2DM), a service for sending lightweight pings to notify apps when they have
pending data. We heard back from developers that integrating with C2DM results in a lot of
boilerplate (and sometimes fragile) code that they would rather not maintain. With the 2.4
release of GPE, when you create a new App Engine connected Android project, you'll get this
code for free. All you have to do is hook up the app-specific code to customize the handling
of the C2DM notification.
RPC Generation and
ToolingWriting and maintaining RPC code (code that allows
your app to communicate with backend servers) is monotonous and error prone. Let's face it,
you're a mobile developer and the last thing you want to be spending time on is writing (or
debugging) this type of code. In GPE 2.4 we're introducing tooling that removes this task for
you, and will generate all of the underlying RPC boilerplate code within a few clicks. You
specify the model objects that will be used between client and server, and GPE generates the
RPC service, DTOs, and client-side calling code. To make this even better, the generated code
works across Android and GWT apps, so any future changes that you make will only need to be
made once.
Want to get started? Download GPE 2.4 Beta
here. Note that
you'll need to install the Android Developer Tools (ADT) plugin as a prerequisite, which can
be found
here.
If you have any feedback, we'd love to hear it and the
GPE Group is the
right place to submit it. The
App Engine and
Android Developer Groups
are also great sources of information.
Chris
Ramsdale is Product Manager for GWT and GPE: cramsdale@google.comPosted by Scott Knaster,
Editor