aDict 3.0 不是 2.x 的小改版,而是一次架構重寫。這次重寫的重點不是先做 UI 大改,而是把舊工程中混在 controller、全域狀態、WebView bridge、本地 server、JS MDict parser 之間的責任重新拆開。
3.0 的核心方向是讓 aDict 保留為 Apple 平台 app shell,讓 MDictCLI 作為獨立 Swift Package 承擔 native MDict parser 與 CLI 驗證,並以 aDictProtocol 固定 lookup / suggest / resources 的穩定語義。WebView 仍是詞典內容的主要渲染層,但不再反向定義 lookup domain model。
舊版 aDict 已經證明產品方向成立:輕巧、美觀、支援 iOS / iPad / macOS,並在 2.0 引入 Words、MDict、iCloud 同步,在 2.4 改為一次性買斷。
因此 3.0 的第一任務是重建架構邊界,而不是先追求功能堆疊。
3.0 應採用「新殼層 + 舊行為對照」模式。舊工程保留為行為參考,不作為新架構的核心依賴。新工程第一版只需要打通主查詞鏈路:使用者輸入單詞,App Shell 建立 lookup request,Dictionary Service 分派 provider,Provider 回傳標準化 lookup response,Render Contract 轉交 WebView Runtime,最後由 WebView 顯示內容。