許多人對 SwiftUI 抱持高度興趣,想找機會來使用與學習。但是實際玩過以後會發現它的成熟度還不足以取代 UIKit,作為開發 iOS app 的主要 UI 框架。開發者普遍的共識是,在 iOS 13 使用 SwiftUI 的風險很大,用在 side project 或小型專案還可以,但不適用於商業上的應用。
難道 SwiftUI 就無用武之地嗎?2019 年第一版它只能當玩具嗎?其實 Apple 規劃出一個很不錯的路線,讓 SwiftUI 可以用在商業應用上,只是很容易被開發者忽略——watchOS 6 才是 SwiftUI 在今年發揮作用的平台。
watchOS 6 在開發方面有幾個特色:
1. 因為 Swift ABI 穩定,app 體積小,安裝到實機開發節省相當多時間
2. 可以使用 SwiftUI,不再受限 WKInterface
3. 可以獨立打包上架,不一定要有 iOS app
4. WKExtendedRuntimeSession 增加了好幾個應用情境
過去 watch app 很少人開發,很大的原因就是上述幾點困難尚未被克服。既然開發者大多都沒有寫過、甚或移除了原有的 watch app,watchOS 6 + SwiftUI 或許就是很好的重新來一次的機會,也可以想出許多 side project 的題目。