Sill 是開發者 Noah Saffer 製作的開源軟體,用來把 Mac 上任何一個視窗的畫面,即時串流到 iPhone 或 iPad 上顯示,並讓使用者用觸控、Apple Pencil、外接鍵盤或滑鼠反過來操作 Mac 上的那個視窗,解決的是想在平板上遠端使用某個 Mac 應用程式的需求。
技術上 Mac 端的程式常駐在選單列,使用蘋果的 ScreenCaptureKit 擷取視窗畫面,再透過 VideoToolbox 硬體編碼成 HEVC 影片格式,整個連線用 TLS 1.3 加密傳輸;iPhone 與 iPad 端負責解碼顯示畫面,並優先降低延遲,必要時會主動丟棄畫面以換取即時反應,另外也支援文字剪貼簿同步。
這個專案值得注意的地方,是它完全只用 Swift 與蘋果官方框架完成,沒有任何第三方套件依賴,並以 Apache 2.0 授權開源釋出,不收費、沒有廣告也不追蹤使用者,支援本機網路、USB、直接無線連線與 VPN(例如 Tailscale)等多種連線方式。
這則新聞對學程式的孩子很有參考價值,因為它示範了一個單人開發者如何只靠蘋果公開的螢幕擷取與影音編碼框架,就做出一個完整可用的跨裝置串流工具,說明學好一個平台的官方 API,就能做出貼近真實需求的產品,不一定要依賴很多外部函式庫。
開源開發工具App蘋果生態