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

iOS DC 2016 : フルSwiftでバイクフリマアプリRIDEを作って得た学び

huin
August 19, 2016

iOS DC 2016 : フルSwiftでバイクフリマアプリRIDEを作って得た学び

2016年8月19日(金) に行われたiOS DC 2016 前夜祭でお話したスライドです。

トークページ : https://iosdc.jp/2016/c/node/36

huin

August 19, 2016
Tweet

More Decks by huin

Other Decks in Technology

Transcript

  1. ϑϧ4XJGUͰ
    όΠΫϑϦϚΞϓϦ3*%&Λ࡞ͬͯಘֶͨͼ

    View Slide

  2. ࣗݾ঺հ

    !,PJDIJ4BLBUB
    "!IVJO
    #IVJONF
    $'BCMJD *OD
    % J04"OESPJE

    View Slide

  3. ͓࿩͢͠Δ͜ͱ
    w 3*%&ͷ঺հ
    w ϑϧ4XJGUͰͷΞϓϦ։ൃ
    w 3FEVYΞʔΩςΫνϟͷ࠾༻
    w ·ͱΊ

    View Slide

  4. 3*%&ͷ঺հ

    View Slide

  5. View Slide

  6. όΠΫϑϦϚΞϓϦ3*%&

    View Slide

  7. όΠΫϑϦϚΞϓϦ3*%&
    w όΠΫंମͷചങʹಛԽͨ͠ϑϦϚΞϓϦ
    w ڑ཭ݕࡧˠ௚઀͋ͬͯऔҾ
    w J04൛ϦϦʔε
    w ݄೔ʹύʔπͷऔҾʹ΋ରԠʂʂ

    View Slide

  8. ͓࿩͢͠Δ͜ͱ
    w 3*%&ͷ঺հ
    w ϑϧ4XJGUͰͷΞϓϦ։ൃ
    w 3FEVYΞʔΩςΫνϟͷ࠾༻
    w ·ͱΊ

    View Slide

  9. ϑϧ4XJGUͰͷΞϓϦ։ൃ

    View Slide

  10. ϑϧ4XJGUͰͷΞϓϦ։ൃ
    w ϓϩδΣΫτ֓ཁ
    w J04ϓϩδΣΫτߏ੒
    w ։ൃπʔϧ
    w ։ൃϑϩʔ
    w ΞϓϦͷΞʔΩςΫνϟ

    View Slide

  11. ϓϩδΣΫτ֓ཁ
    w ։ൃظؒʙ ໿̏ϲ݄

    w ମ੍J04ΤϯδχΞ໊̏ σβΠφʔ໊
    w ಛ௃
    w ϥΠϒϥϦؚΊՄೳͳݶΓ4XJGUͰ࣮૷
    w 3FEVYΞʔΩςΫνϟΛશ໘తʹ࠾༻

    View Slide

  12. J04ϓϩδΣΫτߏ੒
    w ຊ൪"1*ͱ։ൃ"1*ͷ̎ͭͷλʔήοτͰ։ൃ
    w ϦϦʔε൛࢖͍ͭͭ։ൃ൛ΛࢼͤΔ
    w ։ൃ൛͸ΤϯλʔϓϥΠζॺ໊Ͱ഑෍
    w ୺຤؅ཧෆཁͰࣾ಺શһʹ഑෍

    View Slide

  13. ։ൃπʔϧ
    w 4XJGU-JOU
    w $PDPBQPET$BSUIBHF
    w $JSDMF$*'BCSJD#FUB
    w 'BTUMBOF
    w ςετ JQB࡞੒ #FUB΁ͷΞοϓϩʔυ౳ΛλεΫԽ
    w ୭Ͱ΋ಉ͡λεΫ͕࣮ߦͰ͖ΔΑ͏ʹ

    View Slide

  14. ։ൃϑϩʔ

    ᶃ13ͷ࡞੒
    ᶆJQB࡞੒ ᶇϕʔλ഑෍
    ᶄϒϥϯνςετ
    ᶅ13Ϛʔδ
    &
    !
    &
    &
    جຊ͸HJUqPX GFBUVSFϒϥϯν࡞ͬͯˠEFWFMPQʹϚʔδ

    View Slide

  15. "1*෦෼ͷ.PEVMFԽ

    ೝূ৘ใ
    ϝιουͷݺग़
    JNNVUBCMFͳ
    Ϩεϙϯεͷฦ٫
    6*ͷఏڙ ΞϓϦͷ಺෦ঢ়ଶͷอ࣋
    3*%&J04
    3&45"1*΁ͷϦΫΤετϨεϙϯε
    3*%&"1*

    View Slide

  16. "1*෦෼ͷ.PEVMFԽ
    w "QQଆͷ౎߹ΛϞσϧଆʹ৵ೖͤ͞ͳ͍
    w JNNVUBCMFͳσʔλΛఆٛͯ͠ಡࠐઐ༻ͷσʔλΛ࡞Δ
    w "QQଆͰඞཁͳ৘ใ͸FYUFOTJPOͰ࣮૷͢Δ
    w ͘Δ͔΋͠Εͳ͍
    "QQ&YUFOTJPOT΁ͷԼ४උ

    Ϟσϧ૚ͱ6*૚ͷ࣮૷Λ໌֬ʹ෼཭͢Δ

    View Slide

  17. JNNVUBCMFͳσʔλͷఆٛ
    w σʔλ͸શͯTUSVDUఆ਺ϓϩύςΟͰఆٛ
    w ஋ΛηοτͰ͖Δͷ͸ॳظԽ࣌ͷΈ +40/͔Βͷม׵࣌ͷΈ

    w "QQଆ͸ϞσϧΛมߋͰ͖ͳ͍

    View Slide

  18. "QQଆͰͷ֦ு
    w ͓஌ΒͤͷछྨͱλϒҐஔͷରԠΛFYUFOTJPOͰ࣮૷
    w αʔϏεͱͯ͠ͷఆٛͱΞϓϦͱͯ͠ͷ࢖༻ํ๏Λ෼཭
    w ҧ͏ίϯςΩετͳΒҧ͏֦ுΛ΋ͨͤΒΕΔ

    ͓஌Βͤը໘ "1*Ϟσϧͷఆٛ "QQ6*ͱͷରԠ෇͚

    View Slide

  19. QSPUPDPMͷ׆༻
    w QSPUPDPMͰ6*7JFX$POUSPMMFS͚ͩʹϝιουΛ௥Ճ
    w ܧঝΛ࢖Θͣʹ6*7JFX$POUSPMMFSʹಉ͡ػೳΛ࣋ͨͤΒΕΔ

    View Slide

  20. 4XJGUͰ࡞ͬͯΈͨײ૝

    View Slide

  21. 4XJGUͰ࡞ͬͯΈͨײ૝
    w ॻ͍͍ͯͯͲΜͲΜ޷͖ʹͳͬͨ
    w WBSMFU FOVN ܕਪ࿦ ύλʔϯϚονϯάʜ
    w TUSVDUఆ਺ϓϩύςΟͰෆҙͳมߋ͕ൃੜ͠ͳ͍

    ϓϩάϥϜ͕ॻ͚Δ
    w QSPUPDPMͰϜϦͷͳ͍֦ுɾڞ௨Խ͕Ͱ͖Δ

    ྑ͔ͬͨॴ

    View Slide

  22. w ίϯύΠϧ͕࣌ؒͲΜͲΜ௕͘ʜ
    w ݱࡏ໿ສߦ ΫϦʔϯϏϧυͩͱඵ͔͔ۙ͘Δ
    w ػցͷͨΊʹਓ͕ؤுΔͷ΋ຊ຤స౗ͳͷͰόϥϯε೉͍͠
    w 4XJGUͰ·ͨେ͖ͳมߋ͕ೖΔͷͰରԠίετ͔͔Δ

    4XJGUͰ࡞ͬͯΈͨײ૝
    ѱ͔ͬͨॴ

    View Slide

  23. ٳܜ

    View Slide

  24. ͓࿩͢͠Δ͜ͱ
    w 3*%&ͷ঺հ
    w ϑϧ4XJGUͰͷΞϓϦ։ൃ
    w 3FEVYΞʔΩςΫνϟͷ࠾༻
    w ·ͱΊ

    View Slide

  25. 3FEVYΞʔΩςΫνϟͷ࠾༻

    View Slide

  26. ΞϓϦ։ൃʹ͓͚Δ՝୊
    w 7JFX$POUSPMMFSؒͰϓϩύςΟʹηοτ͢Δʁ
    w ը໘ͷߏ੒มΘͬͨ࣌ʹਏ͘ͳ͍Ͱ͔͢ʁ
    w /4/PUJpDBUJPO͋Δ͍͸,70ʁ
    w ୭͕Ͳ͔͜Β൴ΒΛมߋͯ͠Δͷ͔೺Ѳͮ͠Β͘ͳ͍Ͱ͔͢ʁ
    w ΞϓϦશମͷঢ়ଶΛ͍͔ʹ্खʹ؅ཧ͢Δ͔Ͱۤ࿑͢Δ

    ը໘ؒͷσʔλಉظ͍͍ͶͷಉظͲ͏΍ͬͯ·͔͢ʁ

    View Slide

  27. ͦ͜Ͱ3FEVY

    View Slide

  28. 3FEVYͱ͸ʁ

    4JOHMF4UBUF
    4UBUF
    3FEVDFS
    4UBUF
    3FEVDFS
    4UBUF
    3FEVDFS
    7JFX
    "DUJPO
    &WFOU
    8FCͷੈքͰੜ·Εͨঢ়ଶ؅ཧͷϑϨʔϜϫʔΫ

    View Slide

  29. 4JOHMF4UBUF
    4UBUF
    3FEVDFS
    4UBUF
    3FEVDFS
    4UBUF
    3FEVDFS
    7JFX
    "DUJPO
    &WFOU
    3FEVYͱ͸ʁ
    w ̍ͭͷ4UBUFʹ͢΂ͯͷঢ়ଶΛू໿
    w 4UBUFΛ௚઀มߋ͢Δͷ͸3FEVDFSͷΈ
    w 7JFX͸"DUJPOΛൃߦ͢Δ͚ͩ
    w ֤3FEVDFS͸"DUJPOΛड͚औͬͯ

    4UBUFΛมߋ͢Δ
    w 4UBUFͷมߋΛड͚औͬͯ7JFX͸දࣔΛ
    ߋ৽͢Δ

    View Slide

  30. 3FEVYʹٻΊͨ΋ͷ
    w ΞϓϦ಺ͷঢ়ଶ؅ཧʹடংΛ΋ͨΒ͢
    w ஋ܕ TUSVDU
    ͷঢ়ଶఆٛͱ"DUJPOܦ༝ͷߋ৽Ͱ

    ঢ়ଶͷมԽΛ੍ޚԼʹஔ͘
    w ը໘ؒͰͷσʔλڞ༗Λ7JFX$POUSPMMFS͔ΒҾ͖ണ͕͢
    w αʔϏεͷ੒௕Ͱഁ୼͠ͳ͍ΞʔΩςΫνϟ

    View Slide

  31. 3F4XJGU3FEVYͷ4XJGU࣮૷

    ࣌఺Ͱ˒

    View Slide

  32. 3FEVY࣮ྫ

    View Slide

  33. ·ͣ͸ಈ࡞σϞ

    View Slide

  34. View Slide

  35. ࣮૷

    View Slide

  36. "QQ4UBUFΛߏ੒

    "QQ4UBUFͷࢠ΋ؚΊͯશͯ஋ܕͰఆٛ͢Δ

    View Slide

  37. ͳͥTUSVDUʁ

    DMBTT ࢀরܕ
    ͷ৔߹
    ίϐʔͨ͠ม਺΁ͷมߋ͕ݩͷΦ
    ϒδΣΫτʹӨڹΛ༩͑ͯ͠·͏
    TUSVDUͰߏ੒͓ͯ͘͠ͱ҆શʹ৽͍͠ঢ়ଶΛ࡞ΕΔ
    TUSVDU ஋ܕ
    ͷ৔߹
    ίϐʔΛมߋͯ͠΋ݩͷ஋ʹӨڹ
    Λ༩͑ͳ͍

    View Slide

  38. "DUJPOΛఆٛ

    ඇಉظॲཧ͸ϦΫΤετϨεϙϯεΤϥʔͷΞΫγϣϯΛ࡞Δ

    View Slide

  39. View Slide

  40. View Slide

  41. View Slide

  42. 3FEVDFSͷॲཧΛ࣮૷

    View Slide

  43. "DUJPOͷൃߦ4UBUFΛॲཧ

    "DUJPOൃߦˠ ঢ়ଶͷมԽ
    ˠOFX4UBUF
    Ͱड͚औΔ

    View Slide

  44. View Slide

  45. View Slide

  46. ΑΓ࣮༻తͳ࣮૷ྫ

    View Slide

  47. ΑΓ࣮༻తͳ࣮૷ྫ
    w ΢ΥονϦετͷಉظ
    w ঎඼ͷฤूɾग़඼
    w ঢ়ଶมߋͷ௥੻
    w /FUXPSL"DUJWJUZ*OEJDBUPSͷ؅ཧ

    View Slide

  48. ΢ΥονϦετͷಉظ

    ΢ΥονϦετ͍͍Ͷ

    View Slide

  49. ঎඼ৄࡉ
    λΠϜϥΠϯ ΢ΥονϦετ

    View Slide


  50. 5BC#BS$POUSPMMFS
    λΠϜϥΠϯ
    ݕࡧ
    ग़඼঎඼
    ͓஌Βͤ
    ϚΠϖʔδ
    ঎඼ৄࡉ
    ΢ΥονϦετ
    ঎඼ৄࡉ
    ݕࡧ݁Ռ
    ঎඼ฤू
    ঎඼ৄࡉ
    ঎඼ৄࡉ

    View Slide


  51. 5BC#BS$POUSPMMFS
    λΠϜϥΠϯ
    ݕࡧ
    ग़඼঎඼
    ͓஌Βͤ
    ϚΠϖʔδ
    ঎඼ৄࡉ
    ΢ΥονϦετ
    ঎඼ৄࡉ
    ݕࡧ݁Ռ
    ঎඼ฤू
    ঎඼ৄࡉ
    ঎඼ৄࡉ

    View Slide

  52. 4JOHMF4UBUF
    4UBUF
    3FEVDFS
    4UBUF
    3FEVDFS
    4UBUF
    3FEVDFS
    7JFX
    "DUJPO
    &WFOU
    3FEVYͷ͓͞Β͍

    3FEVDFS͸શͯͷΞΫγϣϯΛड͚औΔ

    View Slide

  53. 4JOHMF4UBUF
    4UBUF
    3FEVDFS
    4UBUF
    3FEVDFS
    4UBUF
    3FEVDFS
    7JFX
    "DUJPO
    &WFOU
    3FEVYͷ͓͞Β͍

    3FEVDFS͸શͯͷΞΫγϣϯΛड͚औΔ

    View Slide

  54. ΢ΥονϦετͷಉظ

    ؔ܎͢Δ3FEVDFS͕௥Ճ࡟আͷΞΫγϣϯʹ൓Ԡ͢Δ͚ͩ
    "DUJPO
    4UBUF
    3FEVDFS
    4UBUF
    3FEVDFS
    4UBUF
    3FEVDFS
    ΢ΥονϦετ
    8BUDIMJTU4UBUF

    λΠϜϥΠϯ
    #JLF*UFNT4UBUF

    ঎඼ৄࡉ
    *UFNT%FUBJM4UBUF

    4JOHMF4UBUF
    1PTU*UFN3FTQPOTF"DUJPO
    %FMFUF*UFN3FTQPOTF"DUJPO

    View Slide


  55. ΢ΥονϦετͷಉظ
    ؔ܎͢Δ3FEVDFS͕௥Ճ࡟আͷΞΫγϣϯʹ൓Ԡ͢Δ͚ͩ

    View Slide

  56. ঎඼ͷฤूɾग़඼

    View Slide

  57. ঎඼ͷฤूɾग़඼
    w ঎඼ͷ࡞੒ɾߋ৽ɾग़඼ ެ։
    ɾ࡟আΛ

    ̍ͭͷը໘಺Ͱߦ͏
    w ը૾ͷΞοϓϩʔυ׬ྃޙʹ঎඼ͷอଘΛߦ͏
    ͳͲϦΫΤετͷґଘؔ܎͕ଘࡏ
    w ࣅͨΑ͏ͳϦΫΤετͷίʔϧόοΫ஍ࠈʹ

    ͨ͘͠ͳ͍ʜ

    View Slide

  58. ঎඼ͷฤूɾग़඼

    ঎඼ͷঢ়ଶΛঢ়ଶػցͱݟཱͯΔ

    View Slide

  59. ঎඼ͷฤूɾग़඼

    ඞ͍ͣͣΕ͔ͷঢ়ଶʹఆ·ΔͷͰFOVNͰఆٛ

    View Slide

  60. View Slide

  61. ঎඼ͷฤूɾग़඼

    7JFXଆ͸*UFN4UBUFʹ߹ΘͤͯදࣔΛ੾Γସ͑Δ

    View Slide

  62. View Slide

  63. ඒ͘͠͸ͳ͍Ͱ͕͢ʜ
    FOVNͷ஋͚ͩΛݟΕ͹͍͍ͷͰ೉͘͠͸ͳ͍ ϋζ


    View Slide

  64. มߋͷ௥੻

    .JEEMFXBSFΛ࢖ͬͯ"DUJPOͷมߋΛϩάʹు͘

    View Slide

  65. /FUXPSL"DUJWJUZ*OEJDBUPSͷ؅ཧ

    .JEEMFXBSFͰ3FRVFTU3FTQPOTFΛΧ΢ϯτ

    View Slide

  66. 3FEVYͷϝϦοτσϝϦοτ

    View Slide

  67. 3FEVYͷϝϦοτ
    w 7JFXͱঢ়ଶૢ࡞ มߋ
    ͷ໌֬ͳ෼཭
    w ࢓༷มߋͰը໘ߏ੒͕มΘͬͯ΋มߋ͠΍͍͢
    w 7JFX͸OFX4UBUF
    ಺ͰදࣔΛม͑Δ͚ͩ
    w ঢ়ଶߋ৽ͷ࡞๏͕νʔϜͰ౷Ұ͞ΕΔ
    w ߟ͑ํ͸୯७ͳͷͰ3FEVY͕ഇΕͯ΋ੜ͖ଓ͚Δ͜ͱ͸Ͱ͖ͦ͏

    View Slide

  68. 3FEVYͷσϝϦοτ
    w ొ৔ਓ෺ 4UBUF 3FEVDFS "DUJPOʜ
    ͕ଟ͍ͷͰ࣮૷͕গ͠खؒ
    w ୅ΘΓʹ੹೚ൣғ͸໌֬ͳͷͰ໎͏͜ͱ͸ͳ͍
    w ঢ়ଶΛ͍͔ʹϞσϦϯά͢Δ͔ʁ͕ΩϞ
    w 6*ߋ৽ͷϩδοΫ͕ඞཁʹͳΔ৔߹΋

    View Slide

  69. 3FEVYʹର͢Δෆ҆
    w ϚϧνεϨουԼͰҙਤ͠ͳ͍มߋ͕ى͖ͨΓ͠ͳ͍ʁ
    w ى͜Γ͏Δݱঢ়"DUJPOͷൃߦ͸ϝΠϯεϨουલఏ
    w มߋ௨஌ͰϝΠϯεϨουΛϒϩοΫ͢ΔͷͰ͸ʁ
    w 7JFX$POUSPMMFSͷදࣔʹ߹Θͤͯ6OTVCTDSJCF͍ͯ͠ΔͷͰେྔʹ
    ͳΔ͜ͱ͸ͳ͍
    w ̍ͭͷڊେͳঢ়ଶ ετΞ
    ͕ϝϞϦΛѹഭ͠ͳ͍͔ʁ
    w ϝσΟΞσʔλ ը૾
    ʹൺ΂Ε͹େৎ෉Ͱ͸ʜʁ

    View Slide

  70. ͓࿩͢͠Δ͜ͱ
    w 3*%&ͷ঺հ
    w ϑϧ4XJGUͰͷΞϓϦ։ൃ
    w 3FEVYΞʔΩςΫνϟͷ࠾༻
    w ·ͱΊ

    View Slide

  71. ·ͱΊ
    w 4XJGU͸࢖͏΄Ͳ޷͖ʹͳΔݴޠͩͬͨ
    w ։ൃதͷΫϥογϡ͸0CKFDUJWF$ʹൺ΂Δͱগͳ͔ͬͨ ମײ

    w ϕετͳॻ͖ํΛ໛ࡧ͢Δ࣌ؒ͸ඞཁ
    w ίϯύΠϧͷ࣌ؒ͸΋ͬͱૣ͘ͳͬͯཉ͍͠ʜ

    ϑϧ4XJGUͳϓϩδΣΫτͷ։ൃʹ͍ͭͯ঺հ

    View Slide

  72. ·ͱΊ
    w ΞϓϦͷঢ়ଶ؅ཧʹடংΛ΋ͨΒ͢ଘࡏ
    w νʔϜશһͷঢ়ଶ؅ཧͷ࡞๏Λ౷ҰͰ͖Δ
    w ΞϓϦͷن໛͕େ͖͘ͳͬͯ΋ಉ͡Ξϓϩʔν͕࢖͑Δ ͸ͣ

    w ঢ়ଶͷઃܭͳͲҧ͏खؒ͸͋ΔͷͰۜͷ஄ؙͰ͸ͳ͍

    3F4XJGUΛར༻ͨ͠3FEVYΞʔΩςΫνϟͷ࣮ྫ

    View Slide

  73. J04ΤϯδχΞઈࢍืूதʂ
    https://fablic.co.jp/recruit

    View Slide

  74. 5IBOL:PV

    View Slide