dramaling-vocab-learning/web-vs-app-comparison.md

9.3 KiB
Raw Blame History

網頁版 vs App 版 成本與可行性比較分析

執行摘要

🎯 結論:網頁版確實成本更低!

成本降低幅度

  • 開發成本:減少 40-50%
  • 維運成本:減少 30-40%
  • 上架費用:減少 100% (省 NT$ 4,100/年)
  • 開發時間:減少 30% (3個月→2個月)

1. 成本對比表

1.1 初期成本比較 (前3個月)

項目 App 版 網頁版 差異 說明
上架費用
Apple Developer NT$ 3,300/年 NT$ 0 -100% 網頁不需要
Google Play NT$ 800 NT$ 0 -100% 網頁不需要
開發工具
開發環境設置 2-3 天 0.5 天 -80% 網頁環境簡單
測試設備 NT$ 10,000 NT$ 0 -100% 瀏覽器即可
技術成本
跨平台處理 -60% 響應式即可
版本更新 需審核 即時 -100% 無需等待
總計 NT$ 14,100 NT$ 0 -100%

1.2 開發時間成本

階段 App 版 網頁版 節省時間
環境設置 1 週 1 天 6 天
UI 開發 4 週 2 週 2 週
平台適配 2 週 3 天 1.5 週
測試除錯 2 週 1 週 1 週
上架流程 1 週 0 天 1 週
總計 10 週 4.5 週 5.5 週

1.3 維運成本比較 (月)

項目 App 版 網頁版 差異
伺服器/主機 NT$ 0 NT$ 500 +500
CDN NT$ 0 NT$ 300 +300
版本維護 NT$ 5,000 NT$ 2,000 -3,000
Bug 修復速度 1-2 週 即時 -90%
月總計 NT$ 5,000 NT$ 2,800 -44%

2. 技術架構對比

2.1 App 版架構 (Flutter)

優點:
  - 原生效能
  - 離線功能完整
  - 推播通知
  - 設備 API 存取
  - App Store 曝光

缺點:
  - 開發成本高
  - 更新需審核 (1-7天)
  - 需要多平台測試
  - 上架費用
  - 維護複雜

2.2 網頁版架構 (建議)

技術棧:
  前端: Next.js 14 + TypeScript
  UI: Tailwind CSS + shadcn/ui
  狀態: Zustand
  資料: TanStack Query

優點:
  - 開發快速
  - 即時更新
  - 無需下載
  - SEO 優勢
  - 跨平台完美

缺點:
  - 無推播通知 (可用 Web Push)
  - 離線功能受限
  - 無 App Store 流量

3. 網頁版 MVP 技術方案

3.1 推薦技術棧

// 核心技術選擇
{
  "frontend": {
    "framework": "Next.js 14", // App Router + Server Components
    "language": "TypeScript",
    "styling": "Tailwind CSS",
    "components": "shadcn/ui", // 免費、美觀、可客製
    "state": "Zustand", // 輕量級狀態管理
    "fetching": "TanStack Query"
  },
  "backend": {
    "api": "Next.js API Routes", // 或 Supabase Edge Functions
    "database": "Supabase",
    "auth": "Supabase Auth", // 比 Firebase Auth 更適合網頁
    "storage": "Supabase Storage"
  },
  "deployment": {
    "hosting": "Vercel", // 免費額度夠用
    "domain": "Namecheap", // NT$ 300/年
    "cdn": "Vercel CDN", // 內建免費
    "analytics": "Vercel Analytics" // 免費版夠用
  }
}

3.2 網頁版專案結構

linguaforge-web/
├── app/                    # Next.js App Router
│   ├── (auth)/            # 認證相關頁面
│   │   ├── login/
│   │   └── register/
│   ├── (app)/             # 主應用頁面
│   │   ├── dashboard/
│   │   ├── cards/
│   │   ├── review/
│   │   └── settings/
│   ├── api/               # API Routes
│   │   ├── cards/
│   │   └── gemini/
│   ├── layout.tsx
│   └── page.tsx
├── components/
│   ├── ui/                # shadcn/ui 元件
│   ├── cards/
│   └── layout/
├── lib/
│   ├── supabase.ts
│   ├── gemini.ts
│   └── utils.ts
├── hooks/
│   ├── useAuth.ts
│   ├── useCards.ts
│   └── useReview.ts
└── public/

3.3 快速開發範例

// app/api/gemini/route.ts
import { GoogleGenerativeAI } from '@google/generative-ai';
import { NextResponse } from 'next/server';

const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY!);

export async function POST(request: Request) {
  const { sentence, targetWord } = await request.json();

  const model = genAI.getGenerativeModel({ model: "gemini-pro" });

  const prompt = `生成詞彙卡片...`;
  const result = await model.generateContent(prompt);

  return NextResponse.json(result);
}

4. 網頁版 MVP 開發時程 (8週)

Phase 1: 基礎建設 (Week 1)

Day 1-2:
  - Next.js 專案初始化
  - Supabase 設置
  - 基礎路由架構

Day 3-4:
  - 認證系統
  - 基礎 UI 元件

Day 5:
  - 部署到 Vercel
  - 環境變數設置

Phase 2: 核心功能 (Week 2-4)

Week 2: AI 生成
  - Gemini API 整合
  - 生成介面
  - 結果顯示

Week 3: 詞卡管理
  - CRUD 操作
  - 列表/詳情頁
  - 搜尋功能

Week 4: 複習系統
  - SM-2 演算法
  - 複習介面
  - 進度追蹤

Phase 3: 優化上線 (Week 5-6)

Week 5: UI/UX
  - 響應式設計
  - 動畫效果
  - PWA 設置

Week 6: 測試上線
  - 功能測試
  - 效能優化
  - 正式上線

5. 成本效益分析

5.1 網頁版優勢量化

指標 App 版 網頁版 優勢
開發時間 12 週 6 週 快 50%
初期成本 NT$ 35,000 NT$ 5,000 省 86%
月維運成本 NT$ 5,000 NT$ 800 省 84%
更新頻率 每日 靈活度 7x
觸及用戶 需下載 直接訪問 門檻低 90%
A/B 測試 困難 容易 效率 10x

5.2 投資回報率比較

App 版 ROI:
投入: NT$ 35,000 + (5,000 × 6) = 65,000
6個月預期用戶: 1,000
單位成本: NT$ 65/用戶

網頁版 ROI:
投入: NT$ 5,000 + (800 × 6) = 9,800
6個月預期用戶: 2,000 (門檻低,用戶多)
單位成本: NT$ 4.9/用戶

效益提升: 13.3 倍

6. PWA 方案(最佳選擇)

6.1 什麼是 PWA

Progressive Web App = 網頁 + App 體驗

// next.config.js
const withPWA = require('next-pwa')({
  dest: 'public',
  disable: process.env.NODE_ENV === 'development'
});

module.exports = withPWA({
  // Next.js config
});

6.2 PWA 優勢

功能 傳統網頁 PWA 原生 App
安裝到主畫面
離線使用
推播通知
全螢幕
需要上架
即時更新
開發成本

7. 具體省錢策略

7.1 免費資源最大化

免費服務:
  - Vercel: 免費額度足夠 MVP
  - Supabase: 免費版 500MB 資料庫
  - Gemini API: 每月免費額度
  - GitHub: 免費私有儲存庫
  - Cloudflare: 免費 CDN

每月成本: NT$ 0-500

7.2 漸進式投資

第1個月: NT$ 0
  - 使用所有免費額度

第2-3個月: NT$ 500/月
  - 升級 Supabase (需要時)

第4-6個月: NT$ 2,000/月
  - 升級 Vercel Pro
  - 增加 API 額度

8. 轉換策略

8.1 網頁先行App 後續

graph LR
    A[網頁 MVP] -->|2個月| B[驗證市場]
    B -->|成功| C[開發 App]
    B -->|失敗| D[快速 Pivot]
    C -->|3個月| E[雙平台運營]

8.2 技術共用策略

可共用部分:
  - API 後端: 100% 共用
  - 業務邏輯: 80% 共用
  - UI 元件: 60% 共用 (React → React Native)
  - 資料模型: 100% 共用

節省開發時間: 40-50%

9. 決策建議

9.1 選擇網頁版的情況

強烈建議網頁版,如果你:

  • 預算有限 (< NT$ 10,000)
  • 需要快速驗證 (< 2個月)
  • 一個人開發
  • 需要頻繁更新
  • 目標用戶是上班族/學生 (電腦使用多)

9.2 網頁版具體優勢

優勢 影響
成本低 86% 省下 NT$ 30,000
開發快 50% 提前 6 週上線
維護簡單 一個人可應付
SEO 流量 免費獲客管道
即時更新 快速迭代優化
無需審核 想改就改

10. 立即行動計劃

10.1 今天就能開始

# 1. 初始化專案 (10分鐘)
npx create-next-app@latest linguaforge-web --typescript --tailwind --app

# 2. 安裝核心套件 (5分鐘)
npm install @supabase/supabase-js zustand @tanstack/react-query
npm install @google/generative-ai

# 3. 設置 Supabase (20分鐘)
# 訪問 supabase.com 建立專案

# 4. 部署到 Vercel (10分鐘)
vercel

# 完成45分鐘有一個能運行的網站

10.2 第一週目標

  • Day 1: 環境設置 + 基礎頁面
  • Day 2: Supabase Auth 整合
  • Day 3: Gemini API 測試
  • Day 4: 詞卡生成功能
  • Day 5: 部署 + 測試

結論

💡 一句話總結

網頁版成本低 86%、開發快 50%、維護簡單 10 倍,是單人開發者的最佳選擇!

📊 關鍵數據

  • 初期投資NT$ 5,000 (vs App NT$ 35,000)
  • 開發時間6 週 (vs App 12 週)
  • 月營運成本NT$ 800 (vs App NT$ 5,000)
  • 投資回報率:提升 13.3 倍

🎯 建議

強烈建議先做網頁版 PWA

  1. 成本極低,風險可控
  2. 快速驗證2個月見成果
  3. 成功後再開發 App共用 80% 程式碼
  4. 失敗成本小,轉型容易

現在就開始45分鐘後你就有一個能運行的產品原型