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
VIPERアプリにSwiftUIを導入してみた
Search
おしん
July 18, 2023
Programming
1
400
VIPERアプリにSwiftUIを導入してみた
おしん
July 18, 2023
Tweet
Share
More Decks by おしん
See All by おしん
Swift UI デフォルト引数クイズ
shincarpediem
1
100
よりアプリらしさを出すために
shincarpediem
1
97
Concurrency Warningが 沢山出たから聞いてほしい ~Xcode 16.1 Beta 編~
shincarpediem
1
200
iOSのPhoto Libraryアクセス権限を見直してみよう
shincarpediem
1
200
SwiftUI登場前のVIPERアプリでもSwiftUIをスムーズに導入できた話
shincarpediem
2
1.6k
Other Decks in Programming
See All in Programming
自作OSでDOOMを動かしてみた
zakki0925224
1
1.4k
UbieのAIパートナーを支えるコンテキストエンジニアリング実践
syucream
2
450
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
350
Langfuseと歩む生成AI活用推進
licux
3
250
대규모 트래픽을 처리하는 프론트 개발자의 전략
maryang
0
120
Understanding Kotlin Multiplatform
l2hyunwoo
0
260
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
2
140
AIレビュアーをスケールさせるには / Scaling AI Reviewers
technuma
2
200
プロダクトという一杯を作る - プロダクトチームが味の責任を持つまでの煮込み奮闘記
hiliteeternal
0
460
ゲームの物理
fadis
5
1.2k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
17
3.9k
ワープロって実は計算機で
pepepper
2
1.4k
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
36
6.8k
Speed Design
sergeychernyshev
32
1.1k
Rails Girls Zürich Keynote
gr2m
95
14k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Adopting Sorbet at Scale
ufuk
77
9.5k
Designing for humans not robots
tammielis
253
25k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
For a Future-Friendly Web
brad_frost
179
9.9k
Agile that works and the tools we love
rasmusluckow
329
21k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Transcript
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE $PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 7*1&3ΞϓϦʹ4XJGU6*Λ ಋೖͯ͠Έͨ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 2 ࣗݾհ ੨ৼҰ झຯ ♨εύͰອըΛಡΈͳ͕Βμ ϥμϥ͢Δ͜ͱ 🥊CNPOTUFSͰ҉ҋϘΫγϯ άʹ໌͚ΕΔ͜ͱ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 3 4XJGU6*ͱ 4XJGU6*Ұൠతʹ.77.ΞʔΩςΫνϟͰ ಋೖ͞Ε͍ͯΔ͜ͱ͕ଟ͍ͱࢥ͍·͢
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 4 7*1&3ͱ J04ΞϓϦέʔγϣϯʹ ΫϦʔϯΞʔΩςΫνϟΛద༻ͨ͠ͷ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 5 7*1&3ʹ4XJGU6*Λ࣮ࡍʹಋೖ͢Δํ๏
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 6 7*1&3ʹ4XJGU6*Λ࣮ࡍʹಋೖ͢Δํ๏ 7JFX$POUSPMMFS͕7JFXͷ͜ͱΛ Βͳͯ͘ྑ͘ͳΓ·ͨ͠
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 7 7JFX.PEFMΛ࡞Γɺ7JFX$POUSPMMFSͱ4XJGU6*ͷ7JFXʹࢀরͤ͞Δ 0CTFSWBCMF0CKFDUΛܧঝͨ͠ 7JFX.PEFMΛ࡞͠·͢ɻ 6*7JFX$POUSPMMFSͱɺ4XJGU6*ͷ 7JFXͦΕͧΕ͕ɺ7JFX.PEFMΛ ࢀরͰ͖ΔΑ͏ʹ͠·͢ɻ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 8 4XJGU6*ͷ7JFXΛ6*7JFX$POUSPMMFSʹଓ͢Δ४උ 6*)PTUJOH$POUSPMMFSΛ ͬͯ4XJGU6*ͷ7JFXΛ ΊࠐΉॴΛ༻ҙ ͠·͢ɻ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 9 ࣮ࡍʹ4XJGU6*ͷ7JFXΛΊࠐΜͰɺར༻ 4XJGU6*ͷ7JFX 6*7JFX$POUSPMMFSΛ ҙࣝͤͣʹ ࣮Ͱ͖Δʂ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 10 ͏·͍ͬͨ͘͜ͱᶃʙ4XJGU6*ͷԸܙɿ6*ͷमਖ਼͕രʹͳͬͨʙ "VUP-BZPVUΛΉͨΊͷ ੍पΓͷίʔυ͕ෆཁʹͳΓɺ 7JFXͷमਖ਼͕ମײഒ͘Β͍͘ͳΓ·ͨ͠ɻ ɹ6*,JU ɹ4XJGU6*
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 11 ͏·͍ͬͨ͘͜ͱᶄʙ.77.ͷԸܙɿ7JFXͷߋ৽ॲཧΛॻ͘ඞཁ͕ͳ͘ͳͬͨʙ ɹ#JOEJOH ɹᶃ ɹᶄ ɹᶅ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 12 ͏·͍͔͘ͳ͔ͬͨ͜ͱᶃʙ7JFX.PEFMͷΛ7JFX͔ΒมߋͰ͖ͯ͠·͏ʙ 7JFX.PEFMͷϓϩύςΟ͕ɺ 4XJGU6*ͷ7JFX͔ΒมߋՄೳ ʹͳ͍ͬͯΔ👁
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 13 ͏·͍͔͘ͳ͔ͬͨ͜ͱᶃͷղܾࡦ 7JFX$POUSPMMFS͕7JFX.PEFMͷ Λมߋ͍͕ͯͨ͠ɺ ͷมߋ7JFX.PEFM͔Β͔͠ Ͱ͖ͳ͍Α͏ʹ͢Δɻ 7JFXΛόΠϯυ͢Δׂͷ7JFX.PEFM ͱɺ7JFXɾ*OUFSBDUPSɾ3PVUFSͱͷϋϒ
Ͱ͋Δ1SFTFOUFSͷׂ͕߹Θ͞Δɻ🙃
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 14 ͏·͍͔͘ͳ͔ͬͨ͜ͱᶄʙ04WFSຖʹ͑ΔNPEJ fi FS͕݁ߏ͋Δʙ J04ͰɺτάϧϘλϯͷ৭Λม͑ΔϞ σΟϑΝΠΞ UJOU$PMPS ͕͑ͳ͍ɻ
ଞʹɺɺ ςΩετϑΟʔϧυ5FYU7JFXɻ ೖྗ༰ͷมߋΛݕ͢ΔPO$IBOHFϞσΟ ϑΝΠΞɺJ04͔Β͔͑͠ͳ͍ɻ ΩʔϘʔυͷΤϯλʔΩʔΛݕ͢Δ PO4VCNJUϞσΟϑΝΠΞ J04͔Β͔͑͠ͳ͍ɻ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 15 ͏·͍͔͘ͳ͔ͬͨ͜ͱᶄͷղܾࡦ 04όʔδϣϯຖʹ ۪ʹذͤ͞·ͨ͠ɻস
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 16 ·ͱΊ ɾ 6*,JUͰ7JFX͕ߏங͞Εͨ 7*1&3ʹ4XJGU6*ΛΈࠐΉ͜ͱͰ ʮ7JFX༩͑ΒΕͨσʔλΛͱʹ6*Λͨͩදࣔ͢Δ͚ͩʯ ɹΛపఈ͘͢͠ͳͬͨɻ ˠ.77.ͷԸܙΛड͚ΒΕΔΑ͏ʹͳͬͨ🎉
ɾ4XJGU6*ࣗମʹ͍ͭͯɺ04ͷαϙʔτԼݶΛ্͛Ε্͛Δ΄Ͳɺ ɹ͑ΔϞσΟϑΝΠΞͷछྨ͕૿͑ͯɺ7JFXͷ։ൃੜ࢈ੑ্͕͕Δͱײͨ͡ɻ ˠ4XJGU6*ͦͷͷͷਐԽʹظʂʂ🥳