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
350
VIPERアプリにSwiftUIを導入してみた
おしん
July 18, 2023
Tweet
Share
More Decks by おしん
See All by おしん
よりアプリらしさを出すために
shincarpediem
1
25
Concurrency Warningが 沢山出たから聞いてほしい ~Xcode 16.1 Beta 編~
shincarpediem
1
120
iOSのPhoto Libraryアクセス権限を見直してみよう
shincarpediem
1
160
SwiftUI登場前のVIPERアプリでもSwiftUIをスムーズに導入できた話
shincarpediem
2
1.4k
Other Decks in Programming
See All in Programming
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
720
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
モバイルアプリにおける自動テストの導入戦略
ostk0069
0
110
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
140
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
350
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
0
160
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
920
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
240
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
290
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
330
第5回日本眼科AI学会総会_AIコンテスト_3位解法
neilsaw
0
170
Featured
See All Featured
The Language of Interfaces
destraynor
154
24k
The Cult of Friendly URLs
andyhume
78
6.1k
Navigating Team Friction
lara
183
15k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
How to Ace a Technical Interview
jacobian
276
23k
Mobile First: as difficult as doing things right
swwweet
222
9k
Music & Morning Musume
bryan
46
6.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
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*ͦͷͷͷਐԽʹظʂʂ🥳