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
iOS13でもSwiftUIでLazyなGridを実装したい! / use SwiftUI on iOS13
Search
kuroyam
October 16, 2020
Programming
1
990
iOS13でもSwiftUIでLazyなGridを実装したい! / use SwiftUI on iOS13
2020/10/16 ペパボモバイルテックカンファレンス
kuroyam
October 16, 2020
Tweet
Share
More Decks by kuroyam
See All by kuroyam
開発合宿で バーチャルオフィス を作ろうとしたお話 / Let's Babiniku !
kuroyam
0
1.7k
アプリ設計改善の旅路
kuroyam
1
920
途中からSwiftLint
kuroyam
1
560
Objective-Cで書かれたアプリをSwift化したときの話
kuroyam
4
410
Other Decks in Programming
See All in Programming
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
670
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
680
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
3
310
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
1k
Code Reviews
bkuhlmann
4
890
AppRouter Panel Talk
yosuke_furukawa
PRO
1
430
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
630
What We Can Learn From OSS
inouehi
0
430
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
370
Elm Form Validation
bkuhlmann
0
510
Polars入門
daikikatsuragawa
1
160
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
2
120
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Why Our Code Smells
bkeepers
PRO
331
56k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Rails Girls Zürich Keynote
gr2m
91
13k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
13
8.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
Code Reviewing Like a Champion
maltzj
515
39k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
A Modern Web Designer's Workflow
chriscoyier
689
190k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
Embracing the Ebb and Flow
colly
80
4.2k
KATA
mclloyd
16
12k
Transcript
LVSPZBN(.01FQBCP *OD ϖύϘϞόΠϧςοΫΧϯϑΝϨϯε J04Ͱ4XJGU6*Ͱ-B[Zͳ (SJEΛ࣮͍ͨ͠ʂ
γχΞϞόΠϧΤϯδχΞ ࠇాॣ!LVSPZBN 46;63*ࣄۀ෦ϓϩμΫτνʔϜ
ࠓ͢͜ͱ wJ04Λαϙʔτͨ͠4XJGU6*Ͱ6*$PMMFDUJPO7JFXత ͳ͜ͱΛ͍ͨ͠ w͍Ζ͍Ζࢼͯ͠ΈͨͷͰͳʹΛ͔ͬͨͱΘ͔ͬͨ͜ ͱΛ͠·͢
͖͔͚ͬ w46;63*ͷ"OESPJEΞϓϦΛ'MVUUFSͰ࡞ͬͨΒ࠷ߴ ͩͬͨ w࠷ߴΛͬͯɺ6*,JUΛ͏ͷ͕ͭΒ͘ͳͬͯ͠·ͬ ͨ w4XJGU6*ʹҠߦͰ͖ΕJ04ΞϓϦ࠷ߴʹͳΔ͔ ͠Εͳ͍
͔͠͠4XJGU6* w!BWBJMBCMF J04 w6*,JUͰͰ͖Δ͜ͱ͕·ͩશ෦Ͱ͖ΔΘ͚Ͱͳ͍ wಛʹ46;63*Ͱଟ༻͍ͯ͠Δ6*$PMMFDUJPO7JFX૬ ͷͷ͕ͳ͍ͷ͕ͭΒ͍
J04Ͱ͍ͭʹʜ ࢀরIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUVJMB[ZWHSJE
Ͱ͢ΑͶ
J04Ͱ ͍͍ײ͡ʹΔํ๏ͳ͍ͷ͔
ௐࠪ
ࢼͨ͜͠ͱ 2(SJEΛࢼͯ͠ΈΔ -JTUΛ͕ͬͯΜΔ 6*7JFX3FQSFTFOUBCMFͰ͕ΜΔ
ௐࠪͰ࡞Δը໘ w 46;63*ͰΑ͘ΘΕΔྻOߦ ͷάϦου w γϯϓϧͳߦྻ͡Όͳ͍ෳࡶͳ 7JFXΛ࡞Δ͜ͱࠓճߟྀ͠ ͳ͍ w ॳظঢ়ଶͰ݅ɻԼ·ͰεΫ
ϩʔϧͨ͠Β͞Βʹ݅Ճ ͢Δ
2(SJEΛࢼ͢
2(SJEͱ w(JU)VC2.PCJMF2(SJE wl4XJGU6*DPMMFDUJPO7JFXzͰάάͬͨΒҰ൪্ͷهࣄ Ͱհ͞ΕͯͨͷͰͱΓ͋͑ͣࢼͯ͠ΈΔ
None
දࣔ؆୯ʹͰ͖ͨ
࣍ͷ݅Λऔಘ͢ΔॲཧΛ ࣮ͯ͠ΈΔ
͓ʜ
ແݶϧʔϓͨ͠ wԼ·ͰεΫϩʔϧͨ͠ΒPO"QQFBS͕ݺΕΔ͜ͱΛ ఆ͍͕ͯͨ͠࠷ॳ͔ΒݺΕ͍ͯΔ w͜ΕͨͿΜͯ͢ͷDPOUFOU͕࠷ॳ͔Β࡞ΒΕ͍ͯ ΔͷͰ
࣮ΛݟͯΈΔ
ͲͷΑ͏ʹ(SJEΛ࡞͍ͬͯΔ͔ w(FPNFUSZ3FBEFSͰҐஔΛܭࢉ͠ɺॎํʹ 74UBDLΛɺԣํʹ)4UBDLΛੜ͍ͯ͠Δ wͭ·Γ-B[Z-PBEʹରԠ͍ͯ͠ͳ͍ wσʔλ͕ߋ৽͞ΕΔͨͼʹ͚݅ͩ(SJEͷཁૉ͕ੜ ͞ΕΔ
2(SJE·ͱΊ w͍ΘΏΔແݶεΫϩʔϧʹ͍ͯͳͦ͞͏ w͕݅૿͑Δͱදࣔʹ͔͔Δ࣌ؒͱϝϞϦ༻ྔ͕૿ Ճ w݅ݻఆͷ(SJEʹ͍͍͔ w4XJGU6*ͷػೳ͚ͩͰ࣮ͯ͠Δͷ
-JTUΛ͕ͬͯΜΔ
4XJGU6*ͷ-JTU w6*,JUͰݴ͏ͱ͜Ζͷ6*5BCMF7JFXʹ૬͢Δ w-B[Z-PBEʹରԠ͍ͯ͠Δ wJ04͔Β͑Δ
-JTUͰ(SJEΛ࡞Δ w2(SJE74UBDLº)4UBDLͩͬ ͚ͨͲɺ-JTUº)4UBDLͳΒ͏· ͍͔͘͘ w-JTUͷҰཁૉʹྻͷσʔλ ΛೖΕͪΌ͏ wݸਓతʹJ04ελΠϧͱݺΜͰ ͍·͢
(JTUIUUQTHJTUHJUIVCDPNLVSPZBNFFBBCCCDCGDCBEDBCD
None
-JTUͰ(SJE࡞Δ࡞ઓ·ͱΊ w-B[Z-PBEରԠͷ(SJEΛ࡞Δ͜ͱՄೳ wύϑΥʔϚϯε໘ʹؔͯ͠ಛʹͳ͠ w-JTUʹஔ͢Δࡍʹ"SSBZΛૢ࡞͢ΔͷͰɺͦ͜ͷύϑΥʔϚϯε͕ѱ͍ ͱ͘ͳΔ wڧҾ͞൱Ίͳ͍ w-JTU·ͩػೳෆͳͱ͜Ζ͕͋Δ
6*7JFX3FQSFTFOUBCMFͰ ͕ΜΔ
6*7JFX3FQSFTFOUBCMFͱ w؆୯ʹݴ͏ͱ4XJGU6*͔Β6*,JUͷίϯϙʔωϯτΛ ͏Έ w͜ΕΛ͑6*$PMMFDUJPO7JFXΛ4XJGU6*͔Β͑Δ ͷͰ
ϥΠϒϥϦ͋ͬͨ w(JU)VCBQQUFLTUVEJPT"4$PMMFDUJPO7JFX w͜ΕΛͬͨͷͰ6*7JFX3FQSFTFOUBCMFʹ͍ͭͯৄ ͍͜͠ͱࠓճ͠·ͤΜ
ͬͯΈΔ
"4$PMMFDUJPO7JFXΛͬͯΈͯ wࠓͷͱ͜ΖҰ൪͍ͦ͢͏ w6*$PMMFDUJPO7JFXͷओཁػೳͪΌΜͱ͑Δ wҰ෦4XJGU6*͚ʹΠϯλʔϑΣʔεͷվྑ͕͞Εͯ ͍Δ w4XJGU6*ͷ4DSPMM7JFXͱ૬ੑ͕ѱ͍ͷͰɺ͜Ε͚ͩͰ Ұը໘࡞ΔํΛऔΔඞཁ͕͋Γͦ͏
6*7JFX3FQSFTFOUBCMFʹ͍ͭͯิ w6*$PMMFDUJPO7JFXҎ֎ʹɺ6*,JUͰͰ͖Δ͕ 4XJGU6*ͰͰ͖ͳ͍͜ͱଟ͍ w8FC7JFXɺ1VMM5P3FGSFTIͳͲ wࠓͷͱ͜Ζආ͚ͯ௨Εͳ͍ͷͰ͑ΔΑ͏ʹ͓ͯ͠ ͍ͨ΄͏͕Αͦ͞͏
·ͱΊ
·ͱΊ wJ04Ͱ͏·͘Ε-B[Z-PBEରԠͷ(SJEΛ࡞Ε Δ wݸਓతʹࠓΔͳΒ"4$PMMFDUJPO7JFXΛ͏͔ ͳ͊ wཁ݅ʹԠͯ͡ύϑΥʔϚϯεͳͲͷݕূΛ͔ͯ͠Β Γ·͠ΐ͏
4XJGU6*Ͳ͏ʁ w6*,JUͱൺ͔ͯͳΓੜ࢈ੑ͕ߴ͍ɻߴͰ6*Λ࡞Ε Δ wݱ࣌Ͱػೳෆͳͱ͜Ζ͕͋Δ w͍·ΔͳΒ6*7JFX3FQSFTFOUBCMFආ͚ͯ௨Εͳ ͦ͞͏ w࣮ઓಋೖ͏ͪΐͬͱઌ͔ͳʜ