index.png

專案概述

本次專案討論的是 SyncPlayer 1.0 向 2.0 的改版過程。1.0 版本 2019 年立案。由於具備歷史性的問題,維護難度日漸困難。所以在 2021 年 10 月,我毅然開始了 2.0 的重寫計畫,使用全新的 Swift 5.5 新特性和 tvOS 15 的相關新特性,以及使用 SwiftUI 進行編寫。

SyncPlayer 是一款多媒體播放 App,面向 tvOS 平台。提供了埋堆堆、對接 VOD API,以及對接了部分影音網站,以滿足使用者在 tvOS 上觀看電視劇、電影,以及維護播放進度的一個 app。

app 首頁

https://www.notion.so/qoli/SyncPlayer-821b80378be241149fa5e9a1bbf6cfdc

特點

01 | 基於 SwiftUI 進行改版開發

SwiftUI 作為一個新的聲明式開發框架,解決了過往使用 Storyboard 開發 UI 的問題。讓代碼管理更為容易以及更加可重用。

02 | 完整的 UI 改版

2.0 推翻了 1.0 的所有 UI 設計,重新思考了所有 1.0 累積的設計問題。並給予了對應的解決方向。

03 | Notion 的 API 後台

本次更新以 Notion 作為 API 後台,由於 SyncPlayer 的數據變動比較少,使用 Notion 作為 API 可以不需開發任何後端程序。

04 | 設計樣式兼容低完善度狀態

SyncPlayer 的數據來自第三方網站,數據狀態不見得在公司企業內的完善以及有專人維護,所以設計上來說,必須能在低完善度的數據狀態下,也有良好的視覺表現。


A | 歷史問題

在幾年的用戶反饋下,SyncPlayer 1.0 累積了很多問題,其中包括有:

  1. CloudKit 的同步時間太長,偶然會出現無限等待的狀態;
  2. 進行擴展來源開發的難度太大,缺乏統一的 Protocol 支持;
  3. 在缺乏資料的狀態下,詳細頁面太難看了;
  4. 使用 Storyboard 維護的 UI 界面,在 xcode 打開速度十分緩慢;