Google App Engine
Feedback on this document

Overview of Google Cloud Endpoints

Preview!

This is a Preview release of Google Cloud Endpoints. As a result, the API is subject to change and the service itself is currently not covered by any SLA or deprecation policy. These characteristics will be evaluated as the API and service moves towards General Availability, but developers should take this into consideration when using the Preview release of Google Cloud Endpoints.

Google Cloud Endpoints consists of tools, libraries and capabilities that allow you to generate APIs and client libraries from an App Engine application, referred to as an API backend, to simplify client access to data from other applications. Endpoints makes it easier to create a web backend for web clients and mobile clients such as Android or Apple's iOS.

For mobile developers, Endpoints provides a simple way to develop a shared web backend and also provides critical infrastructures, such as OAuth 2.0 authentication, eliminating a great deal of work that would otherwise be needed. Furthermore, because the API backend is an App Engine app, the mobile developer can use all of the services and features available in App Engine, such as Datastore, Google Cloud Storage, Mail, Url Fetch, Task Queues, and so forth. And finally, by using App Engine for the backend, developers are freed from system admin work, load balancing, scaling, and server maintenance.

It is possible to create mobile clients for App Engine backends without Endpoints. However, using Endpoints makes this process easier because it frees you from having to write wrappers to handle communication with App Engine. The client libraries generated by Endpoints allow you to simply make direct API calls.

Basic Endpoints architecture

Here's what using an Endpoints API allows you to do:

As shown above, the API backend is an App Engine app that performs business logic and other functions for Android and iOS clients, as well as JavaScript web clients. The functionality of the backend is made available to clients through Endpoints, which exposes an API that clients can call.

Endpoints libraries and tools

Google Cloud Endpoints provide the following libraries and tools:

  • The Endpoints library in the SDK, google.appengine.ext.endpoints
  • The endpointscfg.py utility, which generates client libraries for Android devices, and discovery documents for Android and iOS devices, as described in Generating Client Libraries.
  • The sample Tic Tac Toe web app backend.
  • The following sample clients of the sample API backend:

Requirements

You must use Google App Engine Python SDK (1.7.5 or newer).

You need to be familiar with development using Google App Engine and Python. You need to know how to develop the client of your choice, such as JavaScript web clients, or mobile clients of your choice, such as Android or iOS.

The development process

The general workflow for developing an app using Endpoints is:

  1. Write your API backend code first, wrapping the classes and any methods to be exposed, and creating message classes as described in Create an Endpoints API. You'll also need to create an API server, as described in Creating an API server.
  2. Generate Client Libraries using the endpointscfg.py utility directly for Android, and to generate the necessary discovery document for iOS.
  3. Write your client app, using the custom client libraries when making calls to the API backend.

Authentication required

You need to be signed in with Google+ to do that.

Signing you in...

Google Developers needs your permission to do that.