不久前,苹果官宣将在 6 月 10-14 日举办 WWDC 2024 全球开发者大会,而在 WWDC 之前,还有一项与广大苹果开发者们有关的盛事,就是一年一度的 Swift Student Challenge,即 Swift 挑战赛。
4 月份,苹果公布了 2024 年度挑战赛的获奖学生名单,IT之家最近也获得机会和其中的 4 位中国获奖者进行了交流,进一步了解了他们的优秀获奖作品,并看到 Swift 开发语言是如何与这些年轻开发者们结缘,并在他们的学习和未来职业生涯中产生深刻影响的。
Swift 挑战赛从 2020 年开始举办,旨在为全球成千上万的学生提供展示创意、发展实用技能的机遇,惠及他们的职业与人生。而今年的挑战赛新增了一项机制,苹果在 350 名获奖者中选出了 50 名杰出获奖者,并对这些提交了优秀作品的杰出获奖者予以表彰,邀请他们前往位于库比提诺的 Apple 园区进行体验。
第一位获奖者是目前就读于美国东北大学的研究生刘曦恺,他的作品叫做《LiveArt》,这款 App 以他对音乐和精美专辑封面的热爱为灵感,将 Apple Music 中的动态专辑封面转化为 Live Photo,并作为动态壁纸使用,满足了用户对精美壁纸的追求。
在开发过程中,刘曦恺通过 Swift 编写爬虫获取视频资源,运用 AVFoundation 处理视频文件,成功绕过 iOS 系统限制,实现了融合标准壁纸的新方法。
《LiveArt》给IT之家的一个深刻印象就在于其具备很高的完成度和良好的用户体验,而且界面设计现代、简洁,作品整体看起来很成熟。
在交流中,刘曦恺表示会继续扩展《LiveArt》的功能,将其送上 AppStore,并利用 AI 技术为用户持续更新壁纸。他还计划探索与 Vision Pro 的结合,以进一步提升用户体验。
刘曦恺表示,自己最开始接触的智能移动设备是 iPod Touch,从那时起,便对 iOS 这个充满可能性的系统产生了非常多的想法,后来他自学了基础的计算机概念,并且在大学时选择了计算机专业,后来还在中南大学的 iOS Club 学习了 Objective-C 以及 Swift。
“Swift 作为相对新潮的编程语言,学习资料算不上多。斯坦福的 Swift 公开课帮我扫了盲,Swift Playgrounds 里的示例、HackingWithSwift 这样专门的开发者社区让我渐入佳境。”刘曦恺说:“这个过程没有特别有趣,不过去图书馆看公开课还是挺快乐的,而且能感觉到 Swift 和其他的苹果产品一样,是一门被精巧设计过的语言,学起来还是很享受的。”
而对于 Swift 挑战赛,刘曦恺是从苹果官网、iOS Club、3 次获奖的学长那里了解到,他觉得这是鼓励自己学习 iOS 开发的好方式,给自己设定可拆解的目标,产生成就感。
“第一次知道 Swift Student Challenge 是在网上知道的。”在被问到同样的问题时,另一位获奖开发者马文韬如此回答:“那个时候对 AR 有兴趣,刚好有了这个用 AR 控制头球的主意,就拿来实现了。”
马文韬目前就读于苏州北美国际高级中学,年仅 17 岁的他的获奖作品是一款模拟并且介绍 AI 神经网络的小游戏。由于最近 AI 比较火,刚好他正在学习 AI 相关的一些技术,看到 WWDC 的消息后,就想到可以做一个与之相关的应用,演示 AI 神经网络相关的功能。
在观看马文韬的作品演示时,IT之家能够明显感觉到作品中的硬核技术元素,很难想象这是一位中学生完成的作品。
在聊到 Swift 开发语言时,马文韬表示自己平时用 Swift 语言开发的机会确实不多,因为自己主要用 Unity,开发的游戏是直接可以在所有平台运行,但是这次用 Swift 开发应用,它觉得在具备基本的开发能力后,Swift 上手非常快,很直观,而且开发工具也很方便。
而对于想要学习 Swift 开发的新手朋友,马文韬也从自己的角度给出了一些窍门和建议,他表示,作为新手,多多动手练习,先跟着做一些常见的例子很有用。然后可以找一个自己有兴趣的方向,最好是可以看到结果的。这样不断能看到自己做出来的东西可以让自己一直比较开心。同时他还提到,网上的资源很丰富,充分学会搜索自己需要的资料,不过 Swift 发展速度太快了,需要注意尽量找最新的资料。
今年 20 岁的获奖者张皓晟在回忆学习 Swift 的经历时,也强调了实践的重要性。
“遇到问题-> 查询解决方案-> 看不懂它的实现原理-> 继续查询->...-> 问题解决。”这是他的基本流程,可能不会很成体系,但也非常有用。
同时,张皓晟表示还有开源社区如 Stack overflow,掘金,简书,也是自己得以理解并使用 Swift 框架的不可多得的老师。而自己最初与 Swift 结缘,是通过学校的 iOS Club,社团的技术组组长,也在一些功能的关键节上给了自己很多知道。另外,张皓晟表示苹果的开发文档也起到了一些作用,尽管看文档是一件令人感到痛苦的事情。
张皓晟这次获奖的作品是一款帮助玩家学习电路知识的小游戏,在游戏中,玩家可以循序渐进地使用越来越多的模块,以搭积木的方式将这些相同规格的元件放入网格,最终组装出的电路需要被用来解开关卡设计的谜题。
说到作品的灵感,张皓晟表示创意来源于《我的世界(Minecraft)》,自己有段时间对 Minecraft 的红石装置研究颇深,希望自己能够亲手创造一个严谨有序的,并蕴含无穷潜力的游戏世界。
谈到这次参加 Swift 挑战赛,张皓晟坦言制作这个游戏的动机在一方面是拿奖,在另一方面,自己也曾玩过 Swift Playgrounds 的编程教学,并被其美术设计吸引,而且其中含有丰富的引导机制。在真正将小 byte(Swift Playgrounds 教学游戏中的角色)带到小朋友面前时,张皓晟发现它具有一种能够让他们以一种玩游戏的态度学习真正的编程知识的魔力。
同时张皓晟表示,在开发过程中,苹果的 SwiftUI 对于自己实现控件和页面的布局以及交互很有用,而 SpriteKit 帮助他将游戏逻辑具象化。而让张皓晟感到意外的是,SpriteKit 的动画意外地强大并兼顾易用性。它使得我能够轻易实现比较丝滑的动画。
而对于即将到来的 WWDC,张皓晟表示。自己比较关注 AI 相关的内容,听说 WWDC 即将推出 AI 应用商店,或者一些更为强大的 AI 技术,很期待能够使用 AI 赋能传统游戏和工具的时刻。
来自上海商学院的 21 岁获奖者李若珊和张皓晟是同学,与 Swift 语言的结缘也是在学校 iOS Club 社团开始,起初是拿到了社团提供的 Mac 进行入门学习,学长学姐给了她很多指导建议,也提供了一些基础的教程和示例代码,让她能够快速入门。之后,李若珊逐渐对 Swift 语言产生兴趣,并希望更深入地学习,于是自己购买了一台 MacBook Pro。拥有了自己的电脑后,便开始了更加深入的学习。同时她也参加了一些相关的比赛,这些成为自己磨练技能和挑战自我的机会,在竞争中不断进步。
此外开源社区和苹果官方资源也为李若珊提供了丰富的学习资料和工具。特别是苹果官方的开发者文档、示例代码和开发者工具,为其提供了必要的技术支持,从而能够更加深入地了解 iOS 开发的各个方面。
这次李若珊同学的获奖作品是一款引导孩子用七巧板组合各种海洋生物图案的小游戏,除了锻炼动手能力和空间想象力,李若珊的作品还给予孩子们一个视觉上的奖励。一旦拼出的海
洋生物完整,它们将栩栩如生地在虚拟海洋中游动,仿佛真实的海洋世界一样,大大增加了作品的趣味性。
而在谈到 Swift 开发对于自己的帮助时,李若珊也很有条理地做了列举。首先是思维能力的提升,她认为学习 Swift 开发需要不断思考和解决问题,这锻炼了自己的逻辑思维能力和问题解决能力。而在编程过程中,需要将复杂的逻辑拆解成简单的步骤,并找出最优解决方案,这一点可以培养分析和判断能力。
同时她表示虽然学习 Swift 开发不是自己主要的学业方向,但她从中学会了如何利用技术手段解决实际问题。在未来,李若珊希望能够带着现在已掌握的技能去攻读数字媒体方向
的硕士。同时,随着移动互联网的迅速发展,产品经理成为了一个热门的就业方向,李若珊觉得 Swift 开发让她能够更深入地了解移动应用的开发流程和技术细节,增加自己的就业选择。
结语
“在 Apple,我们对于 App 开发的理念是人人能编程。”与获奖开发者们交流的过程中,苹果亚太及欧洲区开发者关系的负责人谢恩伟如是说。他表示,多年以来苹果一直非常自豪能够支持编程教育,以帮助世界各地的人们学习这一重要技能。而为学生应该拥有与专业开发者相同的机会,这样他们就能得到充足的资源来识别市场需求,接着设计和制作原型,到最后构建出一个 App,从而解决他们关心的问题。
或许,长期以来苹果的开发生态能够一直充满活力、生意盎然地发展壮大,无疑和苹果对于学生开发者的重视密不可分,他们是苹果开发生态能够保持生命力的新鲜血液,同时苹果带来的教育资源以及商业机遇也在反过来帮助广大学生开发者们在未来的职业生涯中取得的成功,这样一个良性循环,带来的就是整个生态的生生不息、繁荣发展。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。