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

2,551 views

Published on

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

  1. 1. 最近の開発環境について話してみるKoichi Sakata (@huin)genesix, Inc.
  2. 2. 自己紹介• Koichi Sakata• @huin• genesix, Inc.• 2012年新卒• iOS歴2年ちょっと• WWDC 2013参加できた!!
  3. 3. 株式会社ジェネシックス
  4. 4. iOSアプリ開発でよくあること
  5. 5. ライブラリの導入で時間とられる
  6. 6. ライブラリの導入で時間とられる• ソースコードだけなら問題ない• フレームワークリンクするなら余裕• Build Settings弄り始めると面倒• Linker Flag, Header Path, ...• 他のライブラリ使ってたら激おこ(ry
  7. 7. どうするの?
  8. 8. CocoaPodsでしょ!!
  9. 9. CocoaPods• 皆さんご存知ライブラリ管理ツール• プロジェクトへのリンクもやってくれるのが非常にうれしい.• 社内ライブラリ(非公開)でもおk
  10. 10. # Install CocoaPods$ gem install cocoapods# Setup$ cd /path/to/Project$ vim Podfileplatform :iospod ‘Reachability’pod ‘PrivateLib’, :git => ‘git@github.com:org/PrivateLib.git’# Install Libs$ pod install$ open Project.xcworkspace -a /Application/Xcode.app
  11. 11. SenTestingKitが物足りない
  12. 12. どうするの?
  13. 13. Kiwiでし(ry
  14. 14. Kiwi• BDD, RSpecなテストフレームワーク• Mock, Stubsもひと通り ってる• Class, ProtocolのMockなど• 非同期なテストもちゃんと書ける• 導入はtarget :ProjectTests, :exclusive => true dopod ‘Kiwi’end
  15. 15. Kiwi• Blocksのネストに違和感• 慣れたら大したことなかった• iBooks の チュートリアル本が便利• https://itunes.apple.com/us/book/id502345143• Xcodeからit単位で実行できないのが残念
  16. 16. 開発したいけどAPIが間に合ってない
  17. 17. 開発したいけどAPIが間に合ってない• よくある話?ウチだけ?• 待つのは時間がもったいない• APIできてもエラーまわりのテストとかはしづらい• 他社のAPIだとどうしようもない• Sinatra+Powで手元にダミーサーバ?
  18. 18. Nocilla
  19. 19. Nocilla• リクエストに対して、任意のレスポンスを返してくれるようにするライブラリ• アプリの中で完結するので楽• メソッドチェイン的に書けるのが気持ちいい• 導入はtarget :ProjectTests, :exclusive => true dopod ‘Nocilla’end
  20. 20. Nocilla• レスポンス書くのは結局手間• この部分は仕方ない(と思ってる)• レスポンスのJSONファイル作ってWikiにコピペしておけばなんとなくドキュメント• 高機能さで言うとOHHTTPStubs
  21. 21. コマンドラインからほげほげしたい
  22. 22. CLIでほげほげしたい• JenkinsとかJenkinsとかJenkinsとか...• xcodebuild がテストの実行サポートしてない• ロジックテストだけならなんとか• Simulatorでもできるけどトリッキー• 興味ある方はk_kinukawaさんの記事 参照• http://kkinukawa.hatenablog.com/entry/2013/04/12/012256
  23. 23. xctool
  24. 24. xctool• facebook製(なんか信用できる)• シミュレーターでのテストもできるよ!!• CI向けの設定も書いてあって安心• .xctool-argsで設定簡略化• 導入簡単(いつの間にかHomebrew対応してた)$ brew install xctool
  25. 25. xctool• 任意のテスト(メソッド)単位で実行できる• Kiwiとの組み合わせだと意味ない• テストレポートの出力形式が豊富• パッケージ(ipa)作成はできないみたい• ‘xctool archive‘はxcarchive用らしい• xcrun でやりましょう
  26. 26. まとめ• 開発効率上げるツールって大事ですよね• 開発速度に効いてくる• 最近は豊富になってきたと思う• ManiacDev.com経由の情報が多い• http://maniacdev.com/• もっと便利なのとかあれば教えて下さい
  27. 27. 参考• 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
  28. 28. 発表で使ったデモはこちらhttps://github.com/kshuin/ToolsDemo

×