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
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SwiftUIの大地を駆け巡るための仕組みを作る
"土に根をおろし、風とともに生きよう。種とともに冬を越え、鳥とともに春を歌おう"
Ryoichi Izumita
May 20, 2021
More Decks by Ryoichi Izumita
See All by Ryoichi Izumita
モバイル開発における共通性・可変性分析入門
rizumita
0
100
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
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.7k
Claspは野良GASの夢をみるか
takter00
0
190
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
240
AIで効率化できた業務・日常
ochtum
0
140
JavaDoc 再入門
nagise
1
350
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.6k
Inside Stream API
skrb
1
720
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.6k
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
200
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
140
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
760
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
250
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
470
30 Presentation Tips
portentint
PRO
1
320
How to train your dragon (web standard)
notwaldorf
97
6.7k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
330
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
430
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
230
Ruling the World: When Life Gets Gamed
codingconduct
0
250
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
180
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
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Λॻ͍͍ͯͩ͘͞ɻ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ