[20130624]最近の開発環境について話してみる sakata

Post on 28-May-2015

2.116 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

最近の開発環境について話してみる

Koichi Sakata (@huin)genesix, Inc.

自己紹介• Koichi Sakata

• @huin

• genesix, Inc.

• 2012年新卒

• iOS歴2年ちょっと

• WWDC 2013参加できた!!

株式会社ジェネシックス

iOSアプリ開発でよくあること

ライブラリの導入で時間とられる

ライブラリの導入で時間とられる

• ソースコードだけなら問題ない

• フレームワークリンクするなら余裕

• Build Settings弄り始めると面倒

• Linker Flag, Header Path, ...

• 他のライブラリ使ってたら激おこ(ry

どうするの?

CocoaPodsでしょ!!

CocoaPods• 皆さんご存知ライブラリ管理ツール

• プロジェクトへのリンクもやってくれるのが非

常にうれしい.

• 社内ライブラリ(非公開)でもおk

# Install CocoaPods$ gem install cocoapods

# Setup$ cd /path/to/Project$ vim Podfileplatform :ios

pod ‘Reachability’pod ‘PrivateLib’, :git => ‘git@github.com:org/PrivateLib.git’

# Install Libs$ pod install$ open Project.xcworkspace -a /Application/Xcode.app

SenTestingKitが物足りない

どうするの?

Kiwiでし(ry

Kiwi• BDD, RSpecなテストフレームワーク

• Mock, Stubsもひと通り揃ってる

• Class, ProtocolのMockなど

• 非同期なテストもちゃんと書ける

• 導入は

target :ProjectTests, :exclusive => true dopod ‘Kiwi’

end

Kiwi• Blocksのネストに違和感

• 慣れたら大したことなかった

• iBooks の チュートリアル本が便利

• https://itunes.apple.com/us/book/id502345143

• Xcodeからit単位で実行できないのが残念

開発したいけどAPIが間に合ってない

開発したいけどAPIが間に合ってない• よくある話?ウチだけ?

• 待つのは時間がもったいない

• APIできてもエラーまわりのテストとかはしづらい

• 他社のAPIだとどうしようもない

• Sinatra+Powで手元にダミーサーバ?

Nocilla

Nocilla• リクエストに対して、任意のレスポンスを返してくれるようにするライブラリ

• アプリの中で完結するので楽

• メソッドチェイン的に書けるのが気持ちいい

• 導入は

target :ProjectTests, :exclusive => true dopod ‘Nocilla’

end

Nocilla• レスポンス書くのは結局手間

• この部分は仕方ない(と思ってる)

• レスポンスのJSONファイル作ってWikiにコピペ

しておけばなんとなくドキュメント

• 高機能さで言うとOHHTTPStubs

コマンドラインからほげほげしたい

CLIでほげほげしたい• JenkinsとかJenkinsとかJenkinsとか...

• xcodebuild がテストの実行サポートしてない

• ロジックテストだけならなんとか

• Simulatorでもできるけどトリッキー

• 興味ある方はk_kinukawaさんの記事 参照

• http://kkinukawa.hatenablog.com/entry/2013/04/12/012256

xctool

xctool• facebook製(なんか信用できる)

• シミュレーターでのテストもできるよ!!

• CI向けの設定も書いてあって安心

• .xctool-argsで設定簡略化

• 導入簡単(いつの間にかHomebrew対応してた)

$ brew install xctool

xctool• 任意のテスト(メソッド)単位で実行できる

• Kiwiとの組み合わせだと意味ない

• テストレポートの出力形式が豊富

• パッケージ(ipa)作成はできないみたい

• ‘xctool archive‘はxcarchive用らしい

• xcrun でやりましょう

まとめ• 開発効率上げるツールって大事ですよね

• 開発速度に効いてくる

• 最近は豊富になってきたと思う

• ManiacDev.com経由の情報が多い

• http://maniacdev.com/

• もっと便利なのとかあれば教えて下さい

参考• CocoaPods

• http://cocoapods.org/

• Kiwi

• https://github.com/allending/Kiwi

• Nocilla

• https://github.com/luisobo/Nocilla

• OHHTTPStubs

• https://github.com/AliSoftware/OHHTTPStubs

• xctool

• https://github.com/facebook/xctool

発表で使ったデモはこちらhttps://github.com/kshuin/ToolsDemo

top related