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
340
VIPERアプリにSwiftUIを導入してみた
おしん
July 18, 2023
Tweet
Share
More Decks by おしん
See All by おしん
Concurrency Warningが 沢山出たから聞いてほしい ~Xcode 16.1 Beta 編~
shincarpediem
1
110
iOSのPhoto Libraryアクセス権限を見直してみよう
shincarpediem
1
160
SwiftUI登場前のVIPERアプリでもSwiftUIをスムーズに導入できた話
shincarpediem
2
1.4k
Other Decks in Programming
See All in Programming
Remix on Hono on Cloudflare Workers
yusukebe
1
280
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
330
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
CSC509 Lecture 09
javiergs
PRO
0
140
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
150
Click-free releases & the making of a CLI app
oheyadam
2
110
Quine, Polyglot, 良いコード
qnighy
4
640
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
580
subpath importsで始めるモック生活
10tera
0
300
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
The World Runs on Bad Software
bkeepers
PRO
65
11k
Music & Morning Musume
bryan
46
6.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Speed Design
sergeychernyshev
24
610
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
860
Building Flexible Design Systems
yeseniaperezcruz
327
38k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Building an army of robots
kneath
302
43k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Optimizing for Happiness
mojombo
376
70k
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*ͦͷͷͷਐԽʹظʂʂ🥳