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
SwiftUIの大地を駆け巡るための仕組みを作る
Search
Ryoichi Izumita
May 20, 2021
Programming
280
0
Share
SwiftUIの大地を駆け巡るための仕組みを作る
"土に根をおろし、風とともに生きよう。種とともに冬を越え、鳥とともに春を歌おう"
Ryoichi Izumita
May 20, 2021
More Decks by Ryoichi Izumita
See All by Ryoichi Izumita
モバイル開発における共通性・可変性分析入門
rizumita
0
99
Flutterアプリを生成AIで生成する勘所
rizumita
0
1.5k
FlutterアプリのテストでBuilderパターンを活用しよう
rizumita
0
760
VIPERアーキテクチャ
rizumita
1
840
FRPを使いはじめて3年が過ぎました。
rizumita
4
1.5k
とあるプログラマのリモートワーク
rizumita
0
390
JavaScript for Automation
rizumita
1
280
Other Decks in Programming
See All in Programming
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.2k
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
2.9k
New "Type" system on PicoRuby
pocke
1
240
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
160
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.2k
AI時代になぜ書くのか
mutsumix
0
470
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
290
Swiftのレキシカルスコープ管理
kntkymt
0
200
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
170
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
200
AIとRubyの静的型付け
ukin0k0
0
190
要はバランスからの卒業 #yumemi_grow
kajitack
0
200
Featured
See All Featured
HDC tutorial
michielstock
2
680
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Code Reviewing Like a Champion
maltzj
528
40k
The Spectacular Lies of Maps
axbom
PRO
1
770
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
290
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
140
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
310
Transcript
SwiftUIͷେΛۦ͚८ΔͨΊͷΈΛ࡞Δ ࣗࣾαʔϏε։ൃͷגࣜձࣾελσΟετ × ڞύʔτφʔͷגࣜձࣾΏΊΈ ߹ಉษڧձʂ Γͣ / ઘాྖҰ /
@rizumita
ϓϩϑΟʔϧ • ݝ҆ಶࢢࡏॅ • 43ࡀ • גࣜձࣾΏΊΈͰiOSςοΫϦʔυ݉ϦʔυΤϯδχΞ • 19ࡀͰObjective-CΛֶͼͦͷޙWebObjectsΛ͔͋ͭ͏ •
iOSΞϓϦ։ൃiPhone 3GSΛߪೖͨ࣌͠ʹ։࢝
SwiftUIͰ͞Ε͍ͯΔΞʔΩςΫνϟύλʔϯ • MVVM • The Composable Architecture • Elm Architecture
• Redux MVVMҎ֎ͰؔܕΞʔΩςΫνϟύλʔϯ͕ಛʹ͞Ε͓ͯΓɺ ͦΕΒSwiftUIͱ͍͏ܥͱผݸͷؔܕͷܥΛ࡞ΓɺೋͭͷܥΛܨ͍͛ͯΔɻ ผݸͷܥͳͷͰSwiftUIͷView֊ͷதͰมԽ͢ΔEnvironmentEnvironmentObjectΛޮՌతʹར ༻͢Δࣄ͕Ͱ͖ͳ͍͜ͱ͕ଟ͍ɻ
ࢲʹɺͦΕΒఱۭ͔Β SwiftUIͱ͍͏େΛ ίϯτϩʔϧ͍ͯ͠ΔΑ͏ʹࢥ͑Δɻ
ඬྲྀதͷΨϦϰΝʔͱ ૺ۰͢Δڊେͳʮۭඈ Ϳౡʯϥϐϡʔλ JɾJɾάϥϯϰΟϧ
–ΰϯυΞͷ୩ͷՎ “ʹࠜΛ͓Ζ͠ɺ෩ͱͱʹੜ͖Α͏ɻ छͱͱʹౙΛӽ͑ɺௗͱͱʹय़ΛՎ͓͏”
SwiftUIͷେΛۦ͚८ΔͨΊʹ • γεςϜʹجͮ͘ΈͰ࣮͢Δͷ͕جຊɻ • SwiftUIͷView֊ʹڥ͕Έࠐ·Ε͍ͯΔɻͭ·ΓView֊ͦ͜ ͕ΞϓϦͷϕʔεͱ͍͑Δɻ • ͔͠͠View͕ModelϨΠϠʔʹґଘ͢Δͱ͕ൃੜ͢Δɻ • ViewͦͷڥͱModelΛܨ͙ॴ͕ඞཁͱͳΔɻ
Sede SwiftUI༻ͷViewͱModelΛόΠϯυ͢ΔͨΊͷϥΠϒϥϦ ϧʔςΟϯάػೳ https://github.com/rizumita/Sede
͍ํͱϥΠϒϥϦͷ࣮Λݟ͍͖ͯͨͩ·͢ɻ https://github.com/rizumita/Sede
͓ΘΓʹ • ඪ४ͷڥʹଇ࣮͕ͬͨجຊͩͱߟ͍͑ͯΔɻ • ؔܕΞʔΩςΫνϟύλʔϯͳͲͷผͷܥͷΈྑ͍͕ɺ·ͣ SwiftUIͱ͍͏ϑϨʔϜϫʔΫʹଇͬͨΈΛݕ౼͍ͨ͠ɻ • ͜ͷϥΠϒϥϦ࣮ݧతͳ࣮Ͱ͋ΓɺΑΓΑ͍࣮Λ୳Δඞཁ͕͋ Δɻ •
ΞΠσΞ͕͋ΕIssueΛॻ͍͍ͯͩ͘͞ɻ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ