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
18
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
52
ViewModelって200種類あんねん
yuukiw00w
0
42
Validate your App Intents adoption with AppIntentsTesting
yuukiw00w
0
43
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
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
560
T3DD26: From RAGs to Riches
martinhelmich
0
110
AWS Transform Customによる Spring Boot 2.xから4.xへのVerUp
satoshi256kbyte
2
110
仕様駆動開発の消費期限
watany
20
9.1k
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
250
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
280
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
450
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
200
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
570
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
120
Oxlintはいいぞ(続)
yug1224
1
480
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.1k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Un-Boring Meetings
codingconduct
0
400
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
Visualization
eitanlees
152
17k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
310
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
HDC tutorial
michielstock
2
820
Designing Powerful Visuals for Engaging Learning
tmiket
1
510
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
420
Test your architecture with Archunit
thirion
2
2.4k
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愛好会は言語化の訓練にとても良い場なので感謝