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
野瀬田とSwift愛好会
Search
野瀬田 裕樹
August 29, 2026
Programming
33
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
野瀬田とSwift愛好会
野瀬田 裕樹
August 29, 2026
More Decks by 野瀬田 裕樹
See All by 野瀬田 裕樹
速習iPhone Duo対応
yuukiw00w
1
480
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
210
ネイティブiOSアプリだからできること
yuukiw00w
0
28
uhooiさん発ランダムタスクにチャレンジしよう!
yuukiw00w
1
73
ViewModelって200種類あんねん
yuukiw00w
0
50
Validate your App Intents adoption with AppIntentsTesting
yuukiw00w
0
49
App Intentsを実装しよう
yuukiw00w
0
52
iOS26時代の新規アプリ開発
yuukiw00w
0
270
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
390
Other Decks in Programming
See All in Programming
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
120
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
230
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.3k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
100
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
0
170
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
110
Family mrubyの進捗
kishima
1
120
一人だけ、Kiroが静止する日
hideg
0
110
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
370
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
110
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
280
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
430
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
Music & Morning Musume
bryan
48
7.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Why Our Code Smells
bkeepers
PRO
340
58k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
Designing Powerful Visuals for Engaging Learning
tmiket
1
550
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
HDC tutorial
michielstock
2
870
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
Are puppies a ranking factor?
jonoalderson
2
3.9k
Transcript
野瀬田とSwift愛好会 合同会社DMM.com 野瀬田 裕樹(@ynoseda)
野瀬田 裕樹(@ynoseda) • 出身:京都 • ローム → Navitime // 2015年10月〜
iOSアプリエンジニア → Yahoo! Japan → DeNA → DMM.com ← 今ここ
愛好会参加履歴(一般参加) • 2023/12/20 vol.77が初回参加 • vol.77, 79, 81, 92の合計4回
愛好会参加履歴(談義枠) • 2024/03/07 vol.80が初談義 • vol.80, 96, 98 WWDC25セッション要約会, WWDC26セッション要約会
• 合計3+2回(5回)、今日で6回目
愛好会参加履歴(談義枠) • uhooiさん発ランダムタスクにチャレンジしよう! • AI前提で考えるiOSアプリのモダナイズ設計 • ViewModelって200種類あんねん • Evaluate your
app for Accessibility Nutrition Labels • Validate your App Intents adoption with AppIntentsTesting
いつも自分の考えを整理したりするきっかけとして 談義枠使わせていただいているので感謝です!!
タイトルと考えていたこと1 • uhooiさん発ランダムタスクにチャレンジしよう! • 良さそうな体験を実現したいときの実装上の難点を具体的なhowま で落とし込んで考える時間を取るの大事だよねという話
タイトルと考えていたこと2 • AI前提で考えるiOSアプリのモダナイズ設計 • AIさんがいればモダナイズも簡単だし、そもそもモダナイズ重要に なっていくし、やっていかなきゃだよねという話
タイトルと考えていたこと3 • ViewModelって200種類あんねん • ViewModel論争が定期的に上がってくるからちゃんと整理して把握 しておくといい感じだよねという話
タイトルと考えていたこと4 • Evaluate your app for Accessibility Nutrition Labels •
iOSアプリ作るのにアクセシビリティちゃんと考慮しないとか今後 はもうありえないって感じになってくるんだろうなという話
タイトルと考えていたこと5 • Validate your App Intents adoption with AppIntentsTesting •
AI時代でiOSアプリはみんなApp Intentsを導入する前提になってい くかもねという話(そうなるといいよねみたいな話)
AI時代 • みんなAIの話してるし、みんなAI使ってるし、AIが全部やってる • 最近自分も実装はほとんどAIがやっている
AIがやること・人がやること • AIは言語化された領域を推進 (電子空間で表現できる活動を広く担う) • 人は言語化されていない領域、電子空間の外側との接続を担当 • その境界では、非言語 → 言語、言語
→ 非言語の変換が必要 • 非言語 → 言語は問題設定であったり、良し悪しの判断軸の提示など • 言語 → 非言語はアウトプットを理解して内面化する作業など
人がやること • 実装上で人でもAIでも難しい所はどうしても存在する • 難しい所をちゃんと理解して問題を検知、改善できる必要がある
例えば Task { let image = try await fetchImage() //
~~ } • どのActorにisolationされている? • nonisolated by defaultは有効?Default Actor Isolationの設定は? • Taskを保持してcancelせず投げっぱなしでいい? • 競合状態(race condition)は発生しない? • Task内で発生したエラーは無視して握り潰していい? • UI側で.taskで作った方がいいのではないか? • 他のTaskがあった場合並行して処理されるけど大丈夫?
例えば Task { let image = try await fetchImage() //
~~ } • 詳細な実装仕様の詰めを怠ると エッジケースの考慮漏れや調査の難しい原因不明な不具合に繋がりやすい • 例示した非同期処理は順番や組み合わせによって意図しないわかりにく い不具合も混入しやすく、人でもAIでも判別が難しいことがある • DBへの保存など後から取り返しが効きにくいケースでも起こりうる
iOSアプリエンジニアとして • iOSアプリエンジニアとして Appleの推奨する設計、実装、体験を体得する • Swift 6らしい設計を体得すると、 AIの提示した実装を評価できる • 最新のHIGに沿った体験を理解すると、
デザイナーやAIが作ったUIを評価できる
iOSエンジニアとしてやること • • AIは既存コードを参照して実装パターンを再利用する • AIは良い設計も悪い設計も増幅する • 既存のコードベースを綺麗な状態に保つことが重要 一方で、良い設計とは何かは人が判断基準を提示する必要がある •
人が保有する非言語のスキルを言語化し、 AIが継続的に適用・評価するためのスキルとして昇華する
iOSエンジニアとしてやること • 判断基準の例 • UI実装では装飾・構造・処理を分割する • 導出可能な状態は保持しない • ユーザーの振る舞いに関係しない内部都合の分岐を増やさない (テスタビリティ向上か不正状態の排除に寄与する場合を除く)
• Actorのisolationは宣言側に付与し、呼び出し側では明示しない • Objective-C 由来の API を避ける DateFormatter, NSRegularExpressionよりFormatStyle, RegexBuilderを選ぶ
言語化を訓練しよう • 言語化/非言語化ができるようになるためには訓練が必要 • 他の人に説明しようとすると、 自分が曖昧に理解していた箇所が見える • Swift愛好会で登壇すると、 自分の関心を深掘りして言語化する訓練になる
まとめ • みんなでもっと知見を共有し合いましょう • 登壇は言語化の訓練になるのでおすすめです • Swift愛好会は言語化の訓練にとても良い場なので感謝