Google offers “one-click” deployment of Android app infrastructure

New service for developers takes some of the pain out of building mobile apps.

Google has released a new tool for app developers that makes it easier to build and deploy the backend infrastructure for Android applications. Called Mobile Backend Starter, the "one-click deployable" cloud service reduces code-writing requirements for developers who need to set up cloud storage, messaging, push notifications, continuous server queries, and authentication.

The backend service stores data on the Google App Engine platform-as-a-service cloud, comes with a client library and sample Android app, and integrates with Google Cloud Messaging (GCM) for Android and Google Authentication.

Cloud data storage: Users change devices and increasingly use multiple devices. Store any amount of data per user in the cloud to be accessed from anywhere.

Pub/Sub messaging: Send messages from one device to any or all other devices. You can easily use 1:1 and 1:many messaging as well as broadcasting. This feature is useful for various applications including social apps, forums, chat, gaming, and group collaborations.

Push notifications: Data updated on one device is automatically available on all devices with GCM for Android.

Continuous queries: Create queries that run continuously on the server, automatically feeding updates to the client. These queries are powered by Prospective Search.

Google authentication and authorization: Keep data isolated per user or shared among users.

Free to get started, scales with your needs: You can start by handling hundreds of users for free, then grow to any scale.

The service builds on top of Google's already extensive library of development tools. At the Google I/O conference last month, the company expanded App Engine to support applications written in PHP, opened its Cloud Datastore to applications running in any cloud, and made Google Compute Engine generally available.

For a more detailed look at Mobile Backend Starter, check out this session from Google I/O:

Google App Engine is actually fantastic if your app has a need for its functionality. Built in cloud NoSQL with Memcache and Cloud Messaging allows you to interact with users on Android, iOS, Chrome apps, .NET or just the web.

It then scales automatically based on usage.

Not to mention that you get a decent amount of traffic for free so you can create an app without any real hosting costs until your app is used by a larger userbase.

...except that it's utter shit. The CPU limits are laughable, the storage system is fairly dumb (yes, NoSQL, while buzzword compliant, isn't appropriate for most workloads), and you're stuck without C modules so you can't even leverage the good parts of Python. I mean, FFS, you can't even use something as foundationally necessary as py-bcrypt with your application.

If your app isn't serious enough to drop a tenner a month on a Linode you might as well not bother.

...except that it's utter shit. The CPU limits are laughable, the storage system is fairly dumb (yes, NoSQL, while buzzword compliant, isn't appropriate for most workloads), and you're stuck without C modules so you can't even leverage the good parts of Python. I mean, FFS, you can't even use something as foundationally necessary as py-bcrypt with your application.

If your app isn't serious enough to drop a tenner a month on a Linode you might as well not bother.

It all depends on your needs, just like anything else. If you'd like to use cloud communication, using REST is the way to go for scalability which means you're going to want to use NoSQL.

It's not just a buzzword, it's actually extremely useful.

I don't use python so I can't comment on that aspect of anything, but the Java interface is great.

If you'd like to use cloud communication, using REST is the way to go for scalability which means you're going to want to use NoSQL.

dafuq.

dafuq.

What are you even talking about? There's no difference between REST and shared-nothing RPC/whatever for scalability. And what in the flying fuckity fuck does NoSQL have to do with any of it? Broseph knows that pretty much all the actual big, scaled systems not named Google use SQL as a backing store, right?

If you'd like to use cloud communication, using REST is the way to go for scalability which means you're going to want to use NoSQL.

dafuq.

dafuq.

KoopWhat are you even talking about? There's no difference between REST and shared-nothing RPC/whatever for scalability. And what in the flying fuckity fuck does NoSQL have to do with any of it? Broseph knows that pretty much all the actual big, scaled systems not named Google use SQL as a backing store, right?

If you'd like to use cloud communication, using REST is the way to go for scalability which means you're going to want to use NoSQL.

dafuq.

dafuq.

What are you even talking about? There's no difference between REST and shared-nothing RPC/whatever for scalability. And what in the flying fuckity fuck does NoSQL have to do with any of it? Broseph knows that pretty much all the actual big, scaled systems not named Google use SQL as a backing store, right?

Wow. Decided to register for an account after reading the comments for many years on here. Normally they are enjoyable and add to the discussion. You, sir, are coming across as an elitist ass clown. Who pissed in your C++ this morning?

Sounds like a pretty cool package, although limiting it to Java only (which is how I read it) is pretty annoying (for those of us with large C-based codebases across N platforms).

To be honest though, the best thing Google could do for Android dev is host 3 one-click installations for the dev tools and a (working, and I mean including integrated debugging) IDE across Win/OSX/linux so that people don't have to deal with the pain of trying to set up dev environs (or indeed use the nVidia installer to help get started).

Sounds like a pretty cool package, although limiting it to Java only (which is how I read it) is pretty annoying (for those of us with large C-based codebases across N platforms).

It's sample code, so in theory (I haven't dug into it) you could rewrite it in anything App Engine supports. Although that's not C, so I guess it's still not aimed at you.

Quote:

To be honest though, the best thing Google could do for Android dev is host 3 one-click installations for the dev tools and a (working, and I mean including integrated debugging) IDE across Win/OSX/linux so that people don't have to deal with the pain of trying to set up dev environs (or indeed use the nVidia installer to help get started).

...except that it's utter shit. The CPU limits are laughable, the storage system is fairly dumb (yes, NoSQL, while buzzword compliant, isn't appropriate for most workloads), and you're stuck without C modules so you can't even leverage the good parts of Python. I mean, FFS, you can't even use something as foundationally necessary as py-bcrypt with your application.

If your app isn't serious enough to drop a tenner a month on a Linode you might as well not bother.

I'm not personally a fan of App Engine myself, but I think you are completely missing the point here. A lot of independent mobile developers aren't backend developers, they just want a really simple plug-and-play backend that comes with a client library that is extremely easy to consume in their mobile application. They don't want to have to configure, maintain, and administer a Linux server environment just so that they can plug a simple leaderboard and a few social features into their casual Android game.

I generally recommend Parse, which is a pretty good platform-neutral option that is very pleasant to work with. But I can definitely see the appeal of what Google is offering here, particularly wrt realtime messaging.

Sounds like a pretty cool package, although limiting it to Java only (which is how I read it) is pretty annoying (for those of us with large C-based codebases across N platforms).

It's sample code, so in theory (I haven't dug into it) you could rewrite it in anything App Engine supports. Although that's not C, so I guess it's still not aimed at you.

Quote:

To be honest though, the best thing Google could do for Android dev is host 3 one-click installations for the dev tools and a (working, and I mean including integrated debugging) IDE across Win/OSX/linux so that people don't have to deal with the pain of trying to set up dev environs (or indeed use the nVidia installer to help get started).