<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Router on Tarragon</title><link>https://tarrragon.github.io/blog/tags/router/</link><description>Recent content in Router on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Fri, 19 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/router/index.xml" rel="self" type="application/rss+xml"/><item><title>模組五：導航模式</title><link>https://tarrragon.github.io/blog/ux-design/05-navigation-patterns/</link><pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/ux-design/05-navigation-patterns/</guid><description>&lt;p>回答「畫面之間怎麼跳」。&lt;/p>
&lt;h2 id="對應-findings">對應 findings&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Finding&lt;/th>
 &lt;th>來源&lt;/th>
 &lt;th>內容&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>UF-10&lt;/td>
 &lt;td>&lt;a href="https://tarrragon.github.io/blog/ux-design/cases/missing-enrollment-entry-point/" data-link-title="U.C4 首頁缺配對入口按鈕、導航流未完整列出" data-link-desc="Flutter app 首頁只有 Connect Terminal 按鈕、沒有 Enroll Device 入口 — 使用者首次使用時找不到配對功能。根因是導航流設計只考慮了日常操作（UC-02 連線）、遺漏了首次操作（UC-01 配對）的入口">U.C4&lt;/a>&lt;/td>
 &lt;td>go vs push 語意差異影響 UX — &lt;strong>本模組主寫&lt;/strong>&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="待寫章節">待寫章節&lt;/h2>
&lt;ul>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Mobile 導航模式分類（push/pop / declarative router / tab / drawer）&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Flutter GoRouter 導航設計&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> iOS HIG vs Material Design 導航差異&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Deep link 設計&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> go vs push vs pushReplacement 的 UX 語意表&lt;/li>
&lt;/ul>
&lt;h2 id="跨分類引用">跨分類引用&lt;/h2>
&lt;ul>
&lt;li>← &lt;a href="https://tarrragon.github.io/blog/ux-design/01-screen-state-machine/" data-link-title="模組一：畫面狀態機設計" data-link-desc="畫面狀態矩陣（顯示 / 操作 / 進入 / 退出）— 退出路徑為空 = UX 死胡同">ux-design 模組一&lt;/a>：狀態矩陣的「退出路徑」欄位決定用 go 還是 push&lt;/li>
&lt;li>→ &lt;a href="https://tarrragon.github.io/blog/testing/04-ui-automation/" data-link-title="模組四：自動化 UI 驗證" data-link-desc="Widget test 的狀態覆蓋策略、Playwright 驗證流程、螢幕狀態 coverage">testing 模組四&lt;/a>：導航路徑需要 widget test 驗證&lt;/li>
&lt;/ul></description><content:encoded><![CDATA[<p>回答「畫面之間怎麼跳」。</p>
<h2 id="對應-findings">對應 findings</h2>
<table>
  <thead>
      <tr>
          <th>Finding</th>
          <th>來源</th>
          <th>內容</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>UF-10</td>
          <td><a href="/blog/ux-design/cases/missing-enrollment-entry-point/" data-link-title="U.C4 首頁缺配對入口按鈕、導航流未完整列出" data-link-desc="Flutter app 首頁只有 Connect Terminal 按鈕、沒有 Enroll Device 入口 — 使用者首次使用時找不到配對功能。根因是導航流設計只考慮了日常操作（UC-02 連線）、遺漏了首次操作（UC-01 配對）的入口">U.C4</a></td>
          <td>go vs push 語意差異影響 UX — <strong>本模組主寫</strong></td>
      </tr>
  </tbody>
</table>
<h2 id="待寫章節">待寫章節</h2>
<ul>
<li><input checked="" disabled="" type="checkbox"> Mobile 導航模式分類（push/pop / declarative router / tab / drawer）</li>
<li><input checked="" disabled="" type="checkbox"> Flutter GoRouter 導航設計</li>
<li><input checked="" disabled="" type="checkbox"> iOS HIG vs Material Design 導航差異</li>
<li><input checked="" disabled="" type="checkbox"> Deep link 設計</li>
<li><input checked="" disabled="" type="checkbox"> go vs push vs pushReplacement 的 UX 語意表</li>
</ul>
<h2 id="跨分類引用">跨分類引用</h2>
<ul>
<li>← <a href="/blog/ux-design/01-screen-state-machine/" data-link-title="模組一：畫面狀態機設計" data-link-desc="畫面狀態矩陣（顯示 / 操作 / 進入 / 退出）— 退出路徑為空 = UX 死胡同">ux-design 模組一</a>：狀態矩陣的「退出路徑」欄位決定用 go 還是 push</li>
<li>→ <a href="/blog/testing/04-ui-automation/" data-link-title="模組四：自動化 UI 驗證" data-link-desc="Widget test 的狀態覆蓋策略、Playwright 驗證流程、螢幕狀態 coverage">testing 模組四</a>：導航路徑需要 widget test 驗證</li>
</ul>
]]></content:encoded></item></channel></rss>