Upload
kenji-kinukawa
View
5.524
Download
2
Embed Size (px)
Citation preview
Plannahの開発環境とDeployGateの紹介
株式会社ミクシィ
イノベーションセンター
衣川憲治
自己紹介
• 衣川憲治(k_kinukawa)
• 2010年11月〜
• mixi for iPhone, iPad
• Plannah(3月末でクローズ)
• 4月よりDeployGateチームに所属
Plannahとは
• みんなで作る、思い出アルバムアプリ
• 3月末でクローズしました。
チーム
• マーケティング、ディレクション(1名)
• デザイン、UI/UX(1名)
• アプリ、サーバー、インフラ、開発全般(衣川)
一人で開発しなければならない!
あなたならどうする?
ローンチまでの期間:3ヶ月
一番最初に、CI環境を整えよう
継続的インテグレーション(CI)
• ビルド、テストを継続的に実行する。
–短いサイクル
–自動化
• 高速に石橋を叩きながら開発を進める
開発
ビルド
テスト リリース
Jenkins
• ビルド、テストの自動化
• アプリ配信の自動化• メトリクスの自動取得
Github
• ソースコード管理
• issue管理
• コードレビュー
DeployGate
• アプリのリモート配信サービス
• iOS対応しました
NOMADO
• 超便利なコマンドラインツール群
• shenzhenで、コマンドラインから一発ipaファイル作成
• あとでデモします。
組み合わせると...
ソースコードくれ!
ビルド・テストしろ!
アーカイブ作ってみんなに配れ!
配信!
Github
Xcode
DeployGate
チーム
プッシュ、レビュー、マージ!
組み合わせると...
• Githubにpushしたら自動で
–ビルド
–テスト
–自動配信
• メンバーは常に最新のビルドを使い倒す
• 少ない人数でも効率的な検証環境を整えておく。
便利なライブラリを有効活用しよう
CocoaPods
• ライブラリ管理のための必須ツール
• 導入のための設定も自動で行ってくれる
• 自作ライブラリも使える
CocoaPodsで導入したライブラリ
• AFNetworking
• MTStatusBarOverlay
• UICKeyChainStore
• ZXing
• QR-Code-Encoder-for-Objective-C
• EGOTableViewPullRefresh
• Kiwi
• OCMoc
• Nocilla
お勧めライブラリ
UICKeyChainStore
• NSUserDefaultのように、シンプルにKeyChainのデータを操作できる。
[UICKeyChainStore setData:data forKey:kKeychainKey]; //セーブ
NSData *data = [UICKeyChainStore dataForKey:kKeychainKey]; //ロード
ZXing
• QRコードリーダー– 見た目のカスタマイズ可能
– 高速• (ZXingObjCは...)
– Apatch License 2.0• (ZBarはGNU LGPL 2.1)
• QR-Code-Encoder-for-Objective-CでQRコード生成
EGOTableViewPullRefresh
• 引っ張り更新ライブラリ
• カスタマイズ可能
–結構遊べる
• カスタマイズしたものをgithubに公開しました
Kiwi
• RSpecライクなBDDフレームワーク
• 内部的にOCUnit/XCTest使っている
– cmd+Uが使える
– Xcode5からSPEC単位で実行できる
• 導入も簡単
– http://qiita.com/k_kinukawa/items/710a1e209e1bbb9713f6
CRToast
• ステータスバー、ナビゲーションバー上に表示されるトースト通知ライブラリ
• iOS7っぽい
• PlannahではMTStatusBarOverlayを使っていたが、次使うならこっち使いたい
GoogleAnalytics
• リアルタイム解析
– Push砲を打つと面白い
• ビューの表示解析
– ViewControllerの親クラスのViewDidLoadに以下の一行を入れておく
[[GAI sharedInstance].defaultTracker trackView:NSStringFromClass([self class])];
その他
• CocoaPodsを使って簡単ライブラリ導入
• ManiacDev.comおすすめ
mBaaSを有効活用しよう
• モバイルアプリのためのバックエンドサービス
–ストレージ
–プッシュ通知
–ユーザー管理
• SNS連携
• Objective-Cの簡単なAPIで使える
• API設計が素敵
• 無料で結構使える
• Plannahでは、プッシュ通知だけParse.comを利用
–必要な機能だけ利用できる
• 趣味の開発でも積極的に利用
まとめ
• 最初にCI環境を作ってしまおう
• CocoaPodsを使って、便利なライブラリを活用しよう
• mBaaSを有効活用しよう
• DeployGateを使おう