iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0

https://ithelp.ithome.com.tw/upload/images/20230917/20130138bJorb56gmb.jpg
Photo by Tobias Keller on Unsplash

SwiftUI

https://ithelp.ithome.com.tw/upload/images/20230917/20130138mGIitMcvm6.png

這就是 SwiftUI 的開發介面,右邊是 canvas 介面,改左邊的 code,即可 “hot reload”*1 canvas 介面,終於追上 React , Flutter hot reload 開發法,更改最右側的 Attributes Inspector 參數,還會同步改code

( *1 : Hot Reload : 不用重新編譯程式碼,就可以實時看到你修改程式碼之後的畫面。

Tip : 重構時,有時 SwiftUI canvas 不會顯示,請使用 canvas 快捷鍵:Option (⌥) + Command (⌘) + Return (↩)

Storyboard

https://ithelp.ithome.com.tw/upload/images/20230917/20130138iJDSupANw9.png

來來我們比較以前 Storyboard and xib,雖然半個視覺化頁面畫面,但 @IBoutlet, @IBAction, 還要按 command 對上最右側 connections inspector,沒對上就會閃退 🤧,Storyboard and xib 在於多人合作,也怕 XML merge conflict, 但我只是點開 Storyboard 沒動,XML 也會變動?!對!就是這麼驚喜?!

( 謎之音:我是Vim大師,寫 code 到一半還要滑鼠,很卡

https://ithelp.ithome.com.tw/upload/images/20230917/20130138OuJ7DfdN3W.png

Programmatic UI

https://ithelp.ithome.com.tw/upload/images/20230917/201301384yQaOS6wY1.png

純Code開發無論是在"合作性"或"維護性"都優於Storyboard or NIBs。但視覺化還要 Command (⌘) + R , build 專案, build 一次多少青春就沒了 🫠

結論:在未來 SwiftUI,能大大減少 iOS 開發流程,多餘時間思考業務邏輯,寫寫後端寫產品核心。

https://ithelp.ithome.com.tw/upload/images/20230917/20130138NA2UhWvd72.png

但大多數專案還是 UIKit 開發,未來會介紹怎麼用UIHostingController, Storyboard 拉一個頁面, one by one 慢慢重構。


上一篇
Day 2: Create a new SwiftUI project
下一篇
Day 4: SwiftUI 全新的布局系統
系列文
SwiftUI 男孩30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言