Enviar pesquisa
Carregar
Devsumi2013 14
•
2 gostaram
•
1,680 visualizações
Toshifumi Hotta
Seguir
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 81
Baixar agora
Baixar para ler offline
Recomendados
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Takashi Sogabe
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
Akira Inoue
Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt
Hiraku Nakano
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Masahiro Nagano
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
Developers Summit
デブサミ 2013 日本App Inventorユーザー会
デブサミ 2013 日本App Inventorユーザー会
Takeaki Tada
【15-e-7】Kinectから始まったスタートアップ #devsumi
【15-e-7】Kinectから始まったスタートアップ #devsumi
Kaoru NAKAMURA
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Masahiro Hidaka
Recomendados
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Takashi Sogabe
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
Akira Inoue
Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt
Hiraku Nakano
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Masahiro Nagano
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
Developers Summit
デブサミ 2013 日本App Inventorユーザー会
デブサミ 2013 日本App Inventorユーザー会
Takeaki Tada
【15-e-7】Kinectから始まったスタートアップ #devsumi
【15-e-7】Kinectから始まったスタートアップ #devsumi
Kaoru NAKAMURA
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Masahiro Hidaka
人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜
Yukei Wachi
デブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOps
Developers Summit
Developer Summit 2013 18-D-1
Developer Summit 2013 18-D-1
Motoaki Nishiwaki
Developers Summit 2013【15-E-3】モバイルファースト再考(Rethinking Mobile First)
Developers Summit 2013【15-E-3】モバイルファースト再考(Rethinking Mobile First)
Nobuya Sato
デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)
デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)
Developers Summit
デブサミ関西2012[A-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
デブサミ関西2012[A-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
Yusuke Suzuki
反復型ソフトウェア開発の勘所
反復型ソフトウェア開発の勘所
Yoshifumi Tsuda
【17-D-6】.NETアセンブリの宿命
【17-D-6】.NETアセンブリの宿命
Developers Summit
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
Serverworks Co.,Ltd.
Kansumi2013 tamagawa
Kansumi2013 tamagawa
SORACOM, INC
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
Yusuke Suzuki
Developers Summit 2013【15-B-8】タブレット進化論
Developers Summit 2013【15-B-8】タブレット進化論
Akio Hoshi
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
Developers Summit
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れ
Mitsuru Katoh
楽天エンジニアライフ
楽天エンジニアライフ
Rakuten Group, Inc.
2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~
Takeshi Shinmura
Devsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdf
Gunther Brunner
Force.com開発基礎
Force.com開発基礎
Salesforce Developers Japan
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える
Hiroto Igarashi
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
Jeff Haynie
Mais conteúdo relacionado
Semelhante a Devsumi2013 14
人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜
Yukei Wachi
デブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOps
Developers Summit
Developer Summit 2013 18-D-1
Developer Summit 2013 18-D-1
Motoaki Nishiwaki
Developers Summit 2013【15-E-3】モバイルファースト再考(Rethinking Mobile First)
Developers Summit 2013【15-E-3】モバイルファースト再考(Rethinking Mobile First)
Nobuya Sato
デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)
デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)
Developers Summit
デブサミ関西2012[A-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
デブサミ関西2012[A-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
Yusuke Suzuki
反復型ソフトウェア開発の勘所
反復型ソフトウェア開発の勘所
Yoshifumi Tsuda
【17-D-6】.NETアセンブリの宿命
【17-D-6】.NETアセンブリの宿命
Developers Summit
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
Serverworks Co.,Ltd.
Kansumi2013 tamagawa
Kansumi2013 tamagawa
SORACOM, INC
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
Yusuke Suzuki
Developers Summit 2013【15-B-8】タブレット進化論
Developers Summit 2013【15-B-8】タブレット進化論
Akio Hoshi
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
Developers Summit
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れ
Mitsuru Katoh
楽天エンジニアライフ
楽天エンジニアライフ
Rakuten Group, Inc.
2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~
Takeshi Shinmura
Devsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdf
Gunther Brunner
Force.com開発基礎
Force.com開発基礎
Salesforce Developers Japan
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える
Hiroto Igarashi
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
Jeff Haynie
Semelhante a Devsumi2013 14
(20)
人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜
デブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOps
Developer Summit 2013 18-D-1
Developer Summit 2013 18-D-1
Developers Summit 2013【15-E-3】モバイルファースト再考(Rethinking Mobile First)
Developers Summit 2013【15-E-3】モバイルファースト再考(Rethinking Mobile First)
デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)
デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)
デブサミ関西2012[A-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
デブサミ関西2012[A-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
反復型ソフトウェア開発の勘所
反復型ソフトウェア開発の勘所
【17-D-6】.NETアセンブリの宿命
【17-D-6】.NETアセンブリの宿命
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
Kansumi2013 tamagawa
Kansumi2013 tamagawa
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
Developers Summit 2013【15-B-8】タブレット進化論
Developers Summit 2013【15-B-8】タブレット進化論
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れ
楽天エンジニアライフ
楽天エンジニアライフ
2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~
Devsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdf
Force.com開発基礎
Force.com開発基礎
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
Devsumi2013 14
1.
Developers Summit
グリーにおけるスマホ アプリ開発∼ネイティブ編 14-A-4 堀田 敏史, 白倉 悠祐 #devsumiX グリー株式会社 開発本部 Japan Studio統括部 Developers Summit 2013 Action !
2.
Developers Summit
自己紹介 toshifumi .ho+a 女性向けスマ ホネイティブ @Toshiponnu アプリの開発 2012 2011 女性向け 1987 モバイルウェブ アプリの開発 Developers Summit 2013 Action !
3.
Developers
In Development… Summit Developers Summit 2013 Action !
4.
Developers Summit ネイティブアプリのバックエンド
アセット ウェブサーバ データベース サーバ CDN インターネット … … クライアントアプリ Developers Summit 2013 Action !
5.
Developers Summit
アジェンダ 1. サーバサイドの開発 • ウェブとネイティブの違い • 注意した点、設計のポイント 2. クライアントサイドの開発 • グリーにおけるウェブアプリとの違い • 開発スタイルについて • ちょっとした工夫点 Developers Summit 2013 Action !
6.
Developers Summit
アジェンダ 1. サーバサイドの開発 • ウェブとネイティブの違い • 注意した点、設計のポイント 2. クライアントサイドの開発 • グリーにおけるウェブアプリとの違い • 開発スタイルについて • ちょっとした工夫点 Developers Summit 2013 Action !
7.
Developers Summit
ウェブアプリの例 -‐ ガーデニング ①メニューを選ぶ ②タネを選ぶ ③場所を選ぶ ④タネまき完了 vb Developers Summit 2013 Action !
8.
Developers Summit ネイティブアプリの例 -‐ ガーデニング
①メニューを選ぶ ②タネを選ぶ ③場所を選ぶ ④タネまき完了 Developers Summit 2013 Action !
9.
Developers Summit
何がちがう? 見た目(UI)はもちろん違うのですが… サーバサイドから見ると… Developers Summit 2013 Action !
10.
Developers Summit
何がちがう? 通信のタイミング 表示データの在処 Developers Summit 2013 Action !
11.
Developers Summit
何がちがう? 通信のタイミング 表示データの在処 Developers Summit 2013 Action !
12.
Developers Summit
通信のタイミング ウェブ • 画面ベース • 1ページで1通信 ネイティブ • フローベース • UI、画面遷移に応じて必要なタイミングで Developers Summit 2013 Action !
13.
Developers Summit
何がちがう? 通信のタイミング 表示データの在処 Developers Summit 2013 Action !
14.
Developers Summit
表示データの在処 ウェブ • 通信の度にすべてサーバからデータ配信 • 表示はWebブラウザ ネイティブ • 更新頻度の低いデータはローカルに置ける • 表示はクライアント側 Developers Summit 2013 Action !
15.
Developers Summit
サーバサイドを考える • 通信のタイミングを考える • データの管理方法を考える • APIを考える Developers Summit 2013 Action !
16.
Developers Summit
サーバサイドを考える • 通信のタイミングを考える • データの管理方法を考える • APIを考える Developers Summit 2013 Action !
17.
Developers Summit
1. 通信タイミングを考える 都度通信するタイプ ①メニューを選ぶ ②タネを選ぶ 通信 通信 ③場所を選ぶ ④タネまき完了 通信 Developers Summit 2013 Action !
18.
Developers Summit
1. 通信タイミングを考える 都度通信するタイプ • メリット • サーバ側と常に同期しているためデータ不整 合の懸念が少ない • デメリット • 通信のタイミングでユーザのアクションがブ ロックされる Developers Summit 2013 Action !
19.
Developers Summit
2. 通信タイミングを考える すべて非同期で通信するタイプ ①メニューを選ぶ ②タネを選ぶ ③場所を選ぶ ④タネまき完了 非同期 Developers Summit 2013 Action !
20.
Developers Summit
2. 通信タイミングを考える すべて非同期で通信するタイプ • メリット • ユーザのアクションがブロックがないため ユーザ体験向上に寄与 • デメリット • サーバ側と常に同期しているわけではないた め、注意が必要 • クライアント側でユーザのアクションログ、管理 する必要がある Developers Summit 2013 Action !
21.
Developers Summit
3. 通信タイミングを考える 更新タイミングなどで適宜同期するタイプ ①メニューを選ぶ ②タネを選ぶ ③場所を選ぶ ④タネまき完了 通信 Developers Summit 2013 Action !
22.
Developers Summit
3. 通信タイミングを考える 更新タイミングなどで適宜同期するタイプ • メリット • ユーザデータの更新タイミングでサーバ側と 同期しているためデータ不整合の懸念は少な い • デメリット • 都度通信よりは軽微だが通信のタイミングで ユーザのアクションがブロックされる Developers Summit 2013 Action !
23.
Developers Summit
通信タイミングを考える 都度 非同期 適宜 ユーザ体験 △ ◎ ○ 安全性 / トレー サビリティ ◎ △ ○ • UIフローや画面の要件に合ったタイミング での通信を Developers Summit 2013 Action !
24.
Developers
Summit 通信していないときのログ • サーバと同期するまでの間のクライアント 側での動作ログが重要に • クライアントサイドの分析ログ • クライアント内部エラー • クライアントからサーバへ送る仕組み • サーバ側でトレースできるように Developers Summit 2013 Action !
25.
Developers Summit
サーバサイドを考える • 通信のタイミングを考える • データの管理方法を考える • APIを考える Developers Summit 2013 Action !
26.
Developers Summit
データ管理 ウェブサーバ データベース アセット サーバ CDN master_deco… master_id master_plant aquire_exp インターネット aquire_point master_id collection_id category … aquire_point aquire_exp … クライアントアプリ Developers Summit 2013 Action !
27.
Developers Summit
データ管理 • 更新頻度の少ないマスタデータ、アセッ トデータは初回で取得しローカルに • 変更があった場合のみダウンロード • 更新頻度の高いユーザデータはサーバと 適宜同期 Developers Summit 2013 Action !
28.
Developers Summit
マスタデータ管理 ウェブサーバ データベース 初回起動: 一括ダウンロード 2回目以降: 変更なし ダウンロードなし 変更あり 変更されたマスタのみダウンロード master_deco… master_id master_plant: master_plant aquire_exp b94d81425961a11d 7a88d507245cf67b aquire_point master_id master_decoration: collection_id category b94d81425961a11d … aquire_point 7a88d507245cf67b aquire_exp … … クライアントアプリ Developers Summit 2013 Action !
29.
Developers Summit
アセット管理 • 更新頻度が少ないため、初回起動時にア セットサーバからダウンロード • 容量が大きいため、ユーザプレイ進 に よって初回ダウンロード量はコントロール できるように • アセット単位でバージョン管理 • 通信のタイミングでバージョンチェックし、 更新があれば都度アップデートする方式 Developers Summit 2013 Action !
30.
Developers Summit
アセット管理 ウェブサーバ データベース アセット サーバ master_asset master_asset_bundle id : version 3120833dd2d084c08 app_version d21a2305c0e155c… master_plant: path b94d81425961a11d7 … a88d507245cf67b クライアントアプリ Developers Summit 2013 Action !
31.
Developers Summit
サーバサイドを考える • 通信のタイミングを考える • データの管理方法を考える • APIを考える Developers Summit 2013 Action !
32.
Developers Summit
サーバサイドAPI ウェブサーバ データベース アセット サーバ REST CDN user_plant {code: ”200”, “response”: { id “id”: 1 Instance_id インターネット “user_id”: 12345 “master_id”: 2 master_id user aquire_exp “x”: 13 “y”: 14 … user_id “garden_id”: 1 } Level Level_max friend_max … クライアントアプリ Developers Summit 2013 Action !
33.
Developers Summit
サーバサイドAPI • 設計した通信タイミングでクライアント側 から呼ばれる • データフォーマットはJSON • クライアント側から見えやすいようにビュー ワーを開発 • インターフェース、エラーコードはクライ アントとの擦り合わせが重要 Developers Summit 2013 Action !
34.
Developers
APIビューワー Summit APIを確認できるビューワーを用意 Developers Summit 2013 Action !
35.
Developers Summit
要素技術 • Webと変わらない技術で実現可能 • PHP 5.3, Ethna 2.6 • Web APIのサーバサイドロジック • Mysql 5.5 • 永続データを保存、マスタ/スレーブ、Sharding • Flare • 永続データで参照/更新頻度の高いデータを保存 • Memcached • 一時的なデータを保存 Developers Summit 2013 Action !
36.
Developers Summit
まとめ • UIフローに応じた通信タイミングの設計が 重要に • データ管理方針、APIによるクライアント 連携部分は設計の段階での認識合わせが肝 • 技術的にはウェブでのノウハウを使って実 現可能 Developers Summit 2013 Action !
37.
Developers Summit
アジェンダ 1. サーバサイドの開発 • ウェブとネイティブの違い • 注意した点、設計のポイント 2. クライアントサイドの開発 • グリーにおけるウェブアプリとの違い • 開発スタイルについて • ちょっとした工夫点 Developers Summit 2013 Action !
38.
Developers Summit
自己紹介:白倉悠祐 2008年4月 Yusuke.shirakura 某ゲーム会社入社 @gree.net 組み込み系の開発に携わる 2012年7月 グリー株式会社入社 クライアント・サーバ両方担当 Developers Summit 2013 Action !
39.
Developers Summit
アジェンダ 1. サーバサイドの開発 • ウェブとネイティブの違い • 注意した点、設計のポイント 2. クライアントサイドの開発 • グリーにおけるウェブアプリとの違い • 開発スタイルについて • ちょっとした工夫点 Developers Summit 2013 Action !
40.
Developers Summit
クライアントのアジェンダ ■ グリーにおけるウェブアプリとの違い ■ 開発スタイルについて ■ ちょっとした工夫点 Developers Summit 2013 Action !
41.
Developers Summit
クライアントのアジェンダ ■ グリーにおけるウェブアプリとの違い ■ 開発スタイルについて ■ ちょっとした工夫点 Developers Summit 2013 Action !
42.
Developers Summit
ウェブアプリとの違い ウェブアプリ ・画面ベース ・1ページ1通信 ネイティブアプリ ・フローベース ・場面に応じた通信 Developers Summit 2013 Action !
43.
Developers Summit
ウェブアプリとの違い ①メニューを選ぶ ②タネを選ぶ ③場所を選ぶ ④タネまき完了 vb 通信 通信 通信 Developers Summit 2013 Action !
44.
Developers Summit
ウェブアプリとの違い ウェブアプリ ・画面ベース ・1ページ1通信 ネイティブアプリ ・フローベース ・場面に応じた通信 Developers Summit 2013 Action !
45.
Developers Summit
ウェブアプリとの違い ウェブアプリ ・画面ベース 通信と表示 ・1ページ1通信 を主に1人で ネイティブアプリ ・フローベース ・場面に応じた通信 Developers Summit 2013 Action !
46.
Developers Summit
ウェブアプリとの違い ウェブアプリ ・画面ベース ・1ページ1通信 ネイティブアプリ ・フローベース ・場面に応じた通信 Developers Summit 2013 Action !
47.
Developers Summit
ウェブアプリとの違い ①メニューを選ぶ ②タネを選ぶ ③場所を選ぶ ④タネをまく 通信 Developers Summit 2013 Action !
48.
Developers Summit
ウェブアプリとの違い ウェブアプリ ・画面ベース ・1ページ1通信 ネイティブアプリ ・フローベース ・場面に応じた通信 Developers Summit 2013 Action !
49.
Developers Summit
ウェブアプリとの違い ウェブアプリ ・画面ベース ・1ページ1通信 ネイティブアプリ ・フローベース 通信と表示 ・場面に応じた通信 で役割分担 Developers Summit 2013 Action !
50.
Developers Summit
ウェブアプリとの違い ウェブアプリ ・画面ベース 通信と表示 ・1ページ1通信 を主に1人で ネイティブアプリ ・フローベース 通信と表示 ・場面に応じた通信 で役割分担 Developers Summit 2013 Action !
51.
Developers Summit
ウェブアプリとの違い 開発環境の違い ■ クライアントの開発にはUnityを利用 ・GREE Unity PlaXorm ・Lightweight SWF(LWF) Developers Summit 2013 Action !
52.
Developers Summit
クライアントのアジェンダ ■ グリーにおけるウェブアプリとの違い ■ 開発スタイルについて ■ ちょっとした工夫点 Developers Summit 2013 Action !
53.
Developers Summit
クライアントのアジェンダ ■ グリーにおけるウェブアプリとの違い ■ 開発スタイルについて ■ ちょっとした工夫点 Developers Summit 2013 Action !
54.
Developers Summit
開発スタイルについて クライアントサイド ■ サーバとのやり取りを主に担当 → バックエンド ■ ユーザインターフェース、遷移の管理 → フロントエンド Developers Summit 2013 Action !
55.
Developers Summit
開発スタイルについて クライアントサイド ■ サーバとのやり取りを主に担当 → バックエンド ■ ユーザインターフェース、遷移の管理 → フロントエンド Developers Summit 2013 Action !
56.
Developers Summit
開発スタイルについて クライアントサイド ■ サーバとのやり取りを主に担当 → バックエンド ■ インターフェース、遷移の管理 → フロントエンド Developers Summit 2013 Action !
57.
Developers Summit
開発スタイルについて クライアントサイド ■ サーバとのやり取りを主に担当 → バックエンド ■ インターフェース、遷移の管理 プロトタイプでのレビュー等で 出た要望によって処理が複雑化 Developers Summit 2013 Action !
58.
Developers Summit
開発スタイルについて インターフェースや遷移、通信タイミング 複数人での開発 運用での機能追加 プロジェクトメンバー追加、変更 Developers Summit 2013 Action !
59.
Developers Summit
開発スタイルについて インターフェースや遷移、通信タイミング 複数人での開発 運用での機能追加 プロジェクトメンバー追加、変更 フローが把握し易ければ問題ない Developers Summit 2013 Action !
60.
Developers Summit
クライアントのアジェンダ ■ グリーにおけるウェブアプリとの違い ■ 開発スタイルについて ■ ちょっとした工夫点 Developers Summit 2013 Action !
61.
Developers Summit
クライアントのアジェンダ ■ グリーにおけるウェブアプリとの違い ■ 開発スタイルについて ■ ちょっとした工夫点 Developers Summit 2013 Action !
62.
Developers Summit
ちょっとした工夫 ちょっとした工夫 Developers Summit 2013 Action !
63.
Developers Summit
ちょっとした工夫 ちょっとした工夫 遷移図とコードを自動生成しました Developers Summit 2013 Action !
64.
Developers Summit
ちょっとした工夫 こんな感じです Developers Summit 2013 Action !
65.
Developers Summit
ちょっとした工夫 なぜ自動生成にしたか? ■ ドキュメントの管理が面倒くさい ■ ある程度コードが統一される ■ 新規メンバーへの教育が楽 Developers Summit 2013 Action !
66.
Developers Summit
ちょとした工夫 自動生成のために考えた事 ■ 共通項は何か? ■ どこまで自動で生成するのか? ■ どれくらいなら使い易いか? Developers Summit 2013 Action !
67.
Developers Summit
ちょっとした工夫 条件1 条件2 処理1 処理2 処理3 処理があって条件があってまた次の処理 基本的な構造は一緒 Developers Summit 2013 Action !
68.
Developers Summit
ちょっとした工夫 条件1 条件2 処理1 処理2 処理3 処理と条件からコードと遷移図を生成 Developers Summit 2013 Action !
69.
Developers Summit
ちょっとした工夫 フォーマットは YAML Start: Main: Main: Game: {when: "Press start button"} Done: {when: "Finish" } Game Main: {when: "Game Over"} Done: Developers Summit 2013 Action !
70.
Developers Summit
ちょっとした工夫 Start: Main: {when: “Press start button”} Main: Done: {when: ”Game over”} Done: Press Start button Game over Start Main Done Developers Summit 2013 Action !
71.
Developers Summit
ちょっとした工夫 遷移図の表示は Graphviz h+p://www.graphviz.org/ AT&T研究所 DOTファイルを生成・編集するツール群 Developers Summit 2013 Action !
72.
Developers Summit
ちょっとした工夫 遷移図の表示は Graphviz g = GraphViz::new(BASENAME) nodes = {} data.nodes.each do | node | shape = "ellipse" shape = "box" if node.rlink.empty? || node.link.empty? nodes[node.name] = g.add_nodes(node.name, :shape => shape, :URL => "../../") end Developers Summit 2013 Action !
73.
Developers Summit
ちょっとした工夫 コンバータは Ruby ■ Ruby 1.8からYAML Libraryが標準添付 ■ ruby-‐graphvizも利用できる ■ C#のフォーマットを用意 Developers Summit 2013 Action !
74.
Developers Summit
Developers Summit 2013 Action !
75.
Developers Summit
ちょっとした工夫 Start: Main: Main: Game: {when: "Press start button"} Done: {when: "Finish" } Game: Main: {when: "Game Over"} Done: Developers Summit 2013 Action !
76.
Developers Summit
ちょっとした工夫 Start: Main: Main: Game: {when: "Press start button"} Done: {when: "Finish" } Game: Main: {when: "Game Over"} Done: このYAMLをコンバータにかけてみると Developers Summit 2013 Action !
77.
Developers Summit
ちょっとした工夫 遷移図ができました Developers Summit 2013 Action !
78.
Developers Summit
ちょっとした工夫 C#のコードができました Developers Summit 2013 Action !
79.
Developers Summit
ちょっとした工夫 遷移図の管理が楽 コードがある程度統一 新規メンバーへの教育 Developers Summit 2013 Action !
80.
Developers Summit
クライアントサイドまとめ まとめ ■ 開発スタイル ・少人数から大人数へ ・役割分担 ■ 自動生成 ・導入までの障壁が高い ・その分得られるものが多い Developers Summit 2013 Action !
81.
Developers Summit ご清聴ありがとうございました
Developers Summit 2013 Action !
Baixar agora