💬 Pofat 的話
這週沒什麼大事,除了越來越多關於 Apple VR/AR 設備的猜測報導,每年 WWDC 前都會有些類文出現,但今年聲量特別高,關於這件事我有幾點看法:第一是蘋果暫時不會搞 VR,會把火力集中在 AR 這種可控性、可應用性相對高的環境;第二是我認為首波主力應用會跟室內、工作環境有關係(室外 AR 指路已有就不提,也許會有體驗上的突進),回想 iPhone 是把大家從 Mac 中解放,Apple Watch 則從 iPhone 中解放,新設備的目標依此類推也算合理;第三 WidgetKit 在裡面一定有插一咖,定時更新、顯示資訊用的介面元件在 AR 環境中是基本的重要角色; 第四如果沒有控制器今年不會上。
不過我出生至今沒有猜中過什麼,所以大家看看就好,話說去年我就想寫個 app 實現我的第三點猜測,拖延至此只開了專案,如果 WWDC 前有寫完就來跟大家分享。
🌎 On Swift Community
Albums: Music Shortcuts
Netflix 的 Adam Bell 最近做了一個很棒的音樂捷徑 app ,可以從 Spotify 或 Apple Music 截取專輯封面,再透過 Widget 加到桌面,以建立自己的「虛擬唱片牆」。除此之外還有一點點的特效可以調整圖片,比如加上塑膠包膜的遮罩,就更有買回來珍愛不忍拆封的感覺,點了之後就直接到對應的串流服務裡播放,好喜歡這種增加生活情趣的可愛 app,手機橫擺還會出現懷念的 iTunes 唱片封面瀏覽畫面,也是念舊人的驚喜!宣傳影片在此看,app 目前免費下載。
🗣️ On Swift Forum
SE-0396: Conform Never to Codable (Reviewing)
又是一個等待已久的功能,Swift 無法自動生成包含非 Codable
的型別的相關 Codable
實作,而這需求在代數型別(algebraic data type)的使用中很常見,因為外郜實際使用到的型別常會是一個整合的容器型別,在 Swift 中是 enum
(對應到加法原理)和 Tuple
(乘法原理),Never
則是 0 (加法單位元素)。
這提案讓 enum Either<Int, Never>
在遵循 Codable
後可以直接生成實作,其原理僅是讓 Never
遵循 Codable
,Encodable
的部分因為不會發生直接給空的實作; 因為「不可能生成不會發生的事 (Never)」 ,Decodable
會丟出錯誤,不過這並非程式的運行錯誤,而是使用上的誤用,所以會丟出 DecodingError.typeMismatch
的 exception。
🤪 Pofat 選推
本週心情
說得真好,和大家共勉之