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
ひとりNavigation API Advent Calendarの紹介 / Mita.ts #9
Search
yamanoku
December 17, 2025
Technology
230
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ひとりNavigation API Advent Calendarの紹介 / Mita.ts #9
Mita.ts #9
の発表資料
ひとりNavigation API - Qiita Advent Calendar 2025
yamanoku
December 17, 2025
More Decks by yamanoku
See All by yamanoku
SvelteのHTMLはどう解釈されているのか / How Svelte compile HTML
yamanoku
1
320
Navigation APIと見るSvelteKitのWeb標準志向
yamanoku
2
240
Shifting from MCP to Skills / ベストプラクティスの変遷を辿る
yamanoku
5
1.2k
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
4
8.9k
たかがボタン、されどボタン ~button要素から深ぼるボタンUIの定義について~ / BuriKaigi 2026
yamanoku
1
570
DenoとJSRで実現する最速MCPサーバー開発記 / Building MCP Servers at Lightning Speed with Deno and JSR
yamanoku
2
730
転生したらTypeScriptのEnumだった件 ~型安全性とエコシステムの変化で挫けそうになっているんだが~ / TSKaigi 2025
yamanoku
0
86
React 18からのAPI useIDを使おう!/ Let's Use the useID API from React 18
yamanoku
0
210
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
3
2.2k
Other Decks in Technology
See All in Technology
人間はどの意思決定を手放せるのか
kawasima
15
7.6k
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
9
1k
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
3
1k
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
260
Issue 駆動でスペシャリストの意図を届ける、AI 実装のアクセシビリティ向上
thkt
0
120
What the customer really needed
kawaguti
PRO
3
210
ScotSecure West 2026 - Glasgow
raybugg
0
140
あけおめLINE 傾向とその対策
nasa9084
0
180
Reactの設計論
uhyo
24
14k
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.8k
Minecraft JavaのMODをSwiftで作る
1mash0
0
190
AIは推し活である。
kurazuuuuuu
1
900
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
Paper Plane
katiecoart
PRO
4
53k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Documentation Writing (for coders)
carmenintech
77
5.5k
Done Done
chrislema
186
16k
sira's awesome portfolio website redesign presentation
elsirapls
0
420
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Site-Speed That Sticks
csswizardry
13
1.5k
Building an army of robots
kneath
307
46k
Transcript
ひとり Navigation API Advent Calendar
2025年
まもなく 終わりますね
今年は 何があったかな
フロントエンド エコシステムを 見渡してみる
• React Compiler v1リリース • Nuxt v4リリース • RemixのWeb標準による新アーキテクチャ •
Vitest Browser Mode安定化 • Biome v2リリース • Base UI v1リリース、shadcn/uiへの登用 • TypeScript Goでのネイティブ実装 • Vite +(plus) 発表 • npmリポジトリへのサプライチェーン攻撃 • React2Shell 等
私が注目した 2025年の出来事
Interop 2025
Interop?
Web APIの クロスブラウザ 相互運用性を 高めるプロジェクト
• CSS Anchor positioning • backdrop-filter • Core Web Vitals
• <details> element • Layout • JavaScript Modules • Navigation API • Pointer and Mouse events • @scope • scrollend event • Storage Access API • text-decoration • URLPattern • View Transition API • WebAssembly • Web Compat • WebRTC • Writing modes • Mutation Event 削除
私が 注目している Web API
Navigation API
これは何が できるの?
SPAの ユーザー体験を 向上させる Web API
もう少し 具体的に言うと
SPA開発に必要な History APIを 使いやすくしたもの
そもそも History APIって?
ブラウザの 閲覧履歴を 制御するもの
history.forward()
history.back()
history.go()
history.pushState() history.replaceState()
scrollRestoration
History APIは SPAのどの部分で 活用されてる?
クライアント ルーティング
History APIは SPAの構築に 必要なWeb API
しかしながら
History API には 問題があります
履歴を残すのが 難しい
履歴はふとした リンク操作で 書き換わってしまう
Safari iOSでの pushStateの 回数制限
30秒間に100回の pushState呼び出しで SecurityError
遷移処理を止めると 履歴が差し変わる ことがある
履歴を復元する 処理を作らないと いけない
アクセシビリティ観点
手続き的な フォーカス管理が やりづらい
たいへん
そこで登場
Navigation API
履歴の管理を 永続的なものに
遷移途中に 割り込み処理を 入れられるように
フォーカス管理も しやすくなった
いいね
ところで
None
型情報は?
TypeScript 3.9では 一部型情報が 使えます
2つ以上の ブラウザエンジンが 対応したら 正式に反映される
Chrome 102 Release date 2022-05-24 Edge 102 Release date 2022-05-31
Safari 26.2 Release date 2025-12-12 Firefox 147 Release date 2026-01-13
来年には 全ブラウザで 安定して使える (予定)
つまり
2026年は Navigation API 元年
使うなら ちゃんと 理解したい
予習しておこう
そういえば
今って 12月ですね
12月といえば
Advent Calendar
というわけで
ひとりNavigation API Advent Calendarをやっています!
• Navigation APIとは何? • 一次情報源まとめ ◦ Navigation API、History API ◦
ルーティングライブラリ集 • History APIの問題点 • Navigation APIインターフェイス、メソッドを見る • interceptとは何? • クライアントサイドルーティングを実装してみる • React Router、Vue RouterのHistory API実装を見る • uhyoさんが作ったルーティングライブラリの実装を見る 等
あと8日
最後まで 走り切ります
#ひとりNavigation_API_Advent_Calendar
発表者紹介
• 一児の父 • 会社員 • PodCast User ◦ お元気ですか .fm
• @yamanoku ◦ X ◦ GitHub ◦ BlueSky やまのく
ご清聴 ありがとう ございました