Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて

10,919 views

Published on

「iOSエンジニアがゼロだったじげんがどのように開発を行ったのか?」であったり、個人でSwift学習を行う際のpointなどをまとめた内容になっています。

Published in: Technology
  • Be the first to comment

Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて

  1. 1. Apple審査を⼀一発通過! iOS開発経験0でも出来る じげん流流Swift開発のすべて 株式会社じげん 具志堅 雅 @ g 0 8 m 1 1
  2. 2. 具志堅 雅 @g08m11 ZIGExN • 求⼈人PJ兼エンジニアユニット所属 • R a i l sエンジニア兼i O S エンジニア Private • 3社合同アフィリエイトソン 最優秀賞受賞 • 2社合同2 B H a c k 協賛企業賞を3社受賞 • 観光アイディアソン 準優勝など 2
  3. 3. 株式会社じげん 3
  4. 4. 株式会社じげん 4
  5. 5. 株式会社じげん 5
  6. 6. 株式会社じげん • 従業員数: 約70名 (アルバイト込み) • 従業員内訳 – PM: 8名 – エンジニア: 18名 – デザイナー: 4名 – マーケ: 8名 • 男⼥女女⽐比: 2:1 • エンジニアの内訳 ここがポイント – iOSエンジニア: 0%(2014年年8⽉月時点) – Railsエンジニア: 100% 6
  7. 7. 話すこと • 今⽇日のプレゼンの対象者 – i O S開発、S w i f t開発を個⼈人で学習したい⽅方 – 未経験だが会社でチームを作ってi O S開発をしたい ⽅方 • iOSエンジニアがゼロだったじげんがどのよう に開発を⾏行行ったのか? – どのようにしてi O Sエンジニアを⽣生み出していくの か? 7
  8. 8. もくじ • 第⼀一部 – チームでSwif t開発してみよう • 第⼆二部 – ゼロからSwif tを始めるときの学習⽅方法 8
  9. 9. もくじ • 第⼀一部 – チームでSwif t開発してみよう • 第⼆二部 – ゼロからSwif tを始めるときの学習⽅方法 9
  10. 10. Swift開発フロー ユニット ミッショ ンの設定 STEP1 企画に参 画。⼯工数 ⾒見見積もり STEP2 実装。 Apple申 請 STEP3 Apple通 過。新機 能実装 STEP4 10
  11. 11. Swift開発フロー ユニット ミッショ ンの設定 STEP1 企画に参 画。⼯工数 ⾒見見積もり STEP2 実装。 Apple申 請 STEP3 Apple通 過。新機 能実装 STEP4 11
  12. 12. -‐‑‒ ユニットミッションの設定 -‐‑‒ Xcodeの使い⽅方、Swiftの勉強 12 STEP ユニットミッションの設定(8⽉月中旬〜~9⽉月中旬) 1
  13. 13. -‐‑‒ ユニットミッションの設定 -‐‑‒ Xcodeの使い⽅方、Swiftの勉強 13 STEP ユニットミッションの設定(8⽉月中旬〜~9⽉月中旬) 1
  14. 14. ユニットミッションの設定 • じげんには、事業部での業務とは別に「ユニットミッション」と いうユニット別での業務を各Q ごとに決めるメンバー決定 – ネイティブアプリミッションに多くのメンバーが集結! – 各ミッションのメンバー数は平均5 ⼈人ほどだが、S w i f t アプリのミッ ションには1 1 名がJ O I N ! • ただ単純に「S w i f t を勉強しました」とならないように、2 Q 末 でのゴール設定をする – S w i f t アプリミッションの⽬目的は? – 8 ⽉月末までのマイルストーンの設定 • はじめてのi O S アプリ開発 – 9 ⽉月末までの達成⽬目標 – 成果報告 14 STEP 1
  15. 15. -‐‑‒ ユニットミッションの設定 -‐‑‒ Xcodeの使い⽅方、Swiftの勉強 15 STEP ユニットミッションの設定(8⽉月中旬〜~9⽉月中旬) 1
  16. 16. 16 Xcodeの使い⽅方、Swiftの勉強
  17. 17. Xcodeの使い⽅方、Swiftの勉強 • ユニットミッションで決めた機能を 集中的に勉強(研修的ではない。) • 積極的にライブラリを活⽤用(Swif ty JSON) • ユニットミッションメンバーでもくもく会 – だいたい皆同じ所でつまっている – 毎週2⽇日だけだが、ほとんどのメンバーが積極的に 参加して、情報交換していた – ペアプロ的な時間を作ることで開発速度度が爆発! 17
  18. 18. Swift開発フロー ユニット ミッショ ンの設定 STEP1 企画に参 画。⼯工数 ⾒見見積もり STEP2 実装。 Apple申 請 STEP3 Apple通 過。新機 能実装 STEP4 18
  19. 19. -‐‑‒ 企画へ参画、⼯工数⾒見見積もり -‐‑‒ 実装 19 STEP 企画に参画。⼯工数⾒見見積もり(9⽉月中旬〜~10⽉月初旬) 2
  20. 20. -‐‑‒ 企画へ参画、⼯工数⾒見見積もり -‐‑‒ 実装 20 STEP 企画に参画。⼯工数⾒見見積もり(9⽉月中旬〜~10⽉月初旬) 2
  21. 21. • 仕様の確定(フェーズを⼆二分割) • 申請⽇日、リジェクトを考慮したスケ ジュール • タスクの洗い出し • 制作、⾮非制作で⾒見見積もり 21 STEP 企画に参画。⼯工数⾒見見積もり(9⽉月中旬〜~10⽉月初旬) 2
  22. 22. Gantter 22
  23. 23. ⾒見見積もりポーカー 23
  24. 24. -‐‑‒ 企画へ参画、⼯工数⾒見見積もり -‐‑‒ 実装 24 STEP 企画に参画。⼯工数⾒見見積もり(9⽉月中旬〜~10⽉月初旬) 2
  25. 25. 実装 • デザイナーがJustInMindでプロト作成 • それをベースにエンジニアが簡易易な画⾯面 遷移を作成 • 不不明点やバグなどあればその場で相談 • その場で解決できない場合はWaffle.io でタスク管理理 25
  26. 26. 実装 • ユニットミッションで実装したソース の活⽤用 • ハマった所はHipChatへ情報共有 • 解決した際はRendezvous(じげん版 QiitaTeam)へナレッジ共有、ノウハ ウ蓄積 26
  27. 27. Rendezvous 27
  28. 28. 実装 • PJ同様にスクラムをフル活⽤用 • タスク洗い出し • コミュニケーションをオンラインだけ で完結させずにオフラインでも 積極的に⾏行行う 28
  29. 29. KPT 29
  30. 30. バーンダウンチャート 30
  31. 31. カンバン 31
  32. 32. Swift開発フロー ユニット ミッショ ンの設定 STEP1 企画に参 画。⼯工数 ⾒見見積もり STEP2 実装。 Apple申 請 STEP3 Apple通 過。新機 能実装 STEP4 32
  33. 33. -‐‑‒ 実機テスト -‐‑‒ 申請に必要な資料料を⽤用意 -‐‑‒ 有識識者と⼀一緒に申請 33 STEP 実装。Apple申請 3
  34. 34. -‐‑‒ 実機テスト -‐‑‒ 申請に必要な資料料を⽤用意 -‐‑‒ 有識識者と⼀一緒に申請 34 STEP 実装。Apple申請 3
  35. 35. 実機テスト • 操作性などを確認 • バグつぶし、仕様漏漏れの確認 • 実装に時間が掛かる場合はフェーズ2 へシフト 35
  36. 36. -‐‑‒ 実機テスト -‐‑‒ 申請に必要な資料料を⽤用意 -‐‑‒ 有識識者と⼀一緒に申請 36 STEP 実装。Apple申請 3
  37. 37. 申請に必要な資料料を⽤用意 • 基本は⾮非制作側で⽤用意 (⼯工数⾒見見積もり時に相談済み) • iPhone6 Plusなどのキャプチャはデ ザイナーが⽤用意 37
  38. 38. -‐‑‒ 実機テスト -‐‑‒ 申請に必要な資料料を⽤用意 -‐‑‒ 有識識者と⼀一緒に申請 38 STEP 実装。Apple申請 3
  39. 39. 有識識者と⼀一緒に申請 • 会社名義のため申請内容を統⼀一 • じげスタのエンジニアへ適宜相談 39
  40. 40. 有識識者と⼀一緒に申請 • D E M O
  41. 41. 有識識者と⼀一緒に申請 41
  42. 42. Swift開発フロー ユニット ミッショ ンの設定 STEP1 企画に参 画。⼯工数 ⾒見見積もり STEP2 実装。 Apple申 請 STEP3 Apple通 過。新機 能実装 STEP4 42
  43. 43. -‐‑‒ 振り返り -‐‑‒ 実装 43 STEP Apple通過。新機能実装(10⽉月初旬〜~現在) 4
  44. 44. 振り返り • 申請時に出来なかったタスクを元々予 定していたタスクへマージ。 • 再度度、⼯工数ポーカーを実施(より確度度 ⾼高く⾒見見積もる) • 制作、⾮非制作で分担 44
  45. 45. -‐‑‒ 振り返り -‐‑‒ 実装 45 STEP Apple通過。新機能実装(10⽉月初旬〜~現在) 4
  46. 46. 実装 • リソースが⾜足りないため、 Objective-‐‑‒Cと同時平⾏行行で学習中 • iOSの内部構造を学習 (「ダイナミックObjective-‐‑‒C」) 46
  47. 47. まとめ(つまったこと) • Debugの仕⽅方が分からない • 知らない間にブレークポイントを設定し ハマる • iOS開発のベストプラクティスが分から ない • 参考ソースが不不⼗十分 47
  48. 48. まとめ(これから学習される⽅方) • Xcodeは最新バージョンを使いましょう • 実装する前に「Swiftコーディング規約 @Wantedly」を⾒見見て綺麗麗なコードを⼼心 がけましょう • 理理解した事や⾃自分が詰まった所は積極的 にアウトプットしましょう 48
  49. 49. まとめ(所感) • ぶっちゃけなんとかなる • 何を実現するかチームで決める⽅方が⼤大 事 • Objective-‐‑‒CよりもSwiftがおすすめ • ⾃自分⼀一⼈人ではなく、会社またはエンジ ニアチーム、仲間の協⼒力力が不不可⽋欠 49
  50. 50. まとめ(私事) • SwiftのおかげでSwift Gilrsの講師に • Rails以外に⾃自分の引き出しが増えた • iOSのことも分かるサーバーエンジニ アに⼀一歩近づいた 50
  51. 51. もくじ • 第⼀一部 – チームでSwif t開発してみよう • 第⼆二部 – ゼロからSwif tを始めるときの学習⽅方法 51
  52. 52. じげん流流3つの学習パターン
  53. 53. すーさん CASE1 i O S アプリ開発は、ほぼはじめて ( 以前に少しO b j -‐‑‒ C を触ったことはある) • ⻘青本(絶対に挫折しないiPhoneアプリ開発 「超」⼊入⾨門)をやる • We b上のサンプルコードや社内の⼈人間が作ったサ ンプルコードをやる • 実践
  54. 54. すーさん CASE1 i O S アプリ開発は、ほぼはじめて ( 以前に少しO b j -‐‑‒ C を触ったことはある) • Tip s – S w i f t に関する全体像を把握してから進めるのではなく て、サンプルコードを実際に⾃自分で動かしていくこと で、引き出しをストックしていく – 制作物を作っていく際には、それらのストックを参考 にしながら作っていく – ⻘青本でX c o d e の基本的な使い⽅方は学んでおく
  55. 55. すーさん CASE1 i O S アプリ開発は、ほぼはじめて ( 以前に少しO b j -‐‑‒ C を触ったことはある) • DEMO
  56. 56. きたくに CASE2 i O S アプリ開発は、完全にはじめて • Youtub e のSw i f t関連の動画を⾒見見漁る • Ap p leのSw i f t本を通勤電⾞車車で読む(2周) • O b j-‐‑‒ Cで書かれたライブラリをSw i f tに書き換え る • Q i i t aに投稿しまくる
  57. 57. きたくに CASE2 i O S アプリ開発は、完全にはじめて • Tip s – なんとなく英語が聞ける⼈人なら、Yo u t u b e を⾒見見ながら X c o d e の使い⽅方を学びつつ、S w i f t を学習していける – S w i f t 本を読むことで、S w i f t の基本的な⽂文法をイン プットしておくと、後々楽になる – O j b -‐‑‒ C からS w i f t への書き換えはハードだが、S w i f t の ソースが少ない現状では、O b j -‐‑‒ C を読んで書き換える ことが頻発するため、できればやっておいた⽅方が良良い
  58. 58. きたくに CASE2 i O S アプリ開発は、完全にはじめて • DEMO
  59. 59. まいける CASE3 i O S アプリ開発は、完全にはじめて • じげん社内の⼈人間が作った道やソースコードを活 ⽤用し、学習していく • それらのソースコードを真似てベースを作った後 に、徐々にカスタマイズしていく
  60. 60. まいける CASE3 i O S アプリ開発は、完全にはじめて • T i p s – 社内で先にS w i f t を学習している⼈人がやったことを真似し ていくことで、わからない所はその⼈人に聞きながら効率率率的 に学習していくことがわかる – 全員が同時にS w i f t をやるよりも、時間差を空けて学習し た⽅方が、同じ失敗をしたり、同じハマり⽅方をしないで済む ので、結果的に全体のアウトプットは良良いものになる – よくわからないメソッドがあれば、逐⼀一“ ⌘ + クリック” で ソースを読み、きちんと理理解しながら進めることで、「わ かったふり」を防ぐ
  61. 61. まいける CASE3 i O S アプリ開発は、完全にはじめて • DEMO
  62. 62. 学習法まとめ • i O S アプリ開発⾃自体が初めての場合は、できるだけ複数⼈人 で学習を開始した⽅方がいい! – F B グループなどに⼊入るもの勿論論良良いが、やはり直接気軽に聞 ける存在を作っておくべき • 個⼈人で学習するときには、使えるリソースを全部活⽤用して やれば、最初のスタートは切切れる – S w i f t 本やQ i i t a に上がっているサンプルコード、Yo u t u b e などを参考にする – 近々出版されるS w i f t 関連の書籍でもいいかも • 初⼼心者ながらに情報発信することで、それに対してF B をく れる⼼心優しい⽅方を頼りにしよう 62
  63. 63. いかがでしたか?
  64. 64. できそうな気がしませんか?
  65. 65. じげんは微⼒力力ながら Swiftに関する勉強会で サポートしていきます!
  66. 66. これから Swiftをやっていきたい⽅方 ⼀一緒に頑張りましょう!

×