Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Implementing MVVM in 2019
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuki Yamamoto
July 30, 2019
Technology
1.3k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Implementing MVVM in 2019
Slides I used at my talk at Otemachi.swift #04
https://nikkei.connpass.com/event/135908/
Yuki Yamamoto
July 30, 2019
More Decks by Yuki Yamamoto
See All by Yuki Yamamoto
Finding alternatives for GraphQL client for iOS
redryerye
0
3.2k
tvOSにちょっと注目してみる
redryerye
0
1k
Implement P2P connection and stream your content
redryerye
0
730
Other Decks in Technology
See All in Technology
セルフサービスのオブザーバビリティ基盤をOpenTelemetryで作る / Building a Self-Service Observability Platform with OpenTelemetry
ymotongpoo
3
490
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
170
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
120
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
140
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
630
Argo CDとAtlantisで実現するインフラ管理のセルフサービス化──小規模SREチームで支えるプラットフォーム
cassius7
0
250
Account Factory for Terraformによる 標準化されたアカウント発行の自動化
pensuke628
0
120
音声コミュニティを守るAI監視基盤_ 90%以上の入力削減を支えたServerless設計と運用判断
shuheioka123
0
120
AWS FinOps Agent 結局何が得意なの?
siromi
0
220
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
1
260
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
1
180
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
0
120
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Test your architecture with Archunit
thirion
2
2.4k
sira's awesome portfolio website redesign presentation
elsirapls
0
430
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Un-Boring Meetings
codingconduct
0
430
Accessibility Awareness
sabderemane
1
230
Chasing Engaging Ingredients in Design
codingconduct
0
340
Are puppies a ranking factor?
jonoalderson
2
4k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Leo the Paperboy
mayatellez
10
2.3k
Transcript
*NQMFNFOUJOH.77.JO 0UFNBDIJTXJGU !SFESZFSZF
8IPBN* :VLJ:BNBNPUP • J04&OHJOFFSBU"."503*6. *OD !SFESZFSZF !SFESZFSZF
8IBUEPFT"."503*6.EP "SUJTUT $PMMFDUPST (BMMFSJFT .VTFVNT 4DBO #MPDLDIBJO .BOBHFNFOUBOE $FSUJGJDBUJPOWJB TNBSUDPOUSBDU
4VCTDSJQUJPOCBTFE BSUXPSLTIBSJOH J04 UW04
"HFOEB • 8IZ.77. • 8IBUJT.77. • )PXXPVMEJUMPPL • .77.JO
8IZ.77.
8IZ.77. #FGPSFJNQMFNFOUJOH
8IZ.77. "GUFS #FGPSFJNQMFNFOUJOH
• "WPJE.BTTJWF7JFX$POUSPMMFS • ,FFQJUTJNQMF 8IZ.77.
8IBUJT.77.
• 'JSTUJOUSPEVDFEGPS8JOEPXT1SFTFOUBUJPO'PVOEBUJPO 81' BSDIJUFDUVSF • %FSJWBUJWFPG.7$BOETFQBSBUFTUIF.PEFMBOEUIF7JFXCZJOUSPEVDJOHBOBCTUSBDU MBZFSCFUXFFOUIFN • 8PSLTXFMMXJUI'VODUJPOBM3FBDUJWF1SPHSBNNJOH 8IBUJT.77.
4063$& .JDSPTPGU %FWFMPQFS#MPH
8IBUJT.77. 7JFX 7JFX.PEFM .PEFM %BUB#JOEJOH 6TFS*OQVU 7JFX0VUQVU 4063$& J04ઃܭύλʔϯೖ
7JFX 7JFX.PEFM .PEFM %BUB#JOEJOH 6TFS*OQVU 7JFX0VUQVU 4063$& J04ઃܭύλʔϯೖ 3Y4XJGU
3FBDUJWF4XJGU 8IBUJT.77.
• 5BLFTUJNFTUPNBTUFS • 6TJOHPQFOTPVSDFTPGUXBSFDPNQPOFOUTDPNFTXJUISJTLT #VU
• 5BLFTUJNFTUPNBTUFS • 6TJOHPQFOTPVSDFTPGUXBSFDPNQPOFOUTDPNFTXJUISJTLT #VU 4063$& ͳͥ͏ͪͷνʔϜ։ൃதͷΞϓϦΛ.77.͔Β.7$ʹͨ͠ͷ͔ !MPWFF ʠʢ.77.͔Β.7$ʹ͢Δ͜ͱͰʣѹతʹগͳ͍3Y4XJGUͷ֤छ0QFSBUPSͳͲʹର͢Δशಘίετʡ
• .77.XJUIPVUSFMZJOHPOUIJSEQBSUJFT 5IVT
4PIPXXPVMEJUMPPL
7JFX 7JFX.PEFM .PEFM %BUB#JOEJOH 6TFS*OQVU 7JFX0VUQVU 4063$& J04ઃܭύλʔϯೖ 4PIPXXPVMEJUMPPL
7JFX 7JFX.PEFM 6TFS*OQVU 7JFX0VUQVU 4PIPXXPVMEJUMPPL
7JFX 7JFX.PEFM 6TFS*OQVU 7JFX0VUQVU 4PIPXXPVMEJUMPPL %PO’UGPSHFUUPDSFBUFBT $MBTT0OMZ1SPUPDPM
7JFX 7JFX.PEFM 6TFS*OQVU 7JFX0VUQVU 4PIPXXPVMEJUMPPL
7JFX 7JFX.PEFM 6TFS*OQVU 7JFX0VUQVU 4PIPXXPVMEJUMPPL
7JFX 4PIPXXPVMEJUMPPL
7JFX 4PIPXXPVMEJUMPPL
• ,JDLTUBSUFS 5IF0(GPSVTJOH.77.JOJ04 • .FSQBZ .77.XJUIPVUPQFOTPVSDFGSBNFXPSLT ':*
*NQMFNFOUJOH.77.JO 0UFNBDIJTXJGU !SFESZFSZF
*NQMFNFOUJOH.77.JO
*NQMFNFOUJOH.77.JO
• 9$PEFXJMMOPUDSFBUFBOZDPOUSPMMFST .77.JO
.77.JO 4063$& HJUIVCDPNLJUBTVLF
5BLF"XBZ • .BLFZPVSMJGFTJNQMFCZLFFQJOHFWFSZUIJOHTJNQMF • %PO’UGPSHFUUPDSFBUFBT$MBTT0OMZ1SPUPDPMGPSPVUQVUTQSPUPDPM • .BTUFSJOH'31DBODPTUZPVUJNF • ,FFQBOBZFPOUIFCFTUBSDIJUFDUVSFTGPS4XJGU6*
*OUFSFTUFEJO"SU 8FBSFMPPLJOHGPSJOUFSOTBOEJ04EFWFMPQFST
5IBOLT :VLJ:BNBNPUP ZVLJ!BNBUPSJVNDPN !SFESZFSZF !SFESZFSZF
4PVSDFT • https://peaks.cc/books/iOS_architecture • https://developer.apple.com/videos/play/techtalks-apple-tv/11/ • https://blogs.msdn.microsoft.com/ivo_manolov/2012/03/17/model-view-viewmodel-mvvm- applications-general-introduction/ • https://tech.mercari.com/entry/2019/06/12/120000
• https://speakerdeck.com/lovee/nazeutifalsetimuhakai-fa-zhong-falseapuriwo-mvvm-kara-mvc-nili- sitafalseka?slide=10 • https://school.geekwall.in/p/rk39b100V/mvvm-in-swiftui
"QQFOEJY