Upgrade to Pro — share decks privately, control downloads, hide ads and more …

一人iOSエンジニアでも気持ちよく開発できるiOSアプリ開発者になる!

4bd69b0ec8e5731a5332ee100ad8fb6d?s=47 entaku
September 18, 2019

 一人iOSエンジニアでも気持ちよく開発できるiOSアプリ開発者になる!

4bd69b0ec8e5731a5332ee100ad8fb6d?s=128

entaku

September 18, 2019
Tweet

Transcript

  1. ҰਓiOSΤϯδχΞͰ΋ؾ ࣋ͪΑ͘։ൃͰ͖ΔiOS ΞϓϦ։ൃऀʹͳΔʂ ָ͘͠SwiftΛॻͨ͘Ίʹඞཁͳ͜ͱ

  2. ࣗݾ঺հ • entaku (@entaku19890818) • iOS/AndroidΤϯδχΞʢࣗশʣ • ܦྺ: 
 ͳΜͪΌͬͯSE->


    NWΤϯδχΞ[SIer]->
 αʔόʔαΠυΤϯδχΞ[SIer](java/PHP..etc)->
 iOS/Android ΞϓϦ։ൃ[ελʔτΞοϓ]->
 Vue / Android ΞϓϦ։ൃ @ CBCloud
 ʹͳΓ·͢ • ΞϓϦ։ൃେ޷͖(°˜°)(°˜°)(°˜°)(°˜°) ࣗݾ঺հ
  3. https://cb-cloud.com https://pickgo.town/

  4. ࣗݾ঺հ • entaku (@entaku19890818) • iOS/AndroidΤϯδχΞʢࣗশʣ • ܦྺ: 
 ͳΜͪΌͬͯSE->


    NWΤϯδχΞ[SIer]->
 αʔόʔαΠυΤϯδχΞ[SIer](java/PHP..etc)->
 iOS/Android ΞϓϦ։ൃ[ελʔτΞοϓ]->
 Vue / Android ΞϓϦ։ൃ @ CBCloud
 ʹͳΓ·͢ • ΞϓϦ։ൃେ޷͖(°˜°)(°˜°)(°˜°)(°˜°) ࣗݾ঺հ ͜ͷ࣌ͷ࿩ʂ
  5. ΞϓϦ։ൃͰͷ΍Δ͜ͱͱ໾ׂ σβΠϯ ϞόΠϧ αʔόʔαΠυ 69ͱ6* ࡞੒ͱݕূ ը໘࡞੒ ػೳ࡞੒ "1*΍ Πϯϑϥͷߏங

  6. σβΠϯ ϞόΠϧ αʔόʔαΠυ ελʔτΞοϓೖࣾ౰ॳͷ๻ όϦόϦΞϓϦ։ൃ ͢Ε͹ αʔϏε੒௕͢Δ͸ͣʂ

  7. ։ൃ͕ؒʹ߹Θͳ͍ ͱ͍͏ݱ࣮ ͳΜͰʂʁ

  8. σβΠϯ ϞόΠϧ αʔόʔαΠυ ໰୊1.ઐ೚σβΠφʔෆࡏʹΑΔσβΠϯ՝ ୊ͷ௕ظԽ΋͘͠͸͏΍Ή΍ʹ ͜ͷϘλϯUBQͨ͠ΒͲ͏͢Δ Τϥʔͷͱ͖͸  ͜ͷσβΠϯJPT"OESPJEͰද ݱ͢ΜͷΉ͍ͣΜ͕ͩʜϗϯ

    τʹʁඞཁʁʁϗϯτʹʁʁ FUDʜ
  9. σβΠϯ ϞόΠϧ αʔόʔαΠυ ໰୊2.αʔόʔαΠυ୲౰ऀͱͷΠϯλʔ ϑΣΠε࢓༷ͷᴥᴪ ࢥͬͯͨ"1*ͱҧ͏  શ෦νΣοΫ͖͠Εͳ͍  "1*࡞Γ·ͨ͠

  10. σβΠϯ ϞόΠϧ αʔόʔαΠυ ໰୊3.ͦ΋ͦ΋ͷࣗ෼ͷ࣮૷ྗ ࠔͬͨ࣌Ͳ͏͢Ε͹͍͍͔ Θ͔ΒΜʂ ୭ʹฉ͚͹͍͍ͷΑʂ ͭΒ͍

  11. ݁Ռ ϞόΠϧ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ

    λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ λεΫ
  12. None
  13. ٽ͍ͯ΋͠ΐ͏͕ͳ͍

  14. None
  15. վળࡦͷߟ࡯ • σβΠϯ<=>ϞόΠϧ • σβΠϯͷݕূͱٞ࿦Ͱ͖ΔΑ͏ʹ͢Δ • σβΠϯ࿙ΕΛݟ͚ͭΔ • iOS/Androidͷඪ४ʹଇͬͯͳ͍UIΛݟ͚ͭΔ •

    Ͳ͏ಈ࡞͢Δ͔Θ͔Βͳ͍෦෼Λݟ͚ͭΔ • ϞόΠϧ<=>αʔόʔαΠυ • IF࢓༷Λٞ࿦Ͱ͖ΔΑ͏ʹ͢Δ • ϞόΠϧͰѻ͍΍͍͢σʔλͷܗʹ͢Δ • API։ൃऴΘͬͯͳͯ͘΋֬ೝ&։ൃ͕ਐΊΒΕΔΑ͏ʹ͢Δ • ϞόΠϧ • ͭΑ͍iOSΤϯδχΞʹͳΔʂʂʂʂʂʂʂʂ
  16. ରࡦ1.ؔΘΔશһ͕σβΠϯΛ֬ೝ͠΍͢ ͍ঢ়ଶʹ ରࡦ2.͍ͭͰ΋API࢓༷֬ೝ&ୟ͚ΔΑ͏ ʹ ରࡦ3.iOSΤϯδχΞͱͯ͠ͷ੒௕

  17. ରࡦ1.ؔΘΔશһ͕σβΠϯΛ֬ೝ͠΍͍͢ ঢ়ଶʹ • Sketch+invisionͷಋೖ • ΋ͱ΋ͱSketch࢖ͬͯͨ • ϓϩτλΠϓ͕࡞ΕΔ • σβΠϯ্ͰίϝϯτͰͷ΍ΓऔΓ

    ͕Մೳ • UIͷ੍໿͕֬ೝͰ͖Δ σβΠϯ ϑϩϯτ ϞόΠϧ
  18. ରࡦ1.ؔΘΔશһ͕σβΠϯΛ֬ೝ͠΍͍͢ ঢ়ଶʹ σβΠϯ ϑϩϯτ ϞόΠϧ • Sketch+invisionͷಋೖ • ΋ͱ΋ͱSketch࢖ͬͯͨ •

    ϓϩτλΠϓ͕࡞ΕΔ • σβΠϯ্ͰίϝϯτͰͷ΍ΓऔΓ ͕Մೳ • UIͷ੍໿͕֬ೝͰ͖Δ ։ൃલʹσβΠϯͷෛ࠴Λվળ
  19. ରࡦ2.͍ͭͰ΋API࢓༷֬ೝ&ୟ͚ΔΑ͏ʹ struct InviteEventEntity: Decodable { let id : Int let

    title:String let fullname:String let userId:Int let startDate:Date let endDate:Date let type:Int let gender:Int? let beginnerAllow:Int let maxMembers:Int //࠷େืूਓ਺ let presentMembers:Int? //֎෦ͷࢀՃਓ਺ let participationsCnt:Int let sportId:Int let picture:String let eventImageUrl:String? • Swift4͔ΒͷDecodableΛΑ͘ ར༻͍ͨ͠ʢ͸ͣʣ • ϑΟʔϧυ͕ແ͘ͳΔͱ͔΍Ίͯཉ͍͠ • optional΋Ͱ͖Ε͹࢖͍ͨ͘ͳ͍ • ΦϒδΣΫτ໊ͱϑΟʔϧυͷத਎͸౷ Ұͯ͠ཉ͍͠
  20. ରࡦ2.͍ͭͰ΋API࢓༷֬ೝ&ୟ͚ΔΑ͏ʹ struct InviteEventEntity: Decodable { let id : Int let

    title:String let fullname:String let userId:Int let startDate:Date let endDate:Date let type:Int let gender:Int? let beginnerAllow:Int let maxMembers:Int //࠷େืूਓ਺ let presentMembers:Int? //֎෦ͷࢀՃਓ਺ let participationsCnt:Int let sportId:Int let picture:String let eventImageUrl:String? • Swift4͔ΒͷDecodableΛΑ͘ ར༻͍ͨ͠ʢ͸ͣʣ • ϑΟʔϧυ͕ແ͘ͳΔͱ͔΍Ίͯཉ͍͠ • optional΋Ͱ͖Ε͹࢖͍ͨ͘ͳ͍ • ΦϒδΣΫτ໊ͱϑΟʔϧυͷத਎͸౷ Ұͯ͠ཉ͍͠ ϞόΠϧͰड͚΍͍͢ܗΛཁٻ͢Δʂ
  21. ରࡦ2.͍ͭͰ΋API࢓༷֬ೝ&ୟ͚ΔΑ͏ʹ • ։ൃલʹAPIͷ࢓༷Λ࿩͠߹ ͏ • ͨͩJSONฦ͚ͩ͢ͷϞοΫ Λ࡞ͬͯ΋Βͬͨɻ • ։ൃͯ͠ΔAPIʹӨڹ͞Εͳ ͍

    ϑϩϯτ ϞόΠϧ αʔόʔαΠυ
  22. ରࡦ2.͍ͭͰ΋API࢓༷֬ೝ&ୟ͚ΔΑ͏ʹ ϑϩϯτ ϞόΠϧ αʔόʔαΠυ • ։ൃલʹAPIͷ࢓༷Λ࿩͠߹ ͏ • ͨͩJSONฦ͚ͩ͢ͷϞοΫ Λ࡞ͬͯ΋Βͬͨɻ

    • ։ൃͯ͠ΔAPIʹӨڹ͞Εͳ ͍ αʔόʔαΠυͱͷίϛϡχέʔγϣϯ͕ͱͯ΋େࣄ
  23. ରࡦ3.iOSΤϯδχΞͱͯ͠ͷ੒௕ ϞόΠϧ • ެࣜͷDeveloperαΠτΛࢮ͵΄ͲݟΔ (https://developer.apple.com/ documentation/) • StackOverFlowઌഐΛݟΔor࣭໰Λ͢Δ (https://stackoverflow.com) •

    ଞͷਓͷGitHubΛݟΔ
  24. • ެࣜͷDeveloperαΠτΛࢮ͵΄ͲݟΔ (https://developer.apple.com/ documentation/) • StackOverFlowઌഐΛݟΔor࣭໰Λ͢Δ (https://stackoverflow.com) • ଞͷਓͷGitHubΛݟΔ ࣗ෼Ͱ੒௕͢Δʹ͸ݶք͕͋Δʜ

    ରࡦ3.iOSΤϯδχΞͱͯ͠ͷ੒௕ ϞόΠϧ
  25. • ͨͩ࢓ࣄͰࠔͬͨ͜ͱΛLTͨ͠Γͨ͠ https://docs.google.com/presentation/d/1P- pTiaTRKqDgAOkyBSdNirGW3nwQfs8QB5UjBRJw-cc/edit?usp=sharing ରࡦ3.iOSΤϯδχΞͱͯ͠ͷ੒௕ ϞόΠϧ

  26. • ͨͩ࢓ࣄͰࠔͬͨ͜ͱΛLTͨ͠Γͨ͠ https://docs.google.com/presentation/d/1P- pTiaTRKqDgAOkyBSdNirGW3nwQfs8QB5UjBRJw-cc/edit?usp=sharing ϞόΠϧ ରࡦ3.iOSΤϯδχΞͱͯ͠ͷ੒௕ ΞυόΠε΋Β͑·ͨ͠ʂʂ

  27. • ༑ਓͷΤϯδχΞʹؔΘͬͯ΋Βͬͨ • ଞϓϩδΣΫτͷiOSͷίʔυΛݟͤΔ ػձ͕Ͱ͖ͨ • ؔΘͬͨۀ຿ҕୗͷਓʹRxSwiftΛ࢝Ί ৭ʑڭ͑ͯ΋Βͬͨ ϞόΠϧ ରࡦ3.iOSΤϯδχΞͱͯ͠ͷ੒௕

  28. • ༑ਓͷΤϯδχΞʹؔΘͬͯ΋Βͬͨ • ଞϓϩδΣΫτͷiOSͷίʔυΛݟͤΔ ػձ͕Ͱ͖ͨ • ؔΘͬͨۀ຿ҕୗͷਓʹRxSwiftΛ࢝Ί ৭ʑڭ͑ͯ΋Βͬͨ ਓͷίʔυͱͦ͏ͨ͠ҙਤΛฉ͘͜ͱ͕ͱͯ΋ษڧʹͳΔ ϞόΠϧ

    ରࡦ3.iOSΤϯδχΞͱͯ͠ͷ੒௕
  29. ݁Ռ…

  30. σβΠϯ ϑϩϯτ ϞόΠϧ αʔόʔαΠυ ໎͍ͳ͘4XJGUॻ͚ Δ Ϥ͒͒͒͒͒͒͒͒ ͒͒ iOS։ൃָ͍͠

  31. ·ͱΊ

  32. ҰਓiOSΤϯδχΞͰ΋ؾ࣋ͪΑ͘։ൃ͢Δʹ ͸ʁ • ؔΘΔશһ͕ΞϓϦσβΠϯΛ֬ೝ͠΍͍͢ঢ়ଶʹ • σβΠϯπʔϧͰ͍ͭͰ΋୭Ͱ΋ݟΕΔΑ͏ʹ • ϓϩτλΠϓ࡞ͬͯ։ൃલʹσβΠϯతෛ࠴Λղܾ • ͍ͭͰ΋API࢓༷֬ೝ&ୟ͚ΔΑ͏ʹ

    • ΞϓϦଆͰड͚औΓ͍ͨAPIͷܗΛ໌֬ʹ • αʔόʔαΠυ୲౰ͱίϛϡχέʔγϣϯͱΔɻཁٻ͢΂͖͜ͱΛཁٻ͢Δ • iOSΤϯδχΞͱͯ͠੒௕͢Δ • ެࣜαΠτ·ͨGitHubͳͲΛۦ࢖ • ֎෦Ͱࣗ෼ͷࠔ͍ͬͯΔ͜ͱΛLT͢Δ͜ͱͰڭ͑ͯ͘ΕΔɻΈΜͳ༏͍͠ • ࣗ෼Ҏ֎ͷiOSΤϯδχΞͷίʔυΛݟͯҙਤΛฉ͘
  33. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ