46: 推你入坑 SwiftUI 不後悔

weak self - A podcast by 一三、波肥

Categories:

好,寫了!

{ 完整節目筆記 https://weakself.dev/episodes/46 }

Last year, it felt like I was experimenting with SwiftUI. This year, it feels like I’m building a real app. - MengTo
  • 13 不想錄音,想去寫 SwiftUI
  • 今天來傳教的
  • 之前曾說過寫 iOS 寫到膩,主要就是對 UIKit 感到厭煩
  • 去年的 SwiftUI 坑太多,沒有實際用途
  • 今年完成度很高,很好玩。很久沒有這麼「快樂」了(這不是反串)

SwiftUI 是什麼?

  • 所見即所得的 UI / app 開發
  • 所有 Apple 平台都可以用

為什麼要學 SwiftUI?

  • Xcode 12 快很多:code completion、preview update cycle
  • 從 Preview 可以很容易變更外觀
  • 直接跑在裝置上的 Preview,可以拔起來去拿給同事看。甚至可以把幾乎整個 app 跑起來
  • LazyV/HStack、OutlineGroup 等可以建出比較複雜但輕快的 UI
  • 連 App 也可以是一個 struct。整個 app 的主要 UI 架構可以幾行 code 搞定(例如 TabView 包什麼東西)
  • 甚至還有 DocumentApp 這種東西,直接幫你包好
  • 程式碼少很多改很快,這真的是未來

怎麼導入現有專案

  • 需要 iOS 13+,建議 iOS 14
  • 需要 Xcode 12
  • 跟設計師研究怎麼樣使用 Xcode SwiftUI Library 建立一些 design guidline 或 components
  • 自己找 side project 亂試
  • 試試看用 SwiftUI 重刻既有的 UI
  • 寫 Widget
  • 寫 App Clips,不要拿原有的 UI,寫個新的
  • 寫 watch app
  • 不一定要 Xcode,Swift Playground 也可以寫(偽 Mac 桌面)
  • 找某些 UIKit 畫面嵌入 SwiftUI(UIHostingController),或是 SwiftUI 不夠用的時候嵌入 UIKit(UIViewRepresentable

參考資料

更多 weak self