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
41
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
3
1k
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
390
ネイティブiOSアプリだからできること
yuukiw00w
0
52
uhooiさん発ランダムタスクにチャレンジしよう!
yuukiw00w
1
88
ViewModelって200種類あんねん
yuukiw00w
0
66
Validate your App Intents adoption with AppIntentsTesting
yuukiw00w
0
62
App Intentsを実装しよう
yuukiw00w
0
63
iOS26時代の新規アプリ開発
yuukiw00w
0
280
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
420
Other Decks in Programming
See All in Programming
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
7k
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
1.2k
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.9k
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
140
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
300
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
130
AI-Powered Domain-Driven Design
ziobrando
0
350
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
160
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.2k
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
12
11k
No More NoSuchMethodError
exoego
1
120
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
210
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
600
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
290
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
440
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
870
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
530
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
650
New Earth Scene 8
popppiees
4
2.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
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愛好会は言語化の訓練にとても良い場なので感謝