今天开始学习 iOS 开发了。

开始学习的意思是「系统」的重新学习。

虽然十几年前做过两年 iOS 开发,但是如今的 iOS 开发生态已经天差地别。所以对于我来说,就当重新学习了。

为什么要学习 iOS 开发?

因为,想改变世界……嗯,其实是想给自己打工,自由一些。用自己喜欢的技术,做属于自己的产品。

学习的资源是「A Best-in-Class iOS App」,一共五本书。看这系列书籍的分类,还是挺专业的,基本上主要的开发基础都涉及到了。读完这五本书基本上应该就算是入门了,对于 iOS 的开发知识体系应该就会有一个初步的框架,剩下的就可以不断的单点完善这个框架了。

Apple Music 古典音乐 App 终于将要在 1 月 23 日大陆上线啦!

期盼已久的古典音乐终于来了。之前一直在 Apple Music 里找古典音乐,虽然也能听,但总是得人肉找曲目,有没有先不说,对于入门级的爱好者来说,还是有点儿烦。

现在这下舒服了,上个月订阅费涨了一块钱也算值了。

(≧▽≦)/♫

今天 Apple 的 Vision Pro 在美国正式可以订购了。

目测,我还是对 Vision Pro 蛮有信心的。我认为两到三年的时间吧,开始逐步丰富属于 Vision Pro 自己的应用生态,前期可能更多的是 iOS 和 macOS 上的存量应用。原因呢,很主观吧,没什么客观依据,不赞同就当没看到吧,:)

今天开通了Xcode Cloud,感受了一把。

我感觉如果是个人开发者,一次只开发一款 App 的话,每月 25 小时的计算时间可能还真不需要额外付费。

马上就要年底了,开始计划 2024 要做的事情了。

今天早上收到 Apple 开发者的邮件,里边提到 Xcode Cloud 服务会在正式收费之后,给已经购买开发资格的开发者每个月提供 25小时的免费计算时间。

我还没有体验过 Xcode Cloud 服务。但直觉上看,应该够独立开发者日常使用了,吧……

或许是因为这个消息在邮件里没有特别大的标题,导致大家好像都没人讨论这个事情……(:з」∠)

如果每月 25 小时的计算时间够独立开发者日常使用,那这推广做的很失败啊……

当然,如果刚刚不够用,那这消息宣布的还挺鸡贼的。

╮(╯▽╰)╭

这周看完了 WWDC2019 里关于 SwiftUI 的相关视频,一共十个视频。

下周想必就没那么多时间了,加班是在所难免了。

SwiftUI 的状态管理借鉴了 Elm,但至少截止到 WWDC2019 年为止,推出的框架方案有点儿太繁琐,概念搞的太复杂。这或许跟 Swift 这门静态强类型语言有关。其中为了完成值引用,绕了好大弯子。

当然了,JavaScript 为了完成更加 pure 的效果,也是采取了一些 trick。

SwiftUI 中的状态管理:

  • @State 和 @Binding 可以在组件层面做内部状态管理。
  • @Obserable 和 @ObservedObject 可以在「相邻」的 View 之间传递状态。
  • @EnvirmentObject 则是用来在夸多个 View 层级中进行状态的管理。

就像之前说的,SwiftUI 的状态管理很多是在模拟前端界的单向数据流状态管理(Elm 或 Redux)。

整理了 WWDC2019~WWDC2023 年,期间关于 Widgets 和 SwiftUI 开发相关的视频。

接下来继续深入学习 SwiftUI 的相关技术。

今年七月份整理了 WWDC2017~WWDC2023 期间所有涉及 UI 设计相关的视频,总共四十七个视频。

昨天终于看完了,耗时三个多月。初步迈出了转型设计师的第一步……

接下来,除了开始看 HIG 文档以外,准备整理一下 WWDC2019~WWDC2023 年以来,关于 SwiftUI 相关的视频,整体看一遍。

SwiftUI 是将叶节点(组件)作为渲染的入口点,然后倒序深度递归遍历渲染。

每个节点(组件)的渲染大小分为两类,分别是推荐大小和实际大小。

推荐大小作为入参传入组件,实际大小作为返回参数给到下一级组件,作为下一级组件的推荐大小。

SwiftUI 状态管理的整体思路,基本上是借鉴了当前前端领域常用的 Virtual Dom 的解决方案。

这么说好像是在往前端领域脸上贴金。其实不是,只不过这几年 Virtual Dom 在前端很流行,这么比喻有助于大家理解而已。

Virtual Dom 早就有,即便没有 Virtual Dom,内存中增加一个中间层,让状态剥离于 UI 之外,让 UI 的更新依赖于状态的变化,这个思路也不是多难想到。但能不能在开发者中被得到认可,那就两说了。

正是前端领域已经把路趟出来,SwiftUI 现在跟上,少了推广的成本和风险而已。