Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWAに配属された新卒1年目が 大型機能や新規画面を開発できるようになるまで
Search
yodaaa
March 24, 2021
Programming
0
170
AWAに配属された新卒1年目が 大型機能や新規画面を開発できるようになるまで
CA.swift #13で発表したときのスライドです!
「AWAに配属された新卒1年目が 大型機能や新規画面を開発できるようになるまで」
yodaaa
March 24, 2021
Tweet
Share
More Decks by yodaaa
See All by yodaaa
わたしのおうち時間
yodaaa
0
62
OPENRECで内定者バイトしたまとめ。
yodaaa
0
5.2k
[endless_lt] gitのalias使ってる?[無限LT@3]
yodaaa
0
74
[endless_lt] 就活もUXの時代![無限LT@3]
yodaaa
1
150
[endless_lt] シャツインしてる男、 正直ダサくない?[無限LT@3]
yodaaa
1
160
Other Decks in Programming
See All in Programming
AWSマネコンに複数のアカウントで入れるようになりました
yuhta28
2
160
CloudNativePGがCNCF Sandboxプロジェクトになったぞ! 〜CloudNativePGの仕組みの紹介〜
nnaka2992
0
220
チームリードになって変わったこと
isaka1022
0
190
GoとPHPのインターフェイスの違い
shimabox
2
170
Amazon Bedrock Multi Agentsを試してきた
tm2
1
280
時計仕掛けのCompose
mkeeda
1
290
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
150
Writing documentation can be fun with plugin system
okuramasafumi
0
120
Compose でデザインと実装の差異を減らすための取り組み
oidy
1
300
負債になりにくいCSSをデザイナとつくるには?
fsubal
9
2.4k
SpringBoot3.4の構造化ログ #kanjava
irof
2
980
sappoRo.R #12 初心者セッション
kosugitti
0
240
Featured
See All Featured
Docker and Python
trallard
44
3.3k
Fireside Chat
paigeccino
34
3.2k
The Language of Interfaces
destraynor
156
24k
Music & Morning Musume
bryan
46
6.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Become a Pro
speakerdeck
PRO
26
5.1k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
RailsConf 2023
tenderlove
29
1k
Automating Front-end Workflow
addyosmani
1367
200k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
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!