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
野瀬田とSwift愛好会
Search
野瀬田 裕樹
August 29, 2026
Programming
15
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 野瀬田 裕樹
uhooiさん発ランダムタスクにチャレンジしよう!
yuukiw00w
1
50
ViewModelって200種類あんねん
yuukiw00w
0
42
Validate your App Intents adoption with AppIntentsTesting
yuukiw00w
0
42
App Intentsを実装しよう
yuukiw00w
0
38
iOS26時代の新規アプリ開発
yuukiw00w
0
260
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
370
Human Interface Guidelines 2
yuukiw00w
0
82
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
290
HIG学習用スライド
yuukiw00w
0
210
Other Decks in Programming
See All in Programming
リアルな遅延を測る仕様
kota_yata
1
130
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
1
2k
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
500
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.1k
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
5
540
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.2k
Deep dive into the select statement (GopherCon UK)
jespino
0
130
ALB ログから Trace を気合で繋げる技術
fohte
6
720
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
280
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
170
仕様駆動開発の消費期限
watany
20
9k
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
310
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
180
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
210
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
870
The SEO identity crisis: Don't let AI make you average
varn
0
540
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
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愛好会は言語化の訓練にとても良い場なので感謝