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 ...
Search
kuroyam
October 16, 2020
Programming
1
1.1k
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.9k
アプリ設計改善の旅路
kuroyam
1
930
途中からSwiftLint
kuroyam
1
600
Objective-Cで書かれたアプリをSwift化したときの話
kuroyam
4
410
Other Decks in Programming
See All in Programming
距離関数を極める! / SESSIONS 2024
gam0022
0
290
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
300
Tauriでネイティブアプリを作りたい
tsucchinoko
0
370
[Do iOS '24] Ship your app on a Friday...and enjoy your weekend!
polpielladev
0
110
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
3
690
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
役立つログに取り組もう
irof
28
9.6k
CSC509 Lecture 13
javiergs
PRO
0
110
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
7
7.8k
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
630
Jakarta EE meets AI
ivargrimstad
0
200
Remix on Hono on Cloudflare Workers
yusukebe
1
300
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
49
11k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Building Your Own Lightsaber
phodgson
103
6.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Automating Front-end Workflow
addyosmani
1366
200k
Why Our Code Smells
bkeepers
PRO
334
57k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Rails Girls Zürich Keynote
gr2m
94
13k
Code Review Best Practice
trishagee
64
17k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
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࣮ઓಋೖ͏ͪΐͬͱઌ͔ͳʜ