google cloud endpoints の紹介

23

Click here to load reader

Upload: taiji-miyamoto

Post on 24-May-2015

2.815 views

Category:

Technology


2 download

DESCRIPTION

Google App Engine を使ったスマホアプリ サーバーサイド開発入門セミナー@Google Japan 「RainbowAppsスクール」主催 2013年8月28日に開催したスマホアプリ開発者 向けの無料セミナーのプレゼンテーションです。 【セミナー内容】 昨今のスマートフォンアプリ開発の大規模かに伴い、アプリ開発にもサーバサイド開発の必要性が高まっています。 そこで今回RainbowAppsはGoogleが提供しているサーバサイド環境である「Google App Engine」でスマホアプリのサーバサイドを構築する入門セミナーを開催いたします。 最近公開されたGoogle App Engineの新しいサービスである「Google Cloud Endpoints」を利用すれば簡単にスマートフォンアプリのサーバサイドを開発することができるようなりました。セミナーでは「Google Cloud Endpoints」のデモも紹介いたします。 【Google App Engineでこんな機能を実装できます】 ・オンラインゲーム(ランキング機能などソーシャル要素) ・プッシュ通知機能 ・コンテンツ配信機能 ・写真共有機能 導入事例 ・ウェブサイト Google App Engine では、サーバーやマシンリソースを気にすることなく、 レスポンスの速い安全なウェブサイトを構築できます。 ・ビジネス アプリケーション Google App Engine でビジネス アプリケーションを作成すれば、どのデバイスからもアプリケーションにアクセスできます。 ・モバイル アプリとゲーム アプリ Google App Engine をモバイルアプリのバックエンドとして利用すれば、Chrome や Android のゲームへ拡張性を提供できます。 会場:Google Japan 30F Andromeda 主催:RainbowAppsスクール 横浜校・大阪本校 協力:Google Japan 運営:イメージピット株式会社 / LINE-UP株式会社 【アジェンダ】 福田 潔 Google Japan Inc. Enterprise Cloud Platform 高橋良輔(RainbowApps横浜校) 2000年からベンチャー企業のWebクリエイターとしてデザインやシステムの仕事で経験を積み、 2006年から独立、大手通信会社のシステム開発などを支援してきた。スマートフォンを利用したビジネスにも積極的に取り組んでいる。 宮本 太司(RainbowApps大阪代表) Google Appsで起業。Google Apps,iPhone,Android,クラウドビジネスに特化した事業を展開。2011年より RainbowApps大阪を運営。 2012年7月10日 (火) 年に一度のエンタープライズ総合イベント Google Atmosphere TOKYO Gold Sponsorshipに。 今回はスマホアプリ開発者向けにGoogleソリューションを提案いたします。

TRANSCRIPT

Page 1: Google Cloud Endpoints の紹介

Google Cloud Endpointsの紹介

RainbowApps横浜校 イメージピット株式会社

代表 高橋 良輔

Page 2: Google Cloud Endpoints の紹介

Google Cloud Endpointsとは? Google App Engineのモバイル端末 (Android、iPhoneなど)のバックエンド連携をサポートするツール ・GAEからエンドポイント生成 ・クライアント(Android、iOS)のライブラリ生成

Page 3: Google Cloud Endpoints の紹介

エンドポイントって何? クライアントから簡単にバックエンドサーバのプログラムを実行できるようにした仕組み ・Google Cloud EndpointsはREST形式でエンドポイントを生成

REST形式のエンドポイントAPIを提供している代表的なサービス

Page 4: Google Cloud Endpoints の紹介

RESTって何? RESTは、URLにパラメータを指定してHTTPでアクセスすると、XMLやJSONで記述されたメッセージが送られてくるようなシステムおよび呼び出しインターフェース

http://xxxxx/_ah/api/xxx/list

JSON形式などで返却

Google Cloud Endpoit

Google App Engine

Page 5: Google Cloud Endpoints の紹介

GCEの特徴 その1 GAEプロジェクトにて一定ルールに従ってサーバサイドプログラム(Java)を書くだけで簡単にREST形式のエンドポイントを生成 ・REST形式のURLにてアクセスすればJSON形式でデータを返却

Page 6: Google Cloud Endpoints の紹介

GCEの特徴 その2 REST形式のエンドポイントに加え、AndroidやiOSなどのクライアントライブラリを自動生成 生成されたライブラリをクライアントアプリに組み込む事により オブジェクトとしてGAEのデータを扱える

Google Cloud Endpoit

Google App Engine

クライアント ライブラリ生成

Page 7: Google Cloud Endpoints の紹介

GCEのここがすごい!

・短期間でサーバサイドを構築・公開できる ・短期間でクライアントサイドと連携できる  (手順を覚えれば) ・Googleパワーを(ある程度の範囲)は  無料で使える  →インフラ担当がいらない!

Page 8: Google Cloud Endpoints の紹介

どんなアプリに向いているか?

・大量にサーバアクセスがあるアプリ  →AKB48の総選挙など ・日々データをサーバに蓄積していくアプリ  →twitterのようなアプリ

Page 9: Google Cloud Endpoints の紹介

それでは 実際にGCEを使ったアプリ 作ってみましょう!

Page 10: Google Cloud Endpoints の紹介

Google Cloud Endpointsデモ

Page 11: Google Cloud Endpoints の紹介

資料について

PCやスマートフォン、タブレットをお持ちの方はこちらから資料を確認できます。 http://school.rainbowapps.com/yokohama/gae/#doc

Page 12: Google Cloud Endpoints の紹介

はじめに 今回は簡単なGAEアプリケーション、Android、iOSアプリを作りデータを連携してみます。

Google Cloud Endpoit

Page 13: Google Cloud Endpoints の紹介

必要な環境

下記の環境を構築する必要があります。 ・GAEのアカウント登録 ・eclipse+ADTインストール ・Googleプラグインインストール ・Xcodeインストール(iOSアプリ開発時) 詳細解説 https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC--

Page 14: Google Cloud Endpoints の紹介

開発の流れ

1.GAEプロジェクト作成   →DTOクラス、Endpointクラス作成 2.ローカル環境APIテスト 3.GAE本番環境デプロイ 4.クライアントライブラリ生成 5.Androidアプリ開発   →クライアントライブラリインポート 6.iOSアプリ開発   →クライアントライブラリ生成・インポート

Page 15: Google Cloud Endpoints の紹介

手順1 GAEプロジェクト作成

EclipseでGAEプロジェクトを作成し 下記のクラスファイルを作成 ・DTOクラス  →DataStoreに登録するEntitieを定義 ・Endpointクラス  →APIメソッドを定義  →APIメソッドにアノテーションを付与  (次ページ) 詳細解説 https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-GAE-

Page 16: Google Cloud Endpoints の紹介

手順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

Page 17: Google Cloud Endpoints の紹介

手順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-

Page 18: Google Cloud Endpoints の紹介

手順4 GAE本番環境デプロイ

ローカル環境でAPIをテストが完了したら、 本番環境へデプロイ デプロイもEclipseで簡単にデプロイ出来る! プロジェクトにGAEのプロジェクトIDをセットし 「Google」→「Deploy to App Engine」するだけ! 詳細解説 https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-GAE-1

Page 19: Google Cloud Endpoints の紹介

手順5 クライアントライブラリ生成

Android、IOSアプリと連携するのに 必要なクライアントライブラリを生成 「Google」→「Generate Cloud Endpoint Client Library」をクリック 詳細解説 https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC--7

Page 20: Google Cloud Endpoints の紹介

手順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-

Page 21: Google Cloud Endpoints の紹介

手順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-

Page 22: Google Cloud Endpoints の紹介

手順7 iOSアプリ開発

ServiceGenerator

GTL Xcodeプロジェクト

GAEプロジェクト

Endpoint クライアント ライブラリ

iOS用Endpoint クライアント ライブラリ

iOSアプリ (Xcodeプロジェクト)

コマンド実行

生成

ライブラリコピー

Google Api Objective-C クライアントファイル

ライブラリコピー

Google SVNリポジトリ

チェックアウト

ARC除外設定

Page 23: Google Cloud Endpoints の紹介

ありがとうございました <ご案内> RainbowApps講座情報 http://school.rainbowapps.com/yokohama イメージピット株式会社 http://www.image-pit.com/ →アプリ開発、Webサイト制作、  サーバサイド開発承ります <お問合せ> [email protected]