访问我的博客 www.fatbobman.com[1] 可以获得更好的阅读体验以及最新的更新内容。欢迎大家在 Discord 频道[2] 中进行更多地交流
经常有朋友咨询,学习 SwiftUI 的最佳路径是什么?考虑到每个人的技术背景、学习能力、工作经验均不一样,因此很难说哪种学习方式或哪些资料是适合他本人的。不过随着这个问题被反复提起,最终还是想尝试整理一些资料给对 SwiftUI 感兴趣的朋友。本文将介绍一些对学习者技术基础要求较低( 甚至可以零基础 )的教程。
本文仅介绍我本人阅读并了解过的一些资料,并且仅介绍具备一定完整体系的教程。另请阅读 SwiftUI 专栏 #6 文件工具与网站[3] 一文,了解如何查询与 SwiftUI 有关的 API
image-20220919151336102
Paul Hudson 撰写了大量有关 Swift、SwiftUI 方面的书籍和教程。在他的网站 Hacking with Swift 中,提供了大量优秀的免费内容。100 Days of SwiftUI[4] 便是面向 SwiftUI 初学者的一个合集。
作者为学习者订立了两项规则:
教程中还包含了 Swift 语言基础( 1 - 15 天 )方面的知识,为零基础的使用者创建了学习的可能。
教程中包含了视频、文档以及代码等内容,对于英语能力欠缺的学习者,浏览器自带的翻译工具已足够理解教程中的文档内容( 文档国内有中文搬运 )。视频部分国内的网站已有搬运( 有机翻字幕,也有 up 主提供了实用中文语音的重新讲解 )。
swiftui-book-website-cover
《 精通 SwiftUI 》 是 AppCoda 出版的《 Mastering SwiftUI 》一书的中文版。本书的前四章可以 免费阅读[5]。
该书是为没有任何程式经验、想要学习 SwiftUI 开发的初学者而撰写的。涉及的内容不少,但不要被书名中的“精通”所迷惑。
image-20220919154335906
或许是因为 Meng To 的设计师背景,因此他开发的课程在视觉上十分精美。Meng To 会从设计师的角度出发调动每位学习者的学习欲望,学习他的 SwiftUI[6] 课程将获得很高的成就感。
Design Code 的教程并不完全适合零基础的使用者,学习者最好有一点( 真的只需要一点 )技术背景。全部的课程都以视频的方式呈现,对于学习者的英文能力还是有一些的要求的( 有中文搬运 )。
image-20220919155034753
Big Mountain 出版的电子书以卡片的形式进行教学。对于有一点基础的学习者来说,这种方式十分地直观。
网站上目前提供了一本 200 页的 免费书籍[7] 。
我个人很欣赏这种创作形式,目前我在 Twitter 上发布的 Tips 多少也受到了这种形式的影响。
image-20220919161227670
老牌的技术书籍出版公司,网站上提供了大量的课程( 相当一部分是免费的 )。
Raywenderlich 的 SwiftUI Apprentice[8] 一书是针对初学者撰写的,全书的前三分之一部分可以免费阅读。
另外,Raywenderlich 的网站上有非常多针对 SwiftUI 的免费教程[9],建议你从较旧的教程看起。
Raywenderlich 与 Hacking with Swift 的免费教程仍附有完整的 Xcode 项目文档,这一点对于初学者特别友好
image-20220919161650342
苹果对于 SwiftUI 的推广也算尽心尽力,它史无前例地为 SwiftUI 创建了一个十分 精美的教程[10]( 创建该教程的技术最终演变为 DocC[11] )。
该教程提供了保姆级的提示能力,可以为开发者展示开发过程中的每一个步骤。
比较遗憾的是,尽管该教程制作得十分精良,但调性过于高冷,代入感不强。
image-20220919162232057
在油管和 B 站上都有频道。他的视频教程 使用 SwiftUI 开发 iOS App 新手教程[12] 是为初学者准备的,共 29 个视频。虽然每集只有几分钟,但教学的脉络十分清晰。
鉴于观看完整教程所需的时间不长,初学者可以在通览全部的视频对 SwiftUI 有个整体了解后,再决定下一步的学习方向和内容。
image-20220919163439868
油管中文女 up 主 Jane 的视频教程( B 站有搬运 )。我个人最欣赏的是作者对于视频节奏的把握。
她的频道中有关于 SwiftUI 的视频,但在此我推荐的是她的 Swift 基础篇和中级篇系列[13]。这个系列相对比较完整,对于初学者掌握 SwiftUI 也十分必要。
如果你选择学习 100 Days of SwiftUI 教程,建议在学习初期( 1 - 15 天 ),可以搭配该系列教程一并观看。
image-20220919164639228
完全不适合初学者,但又对初学者有莫大作用的 油管频道[14]( B 站有搬运 )。
Kavsoft 制作的视频特点是全程无讲解 + 快放,有关交互效果方面的内容既有实用性又包含相当的炫技成分。
无论选择学习本文上面介绍的哪个教程,初学者都需要一段时间才能撰写具备一定功能的应用。在学习疲倦的时候,可以看看 Kavsoft 制作的视频放松一下心情,将其充作 “精神氮泵”。
Paul Hudson 说,学习编程是一场马拉松,不是短跑。不要为了 “学得更快” 而冲在前面,因为你很有可能会迷失方向。慢慢来!
请用合适的行为感谢你所使用的教程的原作者
希望本文能够对你有所帮助。同时也欢迎你通过 Twitter[15]、 Discord 频道[16] 或博客的留言板与我进行交流。
我正以聊天室、Twitter、博客留言等讨论为灵感,从中选取有代表性的问题和技巧制作成 Tips ,发布在 Twitter 上。每周也会对当周博客上的新文章以及在 Twitter 上发布的 Tips 进行汇总,并通过邮件列表的形式发送给订阅者。
订阅下方的 邮件列表[17],可以及时获得每周的 Tips 汇总。
[1]
www.fatbobman.com: https://www.fatbobman.com
[2]
Discord 频道: https://discord.gg/ApqXmy5pQJ
[3]
SwiftUI 专栏 #6 文件工具与网站: https://www.ethanhuang13.com/p/swiftui-6-doc-tools?utm_source=email
[4]
100 Days of SwiftUI: https://www.hackingwithswift.com/100/swiftui
[5]
免费阅读: https://www.appcoda.com.tw/learnswift/
[6]
SwiftUI: https://designcode.io/swiftui-handbook
[7]
免费书籍: https://www.bigmountainstudio.com/free-swiftui-book
[8]
SwiftUI Apprentice: https://www.raywenderlich.com/books/swiftui-apprentice/
[9]
SwiftUI 的免费教程: https://www.raywenderlich.com/library?q=swift+ui&domain_ids%5B%5D=1&subscription_types%5B%5D=free&subscription_types%5B%5D=beginner&difficulties%5B%5D=beginner
[10]
精美的教程: https://developer.apple.com/tutorials/swiftui#drawing-and-animation
[11]
DocC: https://developer.apple.com/documentation/docc
[12]
使用 SwiftUI 开发 iOS App 新手教程: https://www.bilibili.com/video/BV16L411H7xN/?spm_id_from=333.788&vd_source=47c38aa7a1b9837457a41f3f489f9377
[13]
Swift 基础篇和中级篇系列: https://www.youtube.com/watch?v=GIt1BJJNdTI&list=PLXM8k1EWy5kiAD0o69R00b7I62ZVUyfJJ
[14]
油管频道: https://www.youtube.com/c/Kavsoft/playlists
[15]
Twitter: https://twitter.com/fatbobman
[16]
Discord 频道: https://discord.gg/ApqXmy5pQJ
[17]
邮件列表: https://artisanal-knitter-2544.ck.page/d3591dd1e7