Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWAに配属された新卒1年目が 大型機能や新規画面を開発できるようになるまで
Search
yodaaa
March 24, 2021
Programming
0
230
AWAに配属された新卒1年目が 大型機能や新規画面を開発できるようになるまで
CA.swift #13で発表したときのスライドです!
「AWAに配属された新卒1年目が 大型機能や新規画面を開発できるようになるまで」
yodaaa
March 24, 2021
Tweet
Share
More Decks by yodaaa
See All by yodaaa
わたしのおうち時間
yodaaa
0
75
OPENRECで内定者バイトしたまとめ。
yodaaa
0
5.6k
[endless_lt] gitのalias使ってる?[無限LT@3]
yodaaa
0
84
[endless_lt] 就活もUXの時代![無限LT@3]
yodaaa
1
160
[endless_lt] シャツインしてる男、 正直ダサくない?[無限LT@3]
yodaaa
1
170
Other Decks in Programming
See All in Programming
AIコーディングエージェント(Gemini)
kondai24
0
240
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.9k
認証・認可の基本を学ぼう前編
kouyuume
0
260
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
140
愛される翻訳の秘訣
kishikawakatsumi
3
330
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
430
Developing static sites with Ruby
okuramasafumi
0
310
GISエンジニアから見たLINKSデータ
nokonoko1203
0
160
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
410
Cap'n Webについて
yusukebe
0
140
SwiftUIで本格音ゲー実装してみた
hypebeans
0
420
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
840
Featured
See All Featured
Believing is Seeing
oripsolob
0
9
30 Presentation Tips
portentint
PRO
1
160
Building Adaptive Systems
keathley
44
2.9k
Why Our Code Smells
bkeepers
PRO
340
57k
Speed Design
sergeychernyshev
33
1.4k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Embracing the Ebb and Flow
colly
88
4.9k
Making Projects Easy
brettharned
120
6.5k
Mobile First: as difficult as doing things right
swwweet
225
10k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
16
A designer walks into a library…
pauljervisheath
210
24k
Transcript
AWAʹଐ͞Εͨ৽ଔ1͕ େܕػೳ৽نը໘Λ։ൃͰ͖ΔΑ͏ʹͳΔ·Ͱ CA.swift #13 Masaaki Yoda 2021/03/24
• 20204݄ʹiOSΤϯδχΞͱͯ͠৽ଔೖࣾ • AWAʹଐ͞ΕiOSΞϓϦ։ൃΛ͓͜ͳ͍ͬͯ·͢ • ࠷ۙϋϚ͍ͬͯΔ͜ͱɺࠓߋεϓϥτΡʔϯ • ָ͠Έʹ͍ͯ͠Δ͜ͱɺϞϯϋϯͰ͢ʂ yodaaa @yodaaa_tech
Masaaki Yoda
ೖࣾ·Ͱ
ೖࣾ͢Δ·Ͱͷ։ൃྺ • ΞϓϦΛ࡞Γͨͯ͘ใֶՊʹೖֶͯ͠ɺֶͼ࢝ΊΔ • ݸਓͰΞϓϦ։ൃΛ࢝ΊΔ • ݚڀͰॴݶఆSNSͷݚڀɺडୗ։ൃͰത͚ؗARΞϓϦ։ൃͰARKitʹ৮ΕΔ • ೖࣾ͢Δ·ͰʹɺఆऀόΠτͰOPENRECͰ1ϲ݄iOS։ൃɺ ɹɹ
CAMͷ͍ࣄۀͰ1ϲ݄αʔόʔαΠυ തؗARΞϓϦ ۚܦࡁ৽ฉ͔Β ఆऀόΠτ
ೖࣾ͢Δ·ͰεΩϧ • ݸਓ։ൃݚڀͰFatViewControllerΛେྔੜ • ݚڀडୗ։ൃͰARKitʹ৮Ε͔ͯͬΓ • FirebaseͰSNSΛݚڀͰ࡞ͬͨΓɺݸਓ։ൃͳͷʹBitriseಋೖͨ͠Γ • ఆऀόΠτΛ͢Δ͜ͱͰɺΞʔΩςΫνϟϦΞΫςΟϒʹ৮Εͩ͢ •
RxSwiftΫϦʔϯΞʔΩςΫνϟΛงғؾͰ৮ΕΔ
ೖࣾͯ͠
AWA • ఆ੍ֹԻָετϦʔϛϯάαʔϏε • 2000ສDLҎ্ • 8000ສۂ͕ௌ͖์
LOUNGE -ϥϯδ- ৽ػೳ
ೖ͔ࣾͯ͠Βͷ1ؒ ೖࣾ 4 5 6 7 8 ৽ଔݚम ←δϣϒϩʔςʔγϣϯظؒ→ ABEMA
AWA 9 10 11 12 1 2 3 ਖ਼ࣜଐ େ͖ͳػೳ ৽نը໘Ճ • ೖ͔ࣾͯ͠Βͷ1ؒɺݚमɺδϣϒϩʔςʔγϣϯΛܦͯɺAWAʹଐʹͳΓ·ͨ͠
ೖ͔ࣾͯ͠Βͷ1ؒ • ͬͨ͜ͱϦετ ϩʔσΟϯάը໘shimmerվमɹExplicitରԠɹHapticTouchରԠ CPUͱϝϞϦͷ༻ΛݟΕΔσόοάػೳɹΧελϜεΠονͷUI࣮ ࠶ੜཤྺͷαʔόʔཧԽɹϔομʔσβΠϯͷมߋରԠ PanModalόάௐࠪͳͲ ɹAPIߋ৽ͱϖʔδϯάվળ ϥϯδϦΫΤετը໘ͷ࣮ɹϥϯδҰཡը໘ɾ։࠵༧ఆҰཡը໘ͷ࣮ …
ೖ͔ࣾͯ͠Βͷ1ؒ ϩʔσΟϯάը໘shimmerվमɹExplicitରԠɹHapticTouchରԠ CPUͱϝϞϦͷ༻ΛݟΕΔσόοάػೳɹΧελϜεΠονͷUI࣮ ࠶ੜཤྺͷαʔόʔཧԽɹϔομʔσβΠϯͷมߋରԠ PanModalόάௐࠪͳͲ ɹAPIߋ৽ͱϖʔδϯάվળ ϥϯδϦΫΤετը໘ͷ࣮ɹϥϯδҰཡը໘ɾ։࠵༧ఆҰཡը໘ͷ࣮ … • ͬͨ͜ͱϦετ
[࠶ੜཤྺͱ] • ࠶ੜͨ͠ۂɺΞʔςΟετΞϧόϜɺϓϨΠϦετͳͲͷ ͜ͱ • ͱͱ֤ʹอଘ͍ͯͨ͠ͷΛαʔόʔͰཧ͢Δ Α͏ʹ͓͜ͳ͏λεΫ • APIΛܦ༝ͯ͠ཤྺΛՃߋ৽ɺআ •
ΦϑϥΠϯ࣌ͷఆ͠ͳ͚ΕͳΒͳ͍ • ΩϟογϡΛ׆༻࣮ͨ͠ ࠶ੜཤྺͷαʔόʔཧԽ ※ͪ͜Βͷը૾ϒϥʔՃ͍ͯ͠·͢
[͓͜ͳͬͨ͜ͱ] • ࠶ੜཤྺͷऔಘͱআɺUIө • API͔Βཤྺσʔλऔಘ͠Realmʹอଘɺσʔλʹߋ৽͕͋ΕUIʹө • APIʹཤྺͷআϦΫΤετૹ৴ • ΦϑϥΠϯʹؔ͢Δ࣮ •
ΦϑϥΠϯڥͰཤྺʹөͰ͖ΔΑ͏ͳػߏͷ࣮ • ࠶ੜ։࢝ใࠂ • ࠶ੜͨ͜͠ͱΛαʔόʔଆʹใࠂ͢Δ࣮ ࠶ੜཤྺͷαʔόʔཧԽ
[શମ] • ணखͨ͠ࡍʹఆͰ͖͍ͯͳ͍ͱ͜Ζ͕͋Γɺ͔ͳΓӨڹൣғ͕େ͖͘λεΫ • ݁ՌΖΖؚΊͯ2ϲ݄ऑͷ։ൃظؒʹ • ϓϩδΣΫτཧղ͕ઙ͘ɺӨڹ͕ಡΊͣɺλεΫͷશମײ͕શવݟ͍͑ͯͳ͔ͬͨ • ϨεϙϯεͰΓ͍ͯͳ͍ͱ͜ΖΛαʔόʔʹґཔͯ͠ਐΊΒΕͨ •
༷͕ܾ·ͬͯͳ͍ͱ͜ΖɺܾΊΔͱ͜Ζ͔ΒͰ͖ͨ [ٕज़] • APIपΓ, Realmͷཧղ͕ਂ·ͬͨ • RxͰ͋ͬͨΓɺߴ֊ؔͳͲগͣͭ͠ཧղͱ׳Ε͕Ͱ͖ͨ • ίʔσΟϯάϧʔϧࡉ͔ͳࢦఠଟ͔ͬͨ • ·ͨɺશମతͳਐΊํͱ͔ͯ͠ͳΓαϙʔτΛΒͬͨ ࠶ੜཤྺͷαʔόʔཧԽ
৽نը໘࣮ -ϥϯδҰཡ - [ϥϯδҰཡ] • όφʔɺࢀՃͨ͠ϥϯδɺ͓͢͢Ίͷϥϯδ • TableViewʹCollectionViewஔͨ͠UI࣮ • ͓͢͢Ίཧ༝දࣔͰηϧͷߴ͞ҟͳΔ
• PullToRefresh, Deeplink, ۭදࣔͳͲͷཁૉ
৽نը໘࣮ -ϥϯδҰཡ - [શମ] 👌 Good ɾ࣮ํΛissueͰ͔ࣔͯ͠Β࣮ਐΊΒΕͨ͜ͱ 🚀 Improve •
։ൃʒʹؒʹ߹Θ͔ͣͭόΪʔͳঢ়ଶʹ • Δ͖͜ͱΘ͔͍͕ͬͯͨɺ࣮ࡍʹͬͯΈΔͱ͔ͳΓ͕͔͔࣌ؒͬͨ • ·ͨɺCollectionView͋ͨΓͰϋϚͬͯ͠·͍େ෯ʹ͕͔͔࣌ؒͬͨ [ٕज़] 👌 Good ɾΧελϜCellͳͲΛࡉ͔࣮ͬͯͨ͘͠ 🚀 Improve ɾViewCellΛͬͱߴͰ࣮͍ͨ͠
৽نը໘࣮ -։࠵༧ఆҰཡ - [ϥϯδ։࠵༧ఆҰཡ] • ϥϯδͷެࣜ։࠵༧ఆҰཡΛදࣔ͢Δը໘ 👌 Good • ༧Ίΰʔϧ͔Βٯࢉͨ͠σΠϦʔඪΛཱͯͨ͜ͱͰ͏·͘ਐΊΒΕͨʂ
• ৽نը໘Λܦݧͨ͋͠ͱͳͷͰɺ࣮ʹ͔͔Δͷਫ਼͕up↑ 🚀 Improve • Ͳ͏࣮͢Δ͔Μͩ(ϨεϙϯεΛ͝ͱʹ·ͱΊͯηΫγϣϯԽ͢Δ)
ࠓޙ • PRͰͷࢦఠQA͔ΒͷόάใࠂͳͲͷΛ͞ΒʹݮΒ͍ͯ͘͠💪 • ࣮εϐʔυͷ্💪 • ࣄۀతʹΓ͍ͨ͜ͱΛٕज़Ϧιʔε͕ͳ͍͜ͱͰΔ͜ͱ͕ͳ͍Α͏ • ϓϨΠϠʔʹ͓͚Δཧղ💪 •
ಠࣗͰ࡞͍ͬͯΔͷΛগ͠Ͱཧղ͍ͯ͘͠ͱ͜Ζ͔Β
Thanks!