Google Cloud Endpoints の紹介
Click here to load reader
-
Upload
taiji-miyamoto -
Category
Technology
-
view
2.815 -
download
2
description
Transcript of Google Cloud Endpoints の紹介
Google Cloud Endpointsの紹介
RainbowApps横浜校 イメージピット株式会社
代表 高橋 良輔
Google Cloud Endpointsとは? Google App Engineのモバイル端末 (Android、iPhoneなど)のバックエンド連携をサポートするツール ・GAEからエンドポイント生成 ・クライアント(Android、iOS)のライブラリ生成
エンドポイントって何? クライアントから簡単にバックエンドサーバのプログラムを実行できるようにした仕組み ・Google Cloud EndpointsはREST形式でエンドポイントを生成
REST形式のエンドポイントAPIを提供している代表的なサービス
RESTって何? RESTは、URLにパラメータを指定してHTTPでアクセスすると、XMLやJSONで記述されたメッセージが送られてくるようなシステムおよび呼び出しインターフェース
http://xxxxx/_ah/api/xxx/list
JSON形式などで返却
Google Cloud Endpoit
Google App Engine
GCEの特徴 その1 GAEプロジェクトにて一定ルールに従ってサーバサイドプログラム(Java)を書くだけで簡単にREST形式のエンドポイントを生成 ・REST形式のURLにてアクセスすればJSON形式でデータを返却
GCEの特徴 その2 REST形式のエンドポイントに加え、AndroidやiOSなどのクライアントライブラリを自動生成 生成されたライブラリをクライアントアプリに組み込む事により オブジェクトとしてGAEのデータを扱える
Google Cloud Endpoit
Google App Engine
クライアント ライブラリ生成
GCEのここがすごい!
・短期間でサーバサイドを構築・公開できる ・短期間でクライアントサイドと連携できる (手順を覚えれば) ・Googleパワーを(ある程度の範囲)は 無料で使える →インフラ担当がいらない!
どんなアプリに向いているか?
・大量にサーバアクセスがあるアプリ →AKB48の総選挙など ・日々データをサーバに蓄積していくアプリ →twitterのようなアプリ
それでは 実際にGCEを使ったアプリ 作ってみましょう!
Google Cloud Endpointsデモ
資料について
PCやスマートフォン、タブレットをお持ちの方はこちらから資料を確認できます。 http://school.rainbowapps.com/yokohama/gae/#doc
はじめに 今回は簡単なGAEアプリケーション、Android、iOSアプリを作りデータを連携してみます。
Google Cloud Endpoit
必要な環境
下記の環境を構築する必要があります。 ・GAEのアカウント登録 ・eclipse+ADTインストール ・Googleプラグインインストール ・Xcodeインストール(iOSアプリ開発時) 詳細解説 https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC--
開発の流れ
1.GAEプロジェクト作成 →DTOクラス、Endpointクラス作成 2.ローカル環境APIテスト 3.GAE本番環境デプロイ 4.クライアントライブラリ生成 5.Androidアプリ開発 →クライアントライブラリインポート 6.iOSアプリ開発 →クライアントライブラリ生成・インポート
手順1 GAEプロジェクト作成
EclipseでGAEプロジェクトを作成し 下記のクラスファイルを作成 ・DTOクラス →DataStoreに登録するEntitieを定義 ・Endpointクラス →APIメソッドを定義 →APIメソッドにアノテーションを付与 (次ページ) 詳細解説 https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-GAE-
手順2 アノテーション付与
EndpointクラスのAPIメソッドにアノテーションをつける @Api(name =“game", version = "v1") public class Game { @ApiMethod(name = "game.update", httpMethod = "POST") public Game updateGame(@Named("state") String state) { // method logic here return game; } } 詳細解説 https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-Endpoint-1
手順3 ローカル環境APIテスト
バックエンド側の実装が完了したら 「Rus As」→「Web Application」で ローカル環境起動し、 ローカル環境でAPIをテスト <ローカルAPIテスト環境> https://developers.google.com/apis-explorer/?base=http://localhost:8888/_ah/api 詳細解説 https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-API-
手順4 GAE本番環境デプロイ
ローカル環境でAPIをテストが完了したら、 本番環境へデプロイ デプロイもEclipseで簡単にデプロイ出来る! プロジェクトにGAEのプロジェクトIDをセットし 「Google」→「Deploy to App Engine」するだけ! 詳細解説 https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-GAE-1
手順5 クライアントライブラリ生成
Android、IOSアプリと連携するのに 必要なクライアントライブラリを生成 「Google」→「Generate Cloud Endpoint Client Library」をクリック 詳細解説 https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC--7
手順6 Androidアプリ開発
開発手順 1.EclipseでAndroidプロジェクト作成 2.AndroidManifest.xmlパーミッション設定 3.クライアントライブラリのインポート 4.API専用ライブラリのリンク・ビルドパス追加 5.Endpointクラスをインスタンス化し APIメソッドを実行※ ※実行時はAsyncTaskで呼び出す必要有 詳細解説 https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-Endpoint-Android-
手順7 iOSアプリ開発
<開発手順> 1.XcodeでiOSプロジェクト作成 2.Google Api Objective-Cクライアント ファイルダウンロード 3.クライアントライブラリ生成 4.クライアントライブラリ組み込み 5.Endpointクラスをインスタンス化し APIメソッドを実行 詳細解説 https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-Endpoint-iOS-
手順7 iOSアプリ開発
ServiceGenerator
GTL Xcodeプロジェクト
GAEプロジェクト
Endpoint クライアント ライブラリ
iOS用Endpoint クライアント ライブラリ
iOSアプリ (Xcodeプロジェクト)
コマンド実行
生成
ライブラリコピー
Google Api Objective-C クライアントファイル
ライブラリコピー
Google SVNリポジトリ
チェックアウト
ARC除外設定
ありがとうございました <ご案内> RainbowApps講座情報 http://school.rainbowapps.com/yokohama イメージピット株式会社 http://www.image-pit.com/ →アプリ開発、Webサイト制作、 サーバサイド開発承ります <お問合せ> [email protected]