Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
SwiftUIの大地を駆け巡るための仕組みを作る
Ryoichi Izumita
May 20, 2021
Programming
0
140
SwiftUIの大地を駆け巡るための仕組みを作る
"土に根をおろし、風とともに生きよう。種とともに冬を越え、鳥とともに春を歌おう"
Ryoichi Izumita
May 20, 2021
Tweet
Share
More Decks by Ryoichi Izumita
See All by Ryoichi Izumita
VIPERアーキテクチャ
rizumita
1
620
FRPを使いはじめて3年が過ぎました。
rizumita
4
1.1k
とあるプログラマのリモートワーク
rizumita
0
330
JavaScript for Automation
rizumita
1
230
Other Decks in Programming
See All in Programming
RustのWebフレームワーク周りの概観
hayao
0
180
設計の考え方とやり方
masuda220
PRO
56
31k
ZOZOTOWNにおけるDatadogの活用と、それを支える全社管理者の取り組み / 2022-07-27
tippy
1
3.4k
Dagger, la CI, autrement
guikingone
1
120
Carp言語さわってみた 〜鯉を取り戻せ編〜
tsin45
0
110
Amazon Lookout for Visionで 筆跡鑑定してみた
cmnakamurashogo
0
180
話題の AlloyDB は本当に凄いデータベースなのでプレビューを使い倒した #devio2022
maroon1st
0
13k
Windows コンテナ Dojo 第5回 OpenShift で学ぶ Kubernetes 入門
oniak3ibm
PRO
0
200
Rust、何もわからない...#3
estie
0
170
僕が便利だと感じる Snow Monkey の特徴/20220723_Gifu_WordPress_Meetup
oleindesign
0
110
Amazon SageMakerでImagenを動かして猫画像生成してみた
hotoke_neko
0
120
実践 SpiceDB - クライドネイティブ時代をサバイブできるパーミッション管理の実装を目指して / Practical SpiceDB
lmt_swallow
0
140
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.3k
jQuery: Nuts, Bolts and Bling
dougneiner
56
6.4k
Faster Mobile Websites
deanohume
294
28k
Docker and Python
trallard
27
1.6k
We Have a Design System, Now What?
morganepeng
35
3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
107
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1.1M
The Power of CSS Pseudo Elements
geoffreycrofte
47
4k
Design by the Numbers
sachag
271
17k
Pencils Down: Stop Designing & Start Developing
hursman
113
9.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
151
13k
Bash Introduction
62gerente
598
210k
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Λॻ͍͍ͯͩ͘͞ɻ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ