Apple 的產品對於我而言,軟體比硬體更有吸引力。如果說硬體是打基礎的話,軟體則是裝修。硬體是天花板,但沒有軟體一切都等於 0 。昨天晚上看 WWDC2019 看到 3 點半,除了tvOS 以外,每個 OS 都給了我眼前一亮的感覺,像 macOS 的 Sidecar ( RIP Duet Display ),iOS 的 Darkmode, ARkit3 ,watchOS 的噪音檢測,全新的 「watch Store」,以及全新的 ipadOS 系統。這些都是 Apple 為用戶們優化的體驗,似乎開發者還是以前的開發者,除了新增了幾個 API 以外。但是,今年的 WWDC 大會主題是 「Write code. Blow minds.」,WWDC 也果然還是一個開發者大會,隨即發布的 Project Catalyst 以及 SwiftUI 徹底點燃了整個會場。整個 2 個半小時下來,最讓我有感覺的,還是 SwiftUI 。
與 UIkit 不同,SwiftUI 用聲明性的語法來很簡單的聲明界面的邏輯。比如說如果你想寫一個列表的話,使用 SwiftUI 一切都可以在代碼裡面單獨進行聲明,包括間距,字體,顏色,甚至動畫等等。
上面這幾行代碼就描述了一個列表,我不知道你們的感覺是什麼,我第一眼看到這幾行代碼,有種看 CSS 的感覺。從這幾行寫列表的代碼來看,主要的工作都是描述控制項的內容,這對寫代碼的人以及讀代碼的人都是極好的。但是寫這麼一點代碼不代表最後就只有這一點代碼,Xcode 會自動加入支持 Darkmode 的代碼,根據不同的構建設備生成不同的控制項。這一內容我們先放在這裡,等下再說。
2. 設計工具