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
SwiftUI,Combine Framework,KeyPath - 堅固な関係からSwif...
Search
notoroid
January 18, 2020
Programming
670
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SwiftUI,Combine Framework,KeyPath - 堅固な関係からSwiftUI への閾値を下げる
SwiftUI を理解するのに欠かせないCombine framework とKeyPath についてのプレゼンテーション。
notoroid
January 18, 2020
More Decks by notoroid
See All by notoroid
ServerSideSwiftAndContainerMachine - アプリ実装そのままクラウド
notoroid
0
65
Testflight - iOS27 でのAppleIntelligenceの強化
notoroid
0
62
New_features_in_Xcode26.3_to_Xcode26.4.pdf
notoroid
0
110
iOS26 オーディオ録音新機能 - iOS26 AVInputPickerInteraction
notoroid
0
160
Info.plist - after Xcode26.
notoroid
0
100
GeometryReader - SwiftUI
notoroid
0
130
iOS 26 SDKの新機能 (liquid抜き) - iOS26orLaterUpdateAndSceneForUIKit
notoroid
0
270
UIテスト自動化サポート- Testbed for XCUIAutomation practice
notoroid
0
270
UIViewController - Interactive PopGesture
notoroid
0
130
Other Decks in Programming
See All in Programming
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
930
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
210
ジョジョの世界をXRで再現する
mofurune
0
140
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
320
AWSに止められる覚悟してますか?
morizo_1984
2
520
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
21
21k
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Domain-Driven Transformation
hschwentner
2
2.3k
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
560
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
160
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
190
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Color Theory Basics | Prateek | Gurzu
gurzu
1
480
Amusing Abliteration
ianozsvald
1
330
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
580
Abbi's Birthday
coloredviolet
4
10k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
530
YesSQL, Process and Tooling at Scale
rocio
174
15k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Transcript
4XJGU6* $PNCJOF 'SBNFXPSL ,FZ1BUI ݎݻͳ͔ؔΒ4XJGU6*ͷᮢΛԼ͛Δ
ࣗݾհ
ೳొཁ !OPUPSPJE w J04ΞϓϦ։ൃऀ w ߸͍Γ·͢ిࢉاը w !OPUPSPJE w !JSJNBTV
w Fεϙʔπ
ॆిใࠂ͞Μ #BUUFSFDFJWFS w όοςϦʔϞχλʔ ϢʔςΟϦςΟʔ w ࠷େ ࣮ػ ϦϞʔτ
w ख࣋ͪͷJ1IPOF͔Βଞʹ͍࣋ͬͯΔ J1IPOF J1BEͳͲͷػثͷόοςϦʔঢ়ଶ֬ ೝՄೳ w ࣗʹ͋ΔJ1IPOFͷόοςϦʔঢ়ଶ֬ೝՄ ೳ
ॆిใࠂ͞Μ #BUUFSFDFJWFS w </FX>ॆిྃ௨ w ॆిྃΛ͑ͯ͘ΕΔ௨ΛՃɻ w ҎԼʹࢦఆ͢Δ͜ͱͰόοςϦʔ ΛέΞ͢Δ͜ͱ͕Մೳ w
Կ͔ͱߴ͍J1IPOFΛ࣋ͪͤ͞Δͷʹ༗ ༻
w ։ൃͨ͠ΞϓϦͷۙگ w ։ൃελΠϧసͷલ৮Ε w ,FZ1BUI w $PNCJOFGSBNFXPSL
։ൃͨ͠ΞϓϦͷۙگ
0CKFDUJWF$͔Β4XJGUͷҠ২ͨ͠ΞϓϦ
ಈ͘ϦϦʔε͢Δ͜ͱΛ༏ઌ
ݱࡏ෦ߏΛཧͭͭ͠ ৽ػೳରԠத
։ൃελΠϧసͷલ৮Ε
4XJGU6*ΞϓϦ։ൃͰ ໘ͨ͜͠ͱ
ଞ4XJGUͷςΫϊϩδʔΛ Βͳ͍ͱ࡞ۀ͕ετοϓ͢Δ
"QQMFఏڙ4XJGUಛԽͷ ༗໊ϑϨʔϜϫʔΫͭ $PNCJOFGSBNFXPSL 4XJGU6*
։ൃऀ͕ 0CKFDUJWF$ΑΓ ް͍ 4XJGUʹಛԽͨ͠ϑϨʔϜϫʔΫ ૿͑ͯ͘Δ͔
4XJGU6*ͰΘΕ͍ͯΔ 4XJGUͷςΫϊϩδʔΛઆ໌ͯ͠ΈΔ
ຖ೦ͱͯ͠Εͳ͍Α͏ʹ এ͑ͯΑ͍͙Β͍Λબͼ·ͨ͠
,FZ1BUI
ΩʔΛͯ͠ʹ ΞΫηεͰ͖Δػೳ
4XJGU͔Βݱࡏͷ,FZ1BUIͷܗʹ 0CKFDUJWF$͔Β͋Δػೳͱผ
,FZQBUI 4XJGUʙ w ܕΛݫີʹѻ͏จࣈྻͰͷΩʔΞΫηεΛલఏͱ͠ͳ͍ w /40CKFDUඇґଘ 4XJGUͰͷར༻ಛԽ w ఆٛؒͷύε࿈͕݁Մೳ
w ྻͷΞΫηε͕Մೳ
͍ํ ɾࣗࣗΛ໌ࣔ͢Δ߹ a<Ϋϥε໊>Ωʔ໊\Ωʔ໊^ ɾࣗݾݴٴ͢Δ߹4FMGΛ༻Ͱ͖Δ a4FMGΩʔ໊ ɾলུܗ͕ڐՄ͞Ε͍ͯΔ aΩʔ໊ ɾྻࢦఆͰ͖Δ a<Ϋϥε໊>ྻΩʔ໊<ΠϯσοΫε>
Ωʔͷ࿈݁ a<Ϋϥε໊>Ωʔ໊BQQFOEJOH a<Ϋϥε໊>Ωʔ໊ BQQFOEJOHΛΘͳͯ͘࿈݁ͯ͠هड़Մೳ
4XJGUͷࠒͷ༻్ w ,70 ,FZ7BMVF0CTFSWJOH ͱͯ͠༻ <ΦϒδΣΫτ໊>PCTFSWF <Ωʔύε> PQUJPOT<Φϓγϣϯ> \ <ΦϒδΣ
Ϋτ> <มߋ> JO ^
4XJGUҎ߱ͷ,FZ1BUIͷ༻్ w ,70 ,FZ7BMVF0CTFSWJOH w $PNCJOFGSBNFXPSL w NBQ
w BTTJHO w 4XJGU6* w 'PS&BDI -JTU 'PSN w FOWJSPONFOU
ॆిใࠂ͞ΜͰͷ,FZ1BUI༻ճ ໊ؔ ༻ ϑϨʔϜϫʔΫ ༻్ NBQ $PNCJOFGSBNFXPSL 'PS&BDI 4FMGTVQQPSUF
E-PDBMFT 4XJGU6* 1SFWJFX FOWJSPONFOU aMPDBMF MPDBMF 4XJGU6* 1SFWJFX BTTJHO UP PO $PNCJOFGSBNFXPSL 'PS&BDI JEaTFMG 4XJGU6* FOWJSPONFOU aJT&OBCM FE 4XJGU6*
ॆిใࠂ͞ΜͰͷ,FZ1BUI༻ճ ໊ؔ ༻ ϑϨʔϜϫʔΫ ༻్ NBQ $PNCJOFGSBNFXPSL 'PS&BDI 4FMGTVQQPSUF
E-PDBMFT 4XJGU6* 1SFWJFX FOWJSPONFOU aMPDBMF MPDBMF 4XJGU6* 1SFWJFX BTTJHO UP PO $PNCJOFGSBNFXPSL 'PS&BDI JEaTFMG 4XJGU6* FOWJSPONFOU aJT&OBCM FE 4XJGU6*
,FZ1BUIͷ༻్4XJGU6*ΞϓϦ w $PNCJOFGSBNFXPSL༻࣌ʹͷऔΓग़͠खஈͱͯ͠ར༻͕࠷ଟ w ҙ֎ʹ1SFWJFXͰͷ༻్͕ଟ͍ ϩέʔϧΛมߋͯ͠ͷ֬ೝ w 'PS&BDIͰͷ༻్άϥϑද͚ࣔͩ༻
$PNCJOFGSBNFXPSL
$PNCJOFGSBNFXPSL w σʔλͷྲྀྔɺྲྀΛ੍ޚ͢ΔͨΊͷϑϨʔϜϫʔΫ w ඇಉظʹରԠ w σʔλجຊܕɺߏܕɺྻڍܕɺΦϒδΣΫτΛࢦఆͰ͖Δ w 4XJGUͷػೳΛଟ༻ (FOFSJD
,FZ1BUI w ϑϨʔϜϫʔΫ͕ඞཁ JNQPSU$PNCJOF J04ʙ
Πϝʔδਤ
σʔλ σʔλ σʔλ σʔλͷೖΓޱ
σʔλͷมܗ σʔλC σʔλC σʔλC σʔλC σʔλB σʔλB
σʔλC σʔλC σʔλC σʔλC σʔλB σʔλB 1VCMJTIFST 4VCTDSJCFST 0QFSBUPST σʔλͷมܗ
σʔλͷมܗɺσʔλͷྲྀɺσʔλͷྲྀྔͷՃ σʔλͷൃߦऀ σʔλͷߪಡऀ
JNQPSU6*,JU JNQPSU$PNCJOF WBSBOZ$BODFMBCMF4FU"OZ$BODFMMBCMF MFUQBTTUISPVHI4VCKFDU1BTTUISPVHI4VCKFDU*OU /FWFS MFUQBTTUISPVHI4VCKFDU1BTTUISPVHI4VCKFDU4USJOH /FWFS
QBTTUISPVHI4VCKFDU NBQ\WBMVFJO 4USJOHa WBMVF ^ TVCTDSJCF QBTTUISPVHI4VCKFDU QBTTUISPVHI4VCKFDUTJOL\ WBMVF JO QSJOU QBTTUISPVHI4VCKFDUTJOLWBMVFa WBMVF ^TUPSF JOBOZ$BODFMBCMF 1VCMJTIFS୲ 4VCTDSJCFS୲ 0QFSBUPS୲
σʔλͷൃߦݩछྨ
1VCMJTIFS݉4VCTDSJCFS 1VCMJTIFSͷछྨᶃᶄ w1BTTUISPVHI4VCKFDU w$VSSFOU7BMVF4VCKFDU 1VCMJTIFS σʔλͷൃߦݩ ͱ4VCKFDU σʔλ ͷߪಡଆ Λ݉ͶΔɺσʔλܕͷมʹదͳ
0QFSBUPSTΛ͏ NBQͳͲ
ඇಉظॲཧ 1VCMJTIFSͷछྨᶅ w'VUVSF ϦΫΤετޙɺඇಉظͰσʔλ͕खʹೖΔॲཧ ωοτϫʔΫϦΫΤε τͳͲ ͷσʔλΛड͚औΔͷʹར༻͢ΔɻΤϥʔΛऔಘͰ͖ͣΤϥʔ ͕ฦͬͯ͘Δ͜ͱ͋Δ
$PNCJOFGSBNFXPSLͷಛ
ΤϥʔϨʔϯͷ༗ແ͕બΔ
σʔλͷೖΓޱ
σʔλͷೖΓޱ
σʔλͷೖΓޱ
MFUQBTTUISPVHI4VCKFDU1BTTUISPVHI4VCKFDU*OU /FWFS QBTTUISPVHI4VCKFDUTFOE QBTTUISPVHI4VCKFDUTJOL\ WBMVF JO QSJOU
QBTTUISPVHI4VCKFDUTJOLWBMVFa WBMVF ^TUPSF JOBOZ$BODFMBCMF QBTTUISPVHI4VCKFDUTFOE MFUDVSSFOU7BMVF4VCKFDU$VSSFOU7BMVF4VCKFDU*OU /FWFS DVSSFOU7BMVF4VCKFDUTJOL\ WBMVF JO QSJOU DVSSFOU7BMVF4VCKFDUTJOLWBMVFa WBMVF ^TUPSF JOBOZ$BODFMBCMF 'VUVSF*OU /FWFS\QSPNJTFJO 5ISFBETMFFQ GPS5JNF*OUFSWBM %JTQBUDI2VFVFHMPCBM BTZOD\ %JTQBUDI2VFVFNBJOBTZOD\ QSPNJTF TVDDFTT ^ ^ ^ TJOL\ WBMVF JOQSJOU 'VUVSFTJOLWBMVFa WBMVF ^TUPSF JOBOZ$BODFMBCMF TVCTDSJCF QBTTUISPVHI4VCKFDU TUPSF JOBOZ$BODFMBCMF ΤϥʔϨʔϯͳ͠
MFUQBTTUISPVHI4VCKFDU1BTTUISPVHI4VCKFDU*OU &SSPS QBTTUISPVHI4VCKFDUTFOE QBTTUISPVHI4VCKFDUTJOL SFDFJWF$PNQMFUJPO\ DPNQMFUJPO JO
TXJUDIDPNQMFUJPO\ DBTFGBJMVSF MFUFSSPS QSJOU QBTTUISPVHI4VCKFDUMPDBMJ[FE%FTDSJQUJPOa FSSPSMPDBMJ[FE%FTDSJQUJPO DBTFpOJTIFE CSFBL ^ ^ \ WBMVF JO QSJOU QBTTUISPVHI4VCKFDUTJOLWBMVFa WBMVF ^TUPSF JOBOZ$BODFMBCMF QBTTUISPVHI4VCKFDUTFOE MFUDVSSFOU7BMVF4VCKFDU$VSSFOU7BMVF4VCKFDU*OU &SSPS DVSSFOU7BMVF4VCKFDUTJOL SFDFJWF$PNQMFUJPO\ DPNQMFUJPO JO TXJUDIDPNQMFUJPO\ DBTFGBJMVSF MFUFSSPS QSJOU DVSSFOU7BMVF4VCKFDUMPDBMJ[FE%FTDSJQUJPOa FSSPSMPDBMJ[FE%FTDSJQUJPO DBTFpOJTIFE CSFBL ^ ^ SFDFJWF7BMVF\ WBMVF JO QSJOU DVSSFOU7BMVF4VCKFDUTJOLWBMVFa WBMVF ^ TUPSF JOBOZ$BODFMBCMF 'VUVSF*OU &SSPS\QSPNJTFJO 5ISFBETMFFQ GPS5JNF*OUFSWBM %JTQBUDI2VFVFHMPCBM BTZOD\ %JTQBUDI2VFVFNBJOBTZOD\ QSPNJTF TVDDFTT ^ ^ ^ TJOL SFDFJWF$PNQMFUJPO\ DPNQMFUJPO JO TXJUDIDPNQMFUJPO\ DBTFGBJMVSF MFUFSSPS QSJOU 'VUVSFMPDBMJ[FE%FTDSJQUJPOa FSSPSMPDBMJ[FE%FTDSJQUJPO DBTFpOJTIFE CSFBL ^ ^ SFDFJWF7BMVF\ WBMVF JO QSJOU 'VUVSFTJOLWBMVFa WBMVF ^ TUPSF JOBOZ$BODFMBCMF ΤϥʔϨʔϯ͋Γ
$PNCJOF$PNNVOJUZ SYTXJGUUPDPNCJOFDIFBUTIFFU HJUIVCDPN$PNCJOF$PNNVOJUZSYTXJGUUPDPNCJOFDIFBUTIFFU 3Y4XJGUͱͷػೳൺֱ
6TJOH$PNCJOF IFDLKHJUIVCJPTXJGUVJOPUFT $PNCJOFGSBNFXPSLͷ͍ํ
ϥΠόϧ 3Y4XJGU ΑΓܰྔͳ ͷͰ͓͢͢Ί