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
WWDC26参加レポート ~In Person Labはいいぞ~
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kntk
June 19, 2026
Programming
110
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WWDC26参加レポート ~In Person Labはいいぞ~
Recap of WWDC26 Mercari
kntk
June 19, 2026
More Decks by kntk
See All by kntk
App Intentsのビルドプロセスを支える技術
kntkymt
0
720
Swiftのレキシカルスコープ管理
kntkymt
0
330
"奇妙"なSwift
kntkymt
3
410
SwiftのSIMDとその利用方法
kntkymt
2
350
Swiftのオーバーロード選択のスコア規則21種類
kntkymt
0
240
Meet high-performance image filtering in Swift
kntkymt
0
200
プログラミングを始めてからiOSエンジニアになるまで
kntkymt
0
1.8k
SwiftUIでの非同期処理データの状態管理を考える
kntkymt
1
2.6k
大学で出席管理アプリ・掲示板閲覧アプリを開発・運用している学生の話
kntkymt
1
2.8k
Other Decks in Programming
See All in Programming
最近”作らせてる” ローカルAIアプリの話
akit37
0
520
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
240
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
200
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
1.1k
No More NoSuchMethodError
exoego
1
120
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
7.1k
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
220
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.1k
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
210
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
140
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
130
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
6k
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
510
What's in a price? How to price your products and services
michaelherold
247
13k
Accessibility Awareness
sabderemane
1
280
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Everyday Curiosity
cassininazir
0
380
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
320
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
290
HDC tutorial
michielstock
2
990
The browser strikes back
jonoalderson
0
1.9k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
370
Transcript
88%$ࢀՃϨϙʔτ ʙ*O1FSTPO-BC͍͍ͧʙ !LOUL 88%$3FDBQ!ϝϧΧϦ
88%$ఔ %BZ 3FDFQUJPO %BZ ,FZOPUF 1MBUGPSN4UBUFPGUIF6OJPO *O1FSTPO-BC %BZ %FWFMPQFS4FTTJPO
88%$ఔ %BZ 3FDFQUJPO %BZ ,FZOPUF 1MBUGPSN4UBUFPGUIF6OJPO *O1FSTPO-BC %BZ %FWFMPQFS4FTTJPO
*O1FSTPO-BC w"QQMFͷΤϯδχΞʹࣗ༝ʹ࣭Ͱ͖Δ࣌ؒ
*O1FSTPO-BC w"QQMFͷΤϯδχΞʹࣗ༝ʹ࣭Ͱ͖Δ࣌ؒ wݱͰ͔͠ମݧͰ͖ͳ͍ΠϕϯτͷҰͭ
*O1FSTPO-BC w"QQMFͷΤϯδχΞʹࣗ༝ʹ࣭Ͱ͖Δ࣌ؒ wݱͰ͔͠ମݧͰ͖ͳ͍ΠϕϯτͷҰͭ wࣄલʹ࣭จࢿྉΛ༻ҙ͢ΔͱମݧΛ࠷େԽͰ͖Δ
*O1FSTPO-BC w"QQ*OUFOUTͷ࣮ߦϓϩηεʹ͍ͭͯ wඇυΩϡϝϯτڍಈ
"QQ*OUFOUTͷ࣮ߦϓϩηε @AppIntent(schema: .system.search) struct ShowInAppSearchResultsIntent: AppIntent { var criteria: StringSearchCriteria
func perform() async throws -> some IntentResult { // ԿΒ͔ͷॲཧ return .result() } }
"QQ*OUFOUTͷ࣮ߦϓϩηε @AppIntent(schema: .system.search) struct ShowInAppSearchResultsIntent: AppIntent { var criteria: StringSearchCriteria
func perform() async throws -> some IntentResult { // ԿΒ͔ͷॲཧ return .result() } } QFSGPSNؔͲͷϓϩηεͰݺΕΔʁ
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹ w݅ʹԠͯ͡બ
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ w *OUFOU͕0QFO*OUFOU TVQQPSUFE.PEFGPSFHSPVOE ͷ߹ w ৗʹΞϓϦϓϩηε w *OUFOU͕UBSHFUͷॲཧ͔ΒτϦΨʔ͞Εͨ߹ɹ#VUUPO JOUFOU
ͳͲ w ͦͷUBSHFUͷϓϩηε w *OUFOU͕γεςϜ͔ΒτϦΨʔ͞Εͨ߹ w ΞϓϦϓϩηε͕ੜ͖͍ͯΕΞϓϦϓϩηε w ΞϓϦϓϩηε͕ࢮΜͰ͍ΕଞUBSHFUϓϩηε
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ IUUQTHJUIVCDPNLOULZNUJPTBQQJOUFOUTTBNQMFUSFFNBJONVMUJUBSHFUTTIBSFEJOUFOUQSPDFTT
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹ w݅ʹԠͯ͡બ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 )J ͲΜͳ࣭Λ͖࣋ͬͯͨΜ͍ͩʁ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 "QQ*OUFOUTͷ࣮ߦϓϩηεϧʔϧ ʹ͍ͭͯฉ͖͍ͨ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 ͳΔ΄Ͳʂ ͦͷΤϦΞʹৄ͍͠ΤϯδχΞ
͕͍Δ͔ΒҊ͢ΔΑʂ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 ൴͕"QQ*OUFOUTͷ࣮ߦϓϩηε ʹ͍ͭͯฉ͖͍ͨΒ͍͠ʂ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 ͪΖΜʂ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 "QQ*OUFOUT͕୯ҰͷUBSHFUͷΈʹ ϦϯΫ͞Ε͍ͯΔ߹ʜ
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹ w݅ʹԠͯ͡બ
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ:FT wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹ w݅ʹԠͯ͡બ:FT
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w *OUFOU͕0QFO*OUFOU TVQQPSUFE.PEFGPSFHSPVOE ͷ߹ w ৗʹΞϓϦϓϩηε w *OUFOU͕UBSHFUͷॲཧ͔ΒτϦΨʔ͞Εͨ߹ɹ#VUUPO JOUFOU
ͳͲ w ͦͷUBSHFUͷϓϩηε w *OUFOU͕γεςϜ͔ΒτϦΨʔ͞Εͨ߹ w ΞϓϦϓϩηε͕ੜ͖͍ͯΕΞϓϦϓϩηε w ΞϓϦϓϩηε͕ࢮΜͰ͍ΕଞUBSHFUϓϩηε
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w *OUFOU͕0QFO*OUFOU TVQQPSUFE.PEFGPSFHSPVOE ͷ߹ w ৗʹΞϓϦϓϩηε w *OUFOU͕UBSHFUͷॲཧ͔ΒτϦΨʔ͞Εͨ߹ɹ#VUUPO JOUFOU
ͳͲ w ͦͷUBSHFUͷϓϩηε w *OUFOU͕γεςϜ͔ΒτϦΨʔ͞Εͨ߹ w ΞϓϦϓϩηε͕ੜ͖͍ͯΕΞϓϦϓϩηε w ΞϓϦϓϩηε͕ࢮΜͰ͍ΕଞUBSHFUϓϩηε 😄͓͓ɺ߹ͬͯΔΑʂͦ͏ͦ͏ɺ͜͏͍͏ෳࡶͳϧʔϧ͕͋ΔΜͩΑͶ
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ 😄͋ͱɺ࣮J04͔ΒϓϩύςΟͰϓϩηεΛࢦఆͰ͖ΔΑ͏ʹͨ͠Αʂ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBQQJOUFOUTBQQJOUFOUBMMPXFEFYFDVUJPOUBSHFUTLPM
*O1FSTPO-BC w"QQMFͷΤϯδχΞʹࣗ༝ʹ࣭Ͱ͖Δ࣌ؒ w࣌ؒఔ wͪ࣌ؒগͳ͍ͷͰ࣌ؒʹ༨༟͋Δ
*O1FSTPO-BC࣭༰ w"QQ*OUFOUTͷ࣮ߦϓϩηεʹ͍ͭͯ w"QQ4DIFNBͷޓੑ w'FFECBDL"TTJTUBOUͰใࠂͨ͠όάΛฉ͖ʹߦ͘
*O1FSTPO-BC࣭༰ w"QQ*OUFOUTͷ࣮ߦϓϩηεʹ͍ͭͯ w"QQ4DIFNBͷޓੑ w'FFECBDL"TTJTUBOUͰใࠂͨ͠όάΛฉ͖ʹߦ͘
w "TTJTUBOU4DIFNBͱ͍͏໊લͰ9DPEF4%,͔Βଘࡏ "QQ4DIFNBͷޓੑ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBQQJOUFOUTBTTJTUBOUTDIFNBTTZTUFNJOUFOU
w "TTJTUBOU4DIFNBͱ͍͏໊લͰ9DPEF4%,͔Βଘࡏ w 9DPEF4%,͔Β"QQ4DIFNBϦωʔϜ "QQ4DIFNBͷޓੑ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBQQJOUFOUTBQQTDIFNBTZTUFNJOUFOU
w "TTJTUBOU4DIFNBͱ͍͏໊લͰ9DPEF4%,͔Βଘࡏ w 9DPEF4%,͔Β"QQ4DIFNBϦωʔϜ w "QQ*OUFOUͰͷར༻ํ๏ಉ͡ʢιʔεޓʣ "QQ4DIFNBͷޓੑ
w "TTJTUBOU4DIFNBͱ͍͏໊લͰ9DPEF4%,͔Βଘࡏ w 9DPEF4%,͔Β"QQ4DIFNBϦωʔϜ w "QQ*OUFOUͰͷར༻ํ๏ಉ͡ʢιʔεޓʣ w J04 ʹόοΫϙʔτ͞Ε͍ͯΔ "QQ4DIFNBͷޓੑ
"QQ4DIFNBͷޓੑ @AppIntent(schema: .system.search) struct ShowInAppSearchResultsIntent: AppIntent { var criteria: StringSearchCriteria
func perform() async throws -> some IntentResult { // ԿΒ͔ͷॲཧ return .result() } }
"QQ4DIFNBͷޓੑ 😄 "QQ*OUFOUTΤϦΞ 9DPEF "TTJTUBOU4DIFNBͰϏϧυͨ͠ΞϓϦ J04ͷ4JSJ"*͔ΒೝࣝͰ͖Δʁ
"QQ4DIFNBͷޓੑ 😄 "QQ*OUFOUTΤϦΞ جຊతʹͰ͖ΔΑʂ
"QQ4DIFNBͷޓੑ 😄 "QQ*OUFOUTΤϦΞ جຊతʹͰ͖ΔΑʂ 9DPEFͰϏϧυ࣮͚ͤ֬ͩ͠Ͳ ͠ͳͯ͘େৎͳ4DIFNB͋ΔΑ
w 9DPEF "TTJTUBOU4DIFNBͰ4JSJ"*ରԠΞϓϦΛϦϦʔεͰ͖Δʂ "QQ4DIFNBͷޓੑ
"QQ4DIFNBͷཪଆ wϏϧυ࣌ʹ.FUBEBUBBQQJOUFOUTΛग़ྗ
"QQ4DIFNBͷཪଆ wϏϧυ࣌ʹ.FUBEBUBBQQJOUFOUTΛग़ྗ
"QQ4DIFNBͷཪଆ wFYUSBDUBDUJPOTEBUB KTPO { "actions": { "SearchItemIntent": { "assistantDefinedSchemaTraits": [],
"assistantDefinedSchemas": [ { "domain": "system", "name": "ShowInAppSearchResultsIntent", "version": "1.0.0" } ], "authenticationPolicy": 0, "availabilityAnnotations": { "LNPlatformNameWildcard": { "introducedVersion": "*" } },
"QQ4DIFNBͷཪଆ wFYUSBDUBDUJPOTEBUB KTPO w4JSJ͕SVOUJNFͰಡΈऔΔ
"QQ4DIFNBͷཪଆ ✅͍͔ͭ͘ͷ4DIFNB9DPEFલޙͰ NFUBEBUBग़ྗʹ͕ࠩͳ͍͜ͱΛ֬ೝ
*O1FSTPO-BC࣭༰ w"QQ*OUFOUTͷ࣮ߦϓϩηεʹ͍ͭͯ w"QQ4DIFNBͷޓੑ w'FFECBDL"TTJTUBOUͰใࠂͨ͠όάΛฉ͖ʹߦ͘
*O1FSTPO-BC·ͱΊ w࣭ΛӳޠͰࣄલʹ༻ҙ͓ͯ͘͠ wϝϞΞϓϦɺจষΛݟͤΒΕΔܗ͕ྑ͍ wʢͰ͖ͨΒʣΤϏσϯε༻ҙ͢Δ w࣭ଟΊʹ༻ҙ͢Δͱྑ͍ w'"μΠϨΫτΞλοΫޮՌత
͓·͚7JTVBM*OUFMMJHFODFࢀߟࢿྉ w 88%$ΞϓϦʹϏδϡΞϧΠϯςϦδΣϯεΛ౷߹͢ΔͨΊͷϕετϓϥΫςΟε w IUUQTEFWFMPQFSBQQMFDPNKQWJEFPTQMBZXXED w ެࣜαϯϓϧίʔυ w IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPO"QQ*OUFOUTBEPQUJOHBQQJOUFOUTUP TVQQPSUTZTUFNFYQFSJFODFT
w LOULͷαϯϓϧίʔυʢ࠷খߏίʔυʹͳ͍ͬͯΔͷͰ͓͢͢ΊͰ͢ʣ w IUUQTHJUIVCDPNLOULZNUJPTBQQJOUFOUTTBNQMFUSFFNBJOWJTVBMJOUFMMJHFODF QSPDFTT