苹果Swift挑战赛获奖者分享心得:编程正成为每个人的必备技能

发表时间: 2023-06-20 11:00

#头条家时光#

每年于 WWDC 开发者大会之前,苹果的另一项面向学生开发编程的竞赛 —— Swift 学生挑战赛也会同期开幕:这一奖项旨在面向全球范围内热爱编程的学生开发者,参赛学生开发者不仅能够获得 Apple 在编程学习领域的技术支持,获奖者更能有机会亲临 WWDC 现场,参加这一开发者盛会。


今年是 Swift 学生挑战赛赛事举办的第四年,今年的获奖者戴藏龙来自中国,目前是中央财经大学的一名大四学生,他开发的数款 iOS App 不仅为他赢得了 Swift 挑战赛的冠军,还让他获得了与苹果 CEO Tim Cook 连线、向其介绍自己作品的机会。

《电厂》记者也在 WWDC 前夕,获得了采访戴藏龙的机会,以下是本次线上采访实录:


最开始接触 iOS 开发的契机是什么?

戴:我于高中开始就对开发有很大兴趣,同时作为一名果粉,我在高中时开始关注由苹果主导的Swift编程语言,并 参阅过其开发者文档。然而碍于学业压力等因素,也因为当时Swift尚未稳定,我没有在那时深入学习和开发。

我开始学习编程是在大二学年,我报了Python选修课,并拿到了优秀的成绩。Python课程激发了我对编程的 兴趣,随后我深入学习了很⻓一段时间的Python。在那之后,我希望我能接触一⻔新的编程语言。同时,作为 iOS用户,我又希望能够开发一款自己的App。因此之前接触过的Swift成为了我的下一个目标。


是什么因素鼓舞你参加SwiftStudent Challenge?

戴:我自小就是果粉,在高一的时候就已经听说过Swift Student Challenge挑战赛。随后的日子中,每年都会密切 关注WWDC,自然也包括其举办的学生挑战赛。同时,我还在少数派等自媒体阅读过关于学生挑战优胜者的 采访,也在B站⻅过学生挑战优胜者发布的自述视频。

我一直渴望参加这场挑战赛,而我参与的最大动力来源于去年开发的《披萨小助手》App。去年初,我开始学 习Swift语言,并在接下来的几个月中开发了这个App,并花费了很多时间更新和维护它。这个开发过程让我对 Swift和SwiftUI有了更深刻的理解,也使我能够顺畅地开发App。同时,这个App也取得了巨大的成功,让我非 常自信我能在挑战赛中表现出色。另外,我在课堂中学习会计学知识后早有计划制作一款记账软件,来方便管 理个人财务与帮助学习会计学相关知识。Swift Student Challenge正好作为开始的契机。因此,当我注意到 WWDC的发布和Swift Student Challenge的开始时,我就决定参加今年的挑战赛。


可以介绍一下学习编程的资源是从哪些渠道获取的吗?

戴:在大三上半学期的期末考试结束后,我就开始了我的Swift学习。首先,我阅读了一遍开发者文档,我发现 Python与Swift在语法上有一定的相似之处,因此我的Python经验让我能够迅速上手Swift。其次,我完成了斯 坦福的SwiftUI慕课课程(CS193P)。这⻔课程非常优秀,是Swift编程入⻔的绝佳选择。除了包含Swift语法 的基础知识外,课程还详细介绍了SwiftUI和MVVM架构的基本概念和应用。课程带领学生通过完成一个简单的 翻卡App来实践所学知识,这样的互动体验能够极大地激发学生的学习动力。值得注意的是,我当时并没有 Mac,庆幸的是在那段时间,iPad的Swift Playground推出了能直接开发App的新功能,这让参与Swift特别是 SwiftUI课程的⻔槛降低了许多。我就是使用iPad来完成这一课程的学习的。

随后,在几个月后(经历了漫⻓的上海疫情停产后),我拿到了我定制的MacBook Pro。我在我的Mac上安装 了Xcode,开始了我的Swift实践经历。在那之后,我开发了一个自己的App,我的很多知识都在这一开发过程 中得到了巩固与提升。

对于想要学习编程的新手,你有什么具体的窍门或是建议吗?

戴:在学习Swift之前,程序思维是居首要地位,语法是其次的。入⻔Swift应当先学习程序员的思考与工作方式。

对于程序思维的学习,我有两个推荐。 其一是通过Swift Playground提供的编程挑战与小游戏。Playground中的这些内容能帮助你快速掌握程序运行 的逻辑思维,在后续学习中才能更加游刃有余。 其二是可以先学习其他编程语言,例如C、Python。以我的例子而言,就是学习Python。尽管Swift社区提供的 教学资源都非常优秀,但是缺乏给与初学者的资源,更多人将Swift作为第二⻔语言来学习。与之相比,C、 Python的社区有更多面向初学者的教程。同时,学习多一⻔语言也有助于博采众⻓,帮助你写出更好的程序。 特别是Python作为当今最流行的语言,他强大的社区能让你在未来工作学习中受益。如果你未来可能用上这两 ⻔语言,不妨先从他们开始。

其次,学习Swift语法建议从应用层面开始。如我之前提到的,非常推荐斯坦福的SwiftUI慕课课程 (CS193P)。学完这一课程后,我们就能开始制作简单的App了。如果你有一个App原型在脑中,非常建议 开始上手工作,在实践中学习是最快的。

最后,值得强调的是,iPad完全可以胜任学习编程,你并不需要拥有一台Mac才能开始。我学习python与Swift 入⻔的全过程都是使用iPad完成。不过如果你要开始在iPad上学习编程,记得为你的iPad配一块键盘。


你觉得学习编程开发对你带来了哪些帮助?

戴:包括但不限于思维上、学业上、未来就业选择等 等; 实际上Swift的学习与我的主业并不相关。但是学习Swift过程中,我有了程序员“造轮子”的思维和能力,这样的 思维和能力让我在学习中受益匪浅。与此同时,我使用SwiftUI开发了我的第一个App,这个App获得了不错的 关注度和成就,这也是我简历上非常漂亮的一块地方。


本次 WWDC23 中,你觉得有哪些新技术的发布对你之后的 App 开发有帮助?

戴:今年的 WWDC 上,苹果推出了 SwiftData 框架,这是一个用于储存数据的框架。我在写 DebitCredit 时,没有过多处理数据储存的问题,因为他的数据储存框架都相对比较复杂,在这个小作品中不方便引入。而 SwiftData 正好解决了我这款 App 的痛点,让我可以轻松地将数据储存下来,甚至上传到云端。因此我将会利用这个全新的框架来完善我的 App。

结语

“作为中国充满活力的 iOS 开发者社区的一份子,戴藏⻰同学正在帮助人们找到让生 活变得更好的新方法。通过让任何人都能轻松管理自己的财务,他的作品可以帮助很 多人实现自己的目标。藏⻰和世界各地令人惊叹的新一代 iOS 开发者正在为每个人 塑造更美好的未来,我们迫不及待地想看看他接下来会做什么。”


这是 Tim Cook 在线上采访活动中对于戴藏龙作品的评价,而戴藏龙在 WWDC 之后,也继续投身于 iOS App 的开发;他未来的目标是成为一名产品经理,他认为产品经理的职责不仅需要洞察用户需求,也要思考产品如何用用户进行交互,他认为这是比开发者而言更加重要的一份角色;因此也希望通过产品经理的身份调动更多资源,用 app 帮助更多的人。


「编程是每个人都应该掌握的工具,尤其是在 AI 技术进一步发展之后的未来」。


除了戴藏龙之外,本届 WWDC 中我们其实也能看到其他「新生代」iOS 开发者的成果,包括苹果在上海设立的开发加速器中,也帮助了更多中国独立开发者的作品登上世界舞台,也进一步鼓舞着更多年轻开发者们的优秀作品,出现在 App Store 中。