2013年2月28日木曜日

GoogleのBaaS「Cloud Endpoints」で簡単モバイルアプリ開発

Googleもモバイル向けのBaaSである「Cloud Endpoints」というものを出しました。これは、Google App Engine上で作ったサービスを簡単にAndroidやiOSなどのモバイルからREST APIとしてアクセスできるようにするためのものです。



もう少し言うと、App Engine上で、JavaやPythonを用いて作ったクラスとメソッドから、サーバサイドのRESTインターフェースとそのクライアントサイドのJavaScriptJava(Android用)Objective-C(iOS用)コードを生成してくれるものです。AndroidやiOS、もしくはWebアプリなどから簡単に生成したコードをコールすることで、App Engineのメソッドをシームレスにコールすることができます。

App Engineの開発でJavaを利用する場合に必要なものとしては、Google App Engine Java SDK 1.7.5以上と、Eclipseで開発するのであればGoogle Plugin for Eclipse(GPE)。
※ちなみにSDK1.7.5からはJava7も利用可能とのこと。


開発手順としては、

  1. App Engine上でバックエンドのサービス(メソッド)を実装。(もちろんApp Engineを使えば、認証、NoSQL、ストレージ、メールなどの多くの機能も利用可能。)
  2. 公開したいサービスのクラスに@Apiというアノテーションを付与し、メソッドに@ApiMethodというアノテーションを付与。
  3. そのアノテーションを付けたサービスから、endpoints.shユーティリティを使って、RESTインターフェースとJavaScript、Java、Objective-Cを生成。(GPEを使えば簡単に生成)
  4. その生成されたクライアントコードを使って、クライアントのアプリを実装。
  5. App Engineと同様のやり方でデプロイ。
これで、App Engine上にサービスを簡単にコールできるアプリが完成し、APIは「APIs Console」から参照できるようである。

JavaScriptも生成されることから、PhoneGapなどのWebKitベースのモバイルアプリからも利用できまるので、非常に便利ですね。

また、使った際には報告します!