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

AWAに配属された新卒1年目が 大型機能や新規画面を開発できるようになるまで

47ced8ffafb4621f2ca1e0c490978bf4?s=47 yodaaa
March 24, 2021

AWAに配属された新卒1年目が 大型機能や新規画面を開発できるようになるまで

CA.swift #13で発表したときのスライドです!
「AWAに配属された新卒1年目が 大型機能や新規画面を開発できるようになるまで」

47ced8ffafb4621f2ca1e0c490978bf4?s=128

yodaaa

March 24, 2021
Tweet

Transcript

  1. AWAʹ഑ଐ͞Εͨ৽ଔ1೥໨͕ େܕػೳ΍৽نը໘Λ։ൃͰ͖ΔΑ͏ʹͳΔ·Ͱ CA.swift #13 Masaaki Yoda 2021/03/24

  2. • 2020೥4݄ʹiOSΤϯδχΞͱͯ͠৽ଔೖࣾ • AWAʹ഑ଐ͞ΕiOSΞϓϦ։ൃΛ͓͜ͳ͍ͬͯ·͢ • ࠷ۙϋϚ͍ͬͯΔ͜ͱ͸ɺࠓߋεϓϥτΡʔϯ • ָ͠Έʹ͍ͯ͠Δ͜ͱ͸ɺϞϯϋϯͰ͢ʂ yodaaa @yodaaa_tech

    Masaaki Yoda
  3. ೖࣾ·Ͱ

  4. ೖࣾ͢Δ·Ͱͷ։ൃྺ • ΞϓϦΛ࡞Γͨͯ͘৘ใ޻ֶՊʹೖֶͯ͠ɺֶͼ࢝ΊΔ • ݸਓͰΞϓϦ։ൃΛ࢝ΊΔ • ݚڀͰ৔ॴݶఆSNSͷݚڀ΍ɺडୗ։ൃͰത෺ؗ޲͚ARΞϓϦ։ൃͰARKitʹ৮ΕΔ • ೖࣾ͢Δ·Ͱʹɺ಺ఆऀόΠτͰOPENRECͰ1ϲ݄iOS։ൃɺ ɹɹ

    CAMͷ઎͍ࣄۀͰ1ϲ݄αʔόʔαΠυ ത෺ؗARΞϓϦ ۚ୔ܦࡁ৽ฉ͔Β ಺ఆऀόΠτ
  5. ೖࣾ͢Δ·ͰεΩϧ • ݸਓ։ൃ΍ݚڀͰ͸FatViewControllerΛେྔੜ੒ • ݚڀ΍डୗ։ൃͰ΋ARKitʹ৮Εͯ͹͔ͬΓ • FirebaseͰSNSΛݚڀͰ࡞ͬͨΓɺݸਓ։ൃͳͷʹBitriseಋೖͨ͠Γ • ಺ఆऀόΠτΛ͢Δ͜ͱͰɺΞʔΩςΫνϟ΍ϦΞΫςΟϒʹ৮Εͩ͢ •

    RxSwift΍ΫϦʔϯΞʔΩςΫνϟΛงғؾͰ৮ΕΔ
  6. ೖࣾͯ͠

  7. AWA • ఆ੍ֹԻָετϦʔϛϯάαʔϏε • 2000ສDLҎ্ • 8000ສۂ͕ௌ͖์୊

  8. LOUNGE -ϥ΢ϯδ- ৽ػೳ

  9. ೖ͔ࣾͯ͠Βͷ1೥ؒ ೖࣾ 4 5 6 7 8 ৽ଔݚम ←δϣϒϩʔςʔγϣϯظؒ→ ABEMA

    AWA 9 10 11 12 1 2 3 ਖ਼ࣜ഑ଐ େ͖ͳػೳ ৽نը໘௥Ճ • ೖ͔ࣾͯ͠Βͷ1೥ؒ͸ɺݚमɺδϣϒϩʔςʔγϣϯΛܦͯɺAWAʹ഑ଐʹͳΓ·ͨ͠
  10. ೖ͔ࣾͯ͠Βͷ1೥ؒ • ΍ͬͨ͜ͱϦετ ϩʔσΟϯάը໘shimmerվमɹExplicitରԠɹHapticTouchରԠ CPUͱϝϞϦͷ࢖༻཰ΛݟΕΔσόοάػೳɹΧελϜεΠονͷUI࣮૷ ࠶ੜཤྺͷαʔόʔ؅ཧԽɹϔομʔσβΠϯͷมߋରԠ PanModalόάௐࠪͳͲ ɹAPIߋ৽ͱϖʔδϯάվળ ϥ΢ϯδϦΫΤετը໘ͷ࣮૷ɹϥ΢ϯδҰཡը໘ɾ։࠵༧ఆҰཡը໘ͷ࣮૷ …

  11. ೖ͔ࣾͯ͠Βͷ1೥ؒ ϩʔσΟϯάը໘shimmerվमɹExplicitରԠɹHapticTouchରԠ CPUͱϝϞϦͷ࢖༻཰ΛݟΕΔσόοάػೳɹΧελϜεΠονͷUI࣮૷ ࠶ੜཤྺͷαʔόʔ؅ཧԽɹϔομʔσβΠϯͷมߋରԠ PanModalόάௐࠪͳͲ ɹAPIߋ৽ͱϖʔδϯάվળ ϥ΢ϯδϦΫΤετը໘ͷ࣮૷ɹϥ΢ϯδҰཡը໘ɾ։࠵༧ఆҰཡը໘ͷ࣮૷ … • ΍ͬͨ͜ͱϦετ

  12. [࠶ੜཤྺͱ͸] • ࠶ੜͨ͠ۂɺΞʔςΟετ΍ΞϧόϜɺϓϨΠϦετͳͲͷ ͜ͱ • ΋ͱ΋ͱ͸֤୺຤ʹอଘ͍ͯͨ͠΋ͷΛαʔόʔͰ؅ཧ͢Δ Α͏ʹ͓͜ͳ͏λεΫ • APIΛܦ༝ͯ͠ཤྺΛ௥Ճߋ৽ɺ࡟আ •

    ΦϑϥΠϯ࣌ͷ૝ఆ΋͠ͳ͚Ε͹ͳΒͳ͍ • ΩϟογϡΛ׆༻࣮ͨ͠૷ ࠶ੜཤྺͷαʔόʔ؅ཧԽ ※ͪ͜Βͷը૾͸ϒϥʔՃ޻͍ͯ͠·͢
  13. [͓͜ͳͬͨ͜ͱ] • ࠶ੜཤྺͷऔಘͱ࡟আɺUI൓ө • API͔Βཤྺσʔλऔಘ͠Realmʹอଘɺσʔλʹߋ৽͕͋Ε͹UIʹ൓ө • APIʹཤྺͷ࡟আϦΫΤετૹ৴ • ΦϑϥΠϯʹؔ͢Δ࣮૷ •

    ΦϑϥΠϯ؀ڥͰ΋ཤྺʹ൓өͰ͖ΔΑ͏ͳػߏͷ࣮૷ • ࠶ੜ։࢝ใࠂ • ࠶ੜͨ͜͠ͱΛαʔόʔଆʹใࠂ͢Δ࣮૷ ࠶ੜཤྺͷαʔόʔ؅ཧԽ
  14. [શମ] • ணखͨ͠ࡍʹ૝ఆͰ͖͍ͯͳ͍ͱ͜Ζ͕͋Γɺ͔ͳΓӨڹൣғ͕େ͖͘λεΫ • ݁Ռ΋Ζ΋ΖؚΊͯ2ϲ݄ऑͷ։ൃظؒʹ • ϓϩδΣΫτཧղ͕ઙ͘ɺӨڹ౓͕ಡΊͣɺλεΫͷશମײ͕શવݟ͍͑ͯͳ͔ͬͨ • ϨεϙϯεͰ଍Γ͍ͯͳ͍ͱ͜ΖΛαʔόʔʹґཔͯ͠ਐΊΒΕͨ •

    ࢓༷͕ܾ·ͬͯͳ͍ͱ͜Ζ͸ɺܾΊΔͱ͜Ζ͔ΒͰ͖ͨ [ٕज़] • APIपΓ, Realmͷཧղ͕ਂ·ͬͨ • RxͰ͋ͬͨΓɺߴ֊ؔ਺ͳͲগͣͭ͠ཧղͱ׳Ε͕Ͱ͖ͨ • ίʔσΟϯάϧʔϧ΍ࡉ͔ͳࢦఠ΋ଟ͔ͬͨ • ·ͨɺશମతͳਐΊํͱ͔ͯ͠ͳΓαϙʔτΛ΋Βͬͨ ࠶ੜཤྺͷαʔόʔ؅ཧԽ
  15. ৽نը໘࣮૷ -ϥ΢ϯδҰཡ - [ϥ΢ϯδҰཡ] • όφʔɺࢀՃͨ͠ϥ΢ϯδɺ͓͢͢Ίͷϥ΢ϯδ • TableView಺ʹCollectionView഑ஔͨ͠UI࣮૷ • ͓͢͢Ίཧ༝දࣔͰηϧͷߴ͞͸ҟͳΔ

    • PullToRefresh, Deeplink, ۭදࣔͳͲͷཁૉ
  16. ৽نը໘࣮૷ -ϥ΢ϯδҰཡ - [શମ] 👌 Good ɾ࣮૷ํ਑ΛissueͰ͔ࣔͯ͠Β࣮૷ਐΊΒΕͨ͜ͱ 🚀 Improve •

    ։ൃʒʹؒʹ߹Θ͔ͣͭόΪʔͳঢ়ଶʹ • ΍Δ΂͖͜ͱ͸Θ͔͍͕ͬͯͨɺ࣮ࡍʹ΍ͬͯΈΔͱ͔ͳΓ͕͔͔࣌ؒͬͨ • ·ͨɺCollectionView͋ͨΓͰϋϚͬͯ͠·͍େ෯ʹ͕͔͔࣌ؒͬͨ [ٕज़] 👌 Good ɾΧελϜCellͳͲΛࡉ͔͘੾࣮ͬͯ૷ͨ͠఺ 🚀 Improve ɾView΍CellΛ΋ͬͱߴ଎Ͱ࣮૷͍ͨ͠
  17. ৽نը໘࣮૷ -։࠵༧ఆҰཡ - [ϥ΢ϯδ։࠵༧ఆҰཡ] • ϥ΢ϯδͷެࣜ։࠵༧ఆҰཡΛදࣔ͢Δը໘ 👌 Good • ༧Ίΰʔϧ͔Βٯࢉͨ͠σΠϦʔ໨ඪΛཱͯͨ͜ͱͰ͏·͘ਐΊΒΕͨʂ

    • ৽نը໘Λܦݧͨ͋͠ͱͳͷͰɺ࣮૷ʹ͔͔Δ೔਺ͷਫ਼౓͕up↑ 🚀 Improve • Ͳ͏࣮૷͢Δ͔೰Μͩ(ϨεϙϯεΛ೔෇͝ͱʹ·ͱΊͯηΫγϣϯԽ͢Δ)
  18. ࠓޙ • PRͰͷࢦఠ΍QA͔ΒͷόάใࠂͳͲͷ਺Λ͞ΒʹݮΒ͍ͯ͘͠💪 • ࣮૷εϐʔυͷ޲্💪 • ࣄۀతʹ΍Γ͍ͨ͜ͱΛٕज़Ϧιʔε͕ͳ͍͜ͱͰ࡟Δ͜ͱ͕ͳ͍Α͏ • ϓϨΠϠʔʹ͓͚Δཧղ💪 •

    ಠࣗͰ࡞͍ͬͯΔ΋ͷΛগ͠Ͱ΋ཧղ͍ͯ͘͠ͱ͜Ζ͔Β
  19. Thanks!