vega-multi-tv-migration

vega-multi-tv-migration

將 Vega OS(Amazon Fire TV)應用程式遷移至支援 Android TV、Apple TV 及其他平台的多平台 React Native 單一儲存庫。涵蓋分析、實作及原生模組整合。適用於將電視應用程式遷移至多平台支援,或建置新的多平台電視應用程式。

4星標
2分支
更新於 2026/6/30
SKILL.md
唯讀
名稱
vega-multi-tv-migration
描述

將 Vega OS(Amazon Fire TV)應用程式遷移至支援 Android TV、Apple TV 及其他平台的多平台 React Native 單一儲存庫。涵蓋分析、實作及原生模組整合。適用於將電視應用程式遷移至多平台支援,或建置新的多平台電視應用程式。

Vega 多平台遷移

概述

將 Vega OS(Fire TV)應用程式遷移至多平台 React Native 單一儲存庫,在 Android TV、Apple TV 及 Vega OS 之間達到 70-85% 的程式碼重複使用率。

適用時機

當使用者提及以下內容時使用此技能:

  • 將 Vega/Fire TV 應用程式遷移至其他平台
  • 建置多平台電視應用程式
  • 將單平台電視應用程式轉換為單一儲存庫
  • 新增 Android TV 或 Apple TV 支援
  • 在電視平台之間共用程式碼
  • 為電視應用程式設定 Yarn Workspaces

階段優先順序指南

優先順序 階段 影響 使用時機
1 分析 關鍵 開始遷移,尚無現有分析
2 實作 關鍵 已有分析,需要單一儲存庫結構
3 平台支援 已有可運作的 Vega 單一儲存庫,新增平台
4 設定 疑難排解建置/解析問題

快速決策樹

使用者有現有 Vega 應用程式?
├─ 是 → 他們有遷移分析嗎?
│  ├─ 否 → 從階段 1(分析)開始
│  └─ 是 → 單一儲存庫已設定?
│     ├─ 否 → 從階段 2(實作)開始
│     └─ 是 → 從階段 3(平台支援)開始
└─ 否 → 從頭開始?
   └─ 是 → 跳過階段 1,從階段 2 開始新專案

快速參考

關鍵:專案結構

# 確認單一儲存庫結構存在
ls -la packages/shared packages/vega packages/expotv

# 檢查 Yarn Workspaces 是否已設定
grep -A5 "workspaces:" package.json

關鍵:相依性分類

常見的分析模式:

  • 共用:商業邏輯、UI 元件、工具程式、狀態管理
  • 平台特定:導航、影片播放器、DRM、原生模組
  • VMRP 相容:可對應至 Vega 等效元件的標準 RN 函式庫

高:VMRP 設定

快速檢查 VMRP 是否正常運作:

# 應看到 @vega-tv/react-native-module-resolver-preset
grep "vmrp" packages/vega/babel.config.js

參考資料

階段 1:分析(analysis-*)

檔案 影響 說明
PHASE1_ANALYSIS.md 關鍵 程式碼庫分析、相依性分類、遷移規劃

使用時機:開始遷移,尚無現有分析文件

階段 2:實作(impl-*)

檔案 影響 說明
PHASE2_IMPLEMENTATION.md 關鍵 單一儲存庫搭建、程式碼遷移、VMRP 設定及範本參考

使用時機:已有分析,準備建置單一儲存庫結構

階段 3:平台支援(platform-*)

檔案 影響 說明
PHASE3_PLATFORM_SUPPORT.md Android TV 與 Apple TV 實作

使用時機:已有可運作的 Vega 單一儲存庫,新增平台

範本

所有設定範本位於 assets/templates/,並附有對應的 .md 文件:

  • root-package.json - Yarn Workspaces 設定
  • root-tsconfig.json - TypeScript 專案參考
  • yarnrc.yml - 相依性去重(關鍵)
  • shared-package.json + .md - 共用套件設定與規則
  • vega-metro.config.js - 含單一儲存庫解析的 Vega Metro
  • expotv-package.json + .md - Expo TV 套件設定
  • expotv-app.json + .md - 含外掛的 Expo TV 設定
  • expotv-metro.config.js - 含電視擴充功能的 Expo Metro

問題 → 技能對應

問題 從哪裡開始
需要分析現有 Vega 應用程式 PHASE1_ANALYSIS.md
已有分析,需要單一儲存庫設定 PHASE2_IMPLEMENTATION.md → 範本
單一儲存庫已存在,新增 Android TV PHASE3_PLATFORM_SUPPORT.md
Metro 解析錯誤 PHASE2_IMPLEMENTATION.md → Metro 設定
React 版本重複 PHASE2_IMPLEMENTATION.md → .yarnrc.yml
VMRP 未對應匯入 PHASE2_IMPLEMENTATION.md → VMRP 章節
TypeScript 路徑錯誤 PHASE2_IMPLEMENTATION.md → TypeScript 設定
原生模組整合 PHASE3_PLATFORM_SUPPORT.md → 原生模組
建置設定問題 PHASE2_IMPLEMENTATION.md → 設定檔
從頭開始 PHASE2_IMPLEMENTATION.md(跳過階段 1)

工作流程

  1. 使用上述決策樹決定起始階段
  2. 載入該階段的對應參考檔案
  3. 遵循每個參考中的「快速入門 → 深入探討」模式
  4. 在每個階段的檢查點進行驗證,再進入下一階段
  5. 使用 VALIDATION_CHECKLIST.md 進行全面驗證

歸屬

基於 Vega OS 多平台遷移模式與 React Native 單一儲存庫最佳實務。