クックパッドiOSアプリのパフォーマンス改善

351bca0f01c8cb553535791140636368?s=47 Iceman
February 27, 2019

 クックパッドiOSアプリのパフォーマンス改善

351bca0f01c8cb553535791140636368?s=128

Iceman

February 27, 2019
Tweet

Transcript

  1. Cookpad Inc. Feb 27th, 2019 Ԭଜ ݈ଠ ձһࣄۀ෦ ΫοΫύουiOSΞϓϦͷύ ϑΥʔϚϯεվળ

  2. ݕࡧ૭Λ͙͢ʹදࣔ͠ ͯମײ଎౓Λ޲্ͤ͞ Δ 2

  3. ىಈ͕஗͍ͱ͍͏͝ҙݟ 3 ஍ԼεʔύʔͷΑ͏ͳѱ͍௨৴؀ڥͰɺ ىಈ͕஗͘ͳ͍ͬͯͨ Ϣʔβૢ࡞ՄೳʹͳΔ·Ͱͷ࣌ؒΛଌͬ ͨͱ͜ΖɺϩάΠϯ͕ࢧ഑తͩͬͨ Ϗδωε౎߹্ɺىಈ࣌ͷ௨৴͸ඞਢ ͱ͍ͯ͠Δ ϩάΠϯ͕ऴΘΔ·Ͱ ਅͬനͳঢ়ଶ

  4. ܭଌ͢Δ 4 ׬શͳը໘ʹͳΔ·Ͱ௚ྻΫΤϦ͕̐छଘࡏ͢Δ͜ͱ͕൑໌

  5. ଎͘ىಈͤ͞ΔͨΊʹͲ͏͢Δ͔ 5 • ฒྻԽ͢Δ or ຊ਺Λ΁Β͢ → ϩάΠϯपΓͷ࢓૊ΈΛେ͖͘ม͑Δඞཁ͕͋Γةݥ⾠ • αʔόଆͷԠ౴଎౓Λ଎͘͢Δ

    → ͱ͸͍͑͋Δఔ౓ͷ௨৴ճ਺͕͋Δ
  6. Ϣʔβͷߦಈ͔ΒղΛߟ͑Δ 6 ׂ̒Ҏ্ͷਓ͸ΞϓϦΛ։͍͙ͯ͢ʹݕࡧ Λߦ͏ ݕࡧ૭͚ͩ͸͙͢ʹग़͠ɺݕࡧΩʔϫʔυ ͷೖྗதʹϩάΠϯ͕׬ྃ͢Ε͹ମײ଎౓͸ ޲্͢Δ͸ͣʂʁ Ϣʔβ͕ਅͬઌʹ ࢖͍͍ͨը໘

  7. γϯάϧτϯഁյʹΑΔϦϑΝΫλԸܙ 7 • ࠓ·Ͱͷ࣮૷͸ϩάΠϯ৘ใ͸ৗʹଘࡏ͢ΔલఏͰγϯάϧτϯ͔ Β௚઀औΓग़͞Ε͍ͯͨ • ϩάΠϯ৘ใ͕ແ͍ঢ়ଶͰը໘Λදࣔ͢Δ → Կ͕ى͜Δ͔ෆ໌ •

    ͔͠͠ɺۙ೥Ͱ͸ΞϓϦશମͰগͣͭ͠ϨΠϠʔυΞʔΩςΫνϟ ʢVIPERʣΛ༻͍ͨઃܭʹϦϑΝΫλ͞Ε͍ͯͨ
  8. VIPERԽ͞Ε͍͔ͯͨΒͰ͖ͨϦϑΝΫλ 8 ը໘ XXXManager.shared YYYManager.shared ը໘ UserID Observable<Data> ͜Ε·Ͱ 7*1&3Խޙ

    ґଘσʔλΛγϯάϧτϯ͔Βࣗ਎Ͱऔಘ ֎෦͔ΒґଘΛ஫ೖ͠ͳ͍ͱಈ͔ͳ͍࢓૊Έʹ
  9. VIPERԽ͞Ε͍͔ͯͨΒͰ͖ͨϦϑΝΫλ 9 • ґଘ͍ͯ͠Δσʔλ͕ͳ͍ͱίϯύΠϧ͢Β௨Βͳ͍࢓૊Έʹͳͬ ͍ͯͨͨΊɺ༧ظͤ͵෦෼ͰյΕΔ৺഑͕΄ͱΜͲͳ͔ͬͨ • ϩάΠϯ৘ใ͕ແ͍ঢ়ଶΛ ҆શ ʹऔΓѻ͏͜ͱ͕Ͱ͖ͨ

  10. 10 มߋલ มߋޙ

  11. ͋Γ͕ͱ͏͍͟͝ ·ͨ͠ 11