经常有朋友咨询,学习 SwiftUI 的最佳路径是什么?考虑到每个人的技术背景、学习能力、工作经验均不一样,因此很难说哪种学习方式或哪些资料是适合他本人的。不过随着这个问题被反复提起,最终还是想尝试整理一些资料给对 SwiftUI 感兴趣的朋友。本文将介绍一些对学习者技术基础要求较低( 甚至可以零基础 )的教程。
本文仅介绍我本人阅读并了解过的一些资料,并且仅介绍具备一定完整体系的教程。另请阅读 SwiftUI 专栏 #6 文件工具与网站 一文,了解如何查询与 SwiftUI 有关的 API
Hacking with Swift
Paul Hudson 撰写了大量有关 Swift、SwiftUI 方面的书籍和教程。在他的网站 Hacking with Swift 中,提供了大量优秀的免费内容。100 Days of SwiftUI 便是面向 SwiftUI 初学者的一个合集。
作者为学习者订立了两项规则:
- 每天花费一个小时阅读或观看该教程,并编写 SwiftUI 代码
- 每天将你的进度发布到社交媒体上,监督与自我监督
教程中还包含了 Swift 语言基础( 1 - 15 天 )方面的知识,为零基础的使用者创建了学习的可能。
教程中包含了视频、文档以及代码等内容,对于英语能力欠缺的学习者,浏览器自带的翻译工具已足够理解教程中的文档内容( 文档国内有中文搬运 )。视频部分国内的网站已有搬运( 有机翻字幕,也有 up 主提供了实用中文语音的重新讲解 )。
AppCoda
《精通 SwiftUI 》是 AppCoda 出版的《 Mastering SwiftUI 》一书的中文版。本书的前四章可以 免费阅读 。
该书是为没有任何程式经验、想要学习 SwiftUI 开发的初学者而撰写的。涉及的内容不少,但不要被书名中的“精通”所迷惑。
Design Code
或许是因为 Meng To 的设计师背景,因此他开发的课程在视觉上十分精美。Meng To 会从设计师的角度出发调动每位学习者的学习欲望,学习他的 SwiftUI 课程将获得很高的成就感。
Design Code 的教程并不完全适合零基础的使用者,学习者最好有一点( 真的只需要一点 )技术背景。全部的课程都以视频的方式呈现,对于学习者的英文能力还是有一些的要求的( 有中文搬运 )。
Big Mountain
Big Mountain 出版的电子书以卡片的形式进行教学。对于有一点基础的学习者来说,这种方式十分地直观。
网站上目前提供了一本 200 页的 免费书籍 。
我个人很欣赏这种创作形式,目前我在 Twitter 上发布的 Tips 多少也受到了这种形式的影响。
Raywenderlich
老牌的技术书籍出版公司,网站上提供了大量的课程( 相当一部分是免费的 )。
Raywenderlich 的 SwiftUI Apprentice 一书是针对初学者撰写的,全书的前三分之一部分可以免费阅读。
另外,Raywenderlich 的网站上有非常多针对 SwiftUI 的免费教程,建议你从较旧的教程看起。
Raywenderlich 与 Hacking with Swift 的免费教程仍附有完整的 Xcode 项目文档,这一点对于初学者特别友好
Kodeco
2023 年 8 月更新
2022 年底,Raywenderlich 更名为 Kodeco。它在 2023 年 8 月,发布了免费的电子书 SwiftUI Cookbook 。这本书较为系统的对 SwiftUI 进行了介绍,并提供了丰富的示例代码。
苹果官方教程
苹果对于 SwiftUI 的推广也算尽心尽力,它史无前例地为 SwiftUI 创建了一个十分 精美的教程( 创建该教程的技术最终演变为 DocC )。
该教程提供了保姆级的提示能力,可以为开发者展示开发过程中的每一个步骤。
Develop in Swift Tutorials( 苹果 2024 新教程 )
苹果公司在 2024 年推出的 新交互式教程。这个教程涵盖了 SwiftUI、SwiftData 以及 VisionOS 的基础知识,为初学者提供了一个全面的入门体验。即便是经验丰富的开发者也能在这些教程中找到新的学习机会和灵感。无论你是编程新手还是希望扩展技能的资深开发者,本教程都值得一探。
SwiftUI Field Guide
由 Chris Eidhof 创建,并由 Nicholas Christowitz 设计的网站。利用了 Web 技术来解释 SwiftUI 布局系统的工作原理。
该网站专注于基本的布局概念,通过交互的方式以加深访问者对不同组件的理解。
嘉夫和子然的工作室
在油管和 B 站上都有频道。他的视频教程 使用 SwiftUI 开发 iOS App 新手教程 是为初学者准备的,共 29 个视频。虽然每集只有几分钟,但教学的脉络十分清晰。
鉴于观看完整教程所需的时间不长,初学者可以在通览全部的视频对 SwiftUI 有个整体了解后,再决定下一步的学习方向和内容。
ChaoCode
油管中文女 up 主 Jane 的视频教程( Jane 的 B 站频道 )。我个人最欣赏的是作者对于视频节奏的把握。
她的频道中有关于 SwiftUI 的视频,但在此我推荐的是她的 Swift 基础篇和中级篇系列。这个系列相对比较完整,对于初学者掌握 SwiftUI 也十分必要。
如果你选择学习 100 Days of SwiftUI 教程,建议在学习初期( 1 - 15 天 ),可以搭配该系列教程一并观看。
更新:Jane 在 ChaoCode 上创建了新的系列课程 —— SwiftUI 新手入门课程 ,想学习 SwiftUI 的朋友一定要赶快看看。
Kavsoft
完全不适合初学者,但又对初学者有莫大作用的 油管频道( B 站有搬运 )。
Kavsoft 制作的视频特点是全程无讲解 + 快放,有关交互效果方面的内容既有实用性又包含相当的炫技成分。
无论选择学习本文上面介绍的哪个教程,初学者都需要一段时间才能撰写具备一定功能的应用。在学习疲倦的时候,可以看看 Kavsoft 制作的视频放松一下心情,将其充作 “精神氮泵”。
总结
Paul Hudson 说,学习编程是一场马拉松,不是短跑。不要为了 “学得更快” 而冲在前面,因为你很有可能会迷失方向。慢慢来!
请用合适的行为感谢你所使用的教程的原作者