Upload
nhn-japan-hangame
View
3.939
Download
6
Embed Size (px)
DESCRIPTION
ライブドアテクニカルセミナー(第三回)で川合毅が発表した「Hangame for iPhone開発秘話」です。 ■Ustream http://www.ustream.tv/recorded/9806039 ■講演者 川合 毅/NHN Japan株式会社 ウェブ企画推進室 ■プロフィール ハンゲームのコミュニティ系サービスの企画開発をやっています。 ■講演タイトル/概要 「ハンゲーム for iPhone開発秘話」 1)ハンゲーム for iPhoneとは? 2)開発環境 3)スマートフォン向けハンゲームのアーキテクチャ 4)デバイス特性上気をつけるべきポイント 5)失敗から学んだこと 6)これからの課題 ### ■ハンゲーム for iPhone http://itunes.apple.com/jp/app/id382020864?mt=8 ■NHN Japan http://www.nhncorp.jp/ ■NHNグループ採用情報 http://matome.naver.jp/odai/2128317429983707301
Citation preview
NHN Japan株式会社
ウェブ企画推進室
川合 毅
川合 毅(かわい たけし)
2004年NHN Japan入社
CURURU立ち上げ
ケータイ版ハンゲーム(旧ハンゲ.jp)立ち上げ
ハンゲーム for iPhone立ち上げ
<主要機能>
ゲームランチャー
アバター(プロフィール管理)
イマコレ(コレクションカード)
ミニメール
MacBook 2.26GHz Intel Core 2 Duo + Memory4GB
XCode3.2.3
参考にした書籍3冊
Interface Builderは使わないほうが内部動作を理解しやすい(と思う)
Web Server
Browser Game Server
Database API Server
ブラウザゲーム(UIWebView)
外部Application
内包Application
アプリケーションコントローラ
Delegate経由の URLRequest
URLScheme Objective-Cクラス
各ゲームとアプリ基盤での情報のやりとりが必要
ブラウザゲーム(UIWebView)
アプリケーションコントローラ
例1:ブラウザゲーム中に音声再生
<html> <body> <a href = “soundplay”>soundplay</a> </body> </html>
UIWebViewでページ遷移が発生すると呼ばれるshouldStartLoadWithRequest:(NSURLRequest *)requestメソッド内で”soundplay”を処理する
ブラウザゲーム(UIWebView)
アプリケーションコントローラ
例2:コントローラからUIWebViewを操作
[webView stringByEvaluatingJavaScriptFromString:@“document.location = ’http://www.hangame.co.jp/'"];
ユーザーインターフェース
通信状態
マルチタスク
バッテリー
通信状態を把握することが重要
開発環境と実際の利用シーンを意識!
通信状態を把握することが重要 Appleのサンプルコード
Reachablityが良い参考 TCP/IPの経路が確立されているか?
対象URLが有効か? Wi-fiか3G回線か? フライトモードか?
http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html
AppStore申請方法
レスポンス
メモリ管理超重要!
メモリ管理その1
→ビルドオプションのBuildAndAnalyzeを実行
実行例
メモリ管理その2
→InstrumentsのAllocationsとLeaksを使ってメモリリークを無くす!
メモリ管理その3
→オーガナイザでCrashログをチェック
Android共通開発環境の整備
旧機種サポート iPod Touch 第四世代+iPhone 3G,3GS,
4+iPad
マルチタスク環境での安定動作 ユーザはマルチタスクを知らない