Cloud World

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Monday, 11 November 2013

Connecting mobile developers to the cloud with Google Cloud Endpoints

Posted on 06:00 by Unknown
As a mobile application developer, some projects demand building your own backend, while others can move faster with a ready-made solution. Two updates we are making to Google Cloud Platform help you with either scenario. To help you build your own backend, Google Cloud Endpoints has now moved to General Availability. If you are interested in a ready-made solution, the new version of the Mobile Backend Starter is now available with support for large media files in addition to updated iOS and Android clients.



Google Cloud Endpoints is now Generally Available

In a multi-platform, multi-client and multi-screen world, it's often important to think about building APIs first and using a shared backend to connect to client applications later. At Google, we have a history of providing APIs for products such as Maps, Translate and Gmail, which have led to the creation of new applications that are used by millions of users.



But we know that building an API for your own clients isn't easy. Scaling, authentication and tooling are all issues that need to be addressed. Google Cloud Endpoints provides developers with a simple way to create, expose and consume APIs served from App Engine.




Cloud Endpoints simplifies multi-client access to a shared Google App Engine backend



Blossom.io, a project management tool, built their product using App Engine and Cloud Endpoints. Here is what their CEO, Thomas Schranz, had to say:



“Cloud Endpoints certainly has enabled us to offer an API that is on par with the best APIs out there. It has enabled us to build an API that feels and behaves like APIs from YouTube, Google Maps and other Google services...We would never have been able to offer something comparable in the same amount of time. Building all of that without Google Cloud Endpoints would have been unthinkable.”



Server Side Annotation Language

For backend developers, simple annotations turn native Java and Python code into APIs that can be easily deployed and consumed by Android, iOS and web clients. Deployed APIs gain the resilience and scalability that other Google APIs have with features like DoS protection, OAuth support and client key management.

package guestbook;

import javax.inject.Named;

import com.google.api.server.spi.config.Api;

@Api
public class GreetingsEndpoint {

public Greeting getGreeting(@Named("id") Integer id) {
return createGreeting(id);
}

public Greeting[] listGreetings() {
Greeting[] greetings = new Greeting[] {
createGreeting(1),
createGreeting(2)
};
return greetings;
}

private Greeting createGreeting(Integer id) {
Greeting greeting = new Greeting();
greeting.setMessage("Hello " + id);
return greeting;
}
}



Client Side Development

Client developers on Android, iOS and web can use automatically generated client libraries that make API access simple and natural. Cloud Endpoints libraries take a lot of the complexity away by handling marshaling and unmarshaling, authentication and key verification. Furthermore, Android Studio offers great support for consuming Cloud Endpoints.




Automatic strongly-typed client library generation in Android Studio to simplify API consumption



Mobile Backend Starter Update

If you would rather focus on your client application, Mobile Backend Starter (MBS) is a one-click deployable, complete mobile backend built on Cloud Endpoints. MBS provides a ready-to-use, cloud backend and client-side framework for Android and iOS. We have distilled the best practices from hundreds of successful mobile backends on App Engine to give developers a turnkey solution that requires no server side development.



MBS includes a server that stores your data with App Engine and a client library and sample app for Android and iOS that make it easy to access that data. You can also use the built-in support for Google Cloud Messaging (GCM) for Android, Apple Push Notifications (APN) for iOS and continuous queries to notify your app of events you are interested in. In addition, MBS includes built-in support for Google Authentication to keep user data secure.





The new version of MBS includes:


  • Handling Large Media Files: Many mobile applications let users view and upload videos and high resolution images. But storing and serving this content can be cumbersome. Google Cloud Storage offers high durability and availability at low cost. MBS now allows you to easily manage user-isolated and secure access to data in Cloud Storage directly from your iOS or Android application, with no server coding required.



    Imagine that you are building an expense reporting mobile app and you want to allow your users to upload pictures of their receipts. This is very straightforward. Your Android or iOS app can obtain a secure upload URL that only your application can use and then use standard client libraries to stream bytes to Google Cloud Storage. In this snippet of code for Android notice that in this case the uploaded file will be available only to the user who uploaded it.

    // get a secure URL for uploading a private file
    URL url = blobEndpoint.getUploadUrl("receipts",
    getReceiptFileName(),"PRIVATE")
    .execute().getShortLivedUrl());



    Downloading images and other files is also easy. You start with obtaining a secure download URL and then you can use standard client libraries to download bytes from Google Cloud Storage. MBS will authenticate the caller and check if it is allowed to download the file.

    // get a secure URL for downloading a file
    URL url = blobEndpoint.getDownloadUrl("receipts",
    getReceiptFileName())
    .execute().getShortLivedUrl());


  • Updated Mobile Clients: We have updated the template mobile clients as well. Both Android and iOS display an updated user interface and incorporate best practices. The Android client sports the newest version of Google Cloud Messaging.



     




So whether your mobile project demands rolling your own backend with Cloud Endpoints or you are able to start a ready-made backend of MBS, the Google Cloud Platform just got better for you. Get started with Cloud Endpoints or Mobile Backend Starter today!



-Posted by Tzachi Ben-Ayoun, Product Manager
Email ThisBlogThis!Share to XShare to Facebook
Posted in app engine | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Bridging Mobile Backend as a Service to Enterprise Systems with Google App Engine and Kinvey
    The following post was contributed by Ivan Stoyanov , VP of Engineering for Kinvey, a mobile Backend as a Service provider and Google Cloud ...
  • Tutorial: Adding a cloud backend to your application with Android Studio
    Android Studio lets you easily add a cloud backend to your application, right from your IDE. A backend allows you to implement functionality...
  • 2013 Year in review: topping 100,000 requests-per-second
    2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing ...
  • Easy Performance Profiling with Appstats
    Since App Engine debuted 2 years ago, we’ve written extensively about best practices for writing scalable apps on App Engine. We make writ...
  • TweetDeck and Google App Engine: A Match Made in the Cloud
    I'm Reza and work in London, UK for a startup called TweetDeck . Our vision is to develop the best tools to manage and filter real time ...
  • Scaling with the Kindle Fire
    Today’s blog post comes to us from Greg Bayer of Pulse , a popular news reading application for iPhone, iPad and Android devices. Pulse has ...
  • Who's at Google I/O: Mojo Helpdesk
    This post is part of Who's at Google I/O , a series of guest blog posts written by developers who are appearing in the Developer Sandbox...
  • A Day in the Cloud, new articles on scaling, and fresh open source projects for App Engine
    The latest release of Python SDK 1.2.3, which introduced the Task Queue API and integrated support for Django 1.0, may have received a lot ...
  • SendGrid gives App Engine developers a simple way of sending transactional email
    Today’s guest post is from Adam DuVander, Developer Communications Director at SendGrid. SendGrid is a cloud-based email service that deliv...
  • Qubole helps you run Hadoop on Google Compute Engine
    This guest post comes form Praveen Seluka, Software Engineer at Qubole, a leading provider of Hadoop-as-a-service.  Qubole is a leading pr...

Categories

  • 1.1.2
  • agile
  • android
  • Announcements
  • api
  • app engine
  • appengine
  • batch
  • bicycle
  • bigquery
  • canoe
  • casestudy
  • cloud
  • Cloud Datastore
  • cloud endpoints
  • cloud sql
  • cloud storage
  • cloud-storage
  • community
  • Compute Engine
  • conferences
  • customer
  • datastore
  • delete
  • developer days
  • developer-insights
  • devfests
  • django
  • email
  • entity group
  • events
  • getting started
  • google
  • googlenew
  • gps
  • green
  • Guest Blog
  • hadoop
  • html5
  • index
  • io2010
  • IO2013
  • java
  • kaazing
  • location
  • mapreduce
  • norex
  • open source
  • partner
  • payment
  • paypal
  • pipeline
  • put
  • python
  • rental
  • research project
  • solutions
  • support
  • sustainability
  • taskqueue
  • technical
  • toolkit
  • twilio
  • video
  • websockets
  • workflows

Blog Archive

  • ▼  2013 (143)
    • ►  December (33)
    • ▼  November (15)
      • Compute Engine Load Balancing hits 1 million reque...
      • Dedicated memcache is now generally available in A...
      • Development tips for Google Cloud Endpoints for An...
      • Offline Disk Import and the OmNomNom Machine
      • International Offline Disk Import now available wi...
      • Google App Engine integration features in IntelliJ...
      • Connecting mobile developers to the cloud with Goo...
      • Rovio, Freshplanet, Pocket Gems and others talk ab...
      • Build amazing real time games on Google Cloud Plat...
      • Just Develop IT Migrates Petabytes of Data to Goog...
      • App Engine 1.8.7 and a platform that is great for ...
      • Google App Engine helps MAG Interactive handle exp...
      • Applibot builds social games on Google Cloud Platform
      • How to build scalable mobile games on Google Cloud...
      • Kaplan builds online education platform KAPx with ...
    • ►  October (17)
    • ►  September (13)
    • ►  August (4)
    • ►  July (15)
    • ►  June (12)
    • ►  May (15)
    • ►  April (4)
    • ►  March (4)
    • ►  February (9)
    • ►  January (2)
  • ►  2012 (43)
    • ►  December (2)
    • ►  November (2)
    • ►  October (8)
    • ►  September (2)
    • ►  August (3)
    • ►  July (4)
    • ►  June (2)
    • ►  May (3)
    • ►  April (4)
    • ►  March (5)
    • ►  February (3)
    • ►  January (5)
  • ►  2011 (46)
    • ►  December (3)
    • ►  November (4)
    • ►  October (4)
    • ►  September (5)
    • ►  August (3)
    • ►  July (4)
    • ►  June (3)
    • ►  May (8)
    • ►  April (2)
    • ►  March (5)
    • ►  February (3)
    • ►  January (2)
  • ►  2010 (38)
    • ►  December (2)
    • ►  October (2)
    • ►  September (1)
    • ►  August (5)
    • ►  July (5)
    • ►  June (6)
    • ►  May (3)
    • ►  April (5)
    • ►  March (5)
    • ►  February (2)
    • ►  January (2)
  • ►  2009 (47)
    • ►  December (4)
    • ►  November (3)
    • ►  October (6)
    • ►  September (5)
    • ►  August (3)
    • ►  July (3)
    • ►  June (4)
    • ►  May (3)
    • ►  April (5)
    • ►  March (3)
    • ►  February (7)
    • ►  January (1)
  • ►  2008 (46)
    • ►  December (4)
    • ►  November (3)
    • ►  October (10)
    • ►  September (5)
    • ►  August (6)
    • ►  July (4)
    • ►  June (2)
    • ►  May (5)
    • ►  April (7)
Powered by Blogger.

About Me

Unknown
View my complete profile