製作 Mac App

AppKit 和 SwiftUI,該用哪一個?

幫新 Mac App、舊程式碼,或兩者混用的 App 選出合適工具。

指南 · 03
01

新 App 可以先試 SwiftUI

SwiftUI 讓你說明畫面在每種狀態下該顯示什麼。許多做法也能用在 iPhone、iPad 和其他 Apple 裝置。如果 App 狀態清楚,而且 SwiftUI 有你需要的控制項,可以先選它。

  • 適合:新畫面、會配合視窗大小調整的版面、預覽,以及跨 Apple 裝置共用的介面。
  • 注意:新的 API 可能缺少功能,也可能改變。你可能還是需要一些只給 Mac 用的程式碼。
02

最在意 Mac 原生行為時,用 AppKit

AppKit 可直接控制 Mac 的視窗、文件、選單、文字、表格和面板。功能很依賴桌面操作時,AppKit 通常比較穩妥。現有 App 已使用 AppKit 時,也可以繼續使用。需要精準控制焦點和視窗時,也適合使用。

  • 適合:文件型 App、進階文字工具、大型表格、自訂視窗和舊有原生程式碼。
  • 注意:你可能要寫更多一步一步執行的程式碼,能和其他 Apple 裝置共用的介面也較少。
03

兩個可以一起用

Apple 允許你在 AppKit 中放入 SwiftUI,也能反過來使用。請用完整功能來分界,先決定哪一邊管理資料和鍵盤焦點,再測試功能開啟、關閉和更新時會發生什麼。不要每個小控制項都換一次工具。