连续 3 年拿下 WWDC 奖学金,这支学生开发者团队是如何做到的?

在北京时间 4 月 21 日,Apple 正式向 WWDC 2018 奖学金申请者发送了申请结果。来自上海商学院 iOS Club 的 21 位申请者中,有 5 位成功获得全球仅 350 份的 WWDC 奖学金,包含 WWDC 2018 大会的门票与食宿。

Apple WWDC 2018

这五位优秀的学生开发者黄赓、肖世飞、傅佳晨、卜紫晶、张高翔中,黄赓与肖世飞更是连续两年拿下了 WWDC 奖学金。伴着对于上商 iOS Club 实力的惊叹,我们深入采访了肖世飞、傅佳晨、卜紫晶、张高翔四位今年的奖学金得主,听听他们的心路历程。

上海商学院 iOS Club 成员集体备战 WWDC 2018 奖学金申请

关于 WWDC

π:介绍一下你们的社团吧?

上商 iOS Club 成立于 2015 年 10 月份,第一届社员人数 15 人,分为一位主管行政管理的社长以及技术组 7 人、UI组 7 人,每组各有一位组长。如今已经发展到 20 余人,分为技术组、产品设计组、产品测试组。社团成立第一年有 1 位 WWDC 获奖者,第二年 4 位获奖者;如今第三年,有 5 位获奖者。社团有独立的活动教室和活动设备(Mac、iPad、iPhone)。社团活动丰富,例如平时的集体课程学习、每周一次的头脑风暴、每学期的校园 i上商 app 推广晚会和路演活动、每周一次的上海科技馆《趣味编程》的教学等。

上海商学院 iOS Club 合影

π:作为不到 350 人的 WWDC 2018 奖学金获得者中的一员,你接到邮件的时候有什么感受?

张高翔:紧张+激动+兴奋。因为我虽然花了很多时间在这次的 WWDC 作品中,但看到 GitHub 上很多大佬精彩的作品,心里还是没底的,接受到邮件之前就是激动又忐忑。但突然收到邮件的那一刻,我看到的是 Congratulations,是异常激动的,这么久的努力终于有了回报,最后那个凌晨我失眠了……

卜紫晶:意料之中?emm 辛苦一个月养的小白菜可以收了的感觉吧……没有什么实感港真,毕竟收到邮件是凌晨 3 点,撑到那个点已经没想法了,醒了以后倒有点担心签证不过怎么办的问题。

傅佳晨:睡不着觉。4 月 21 日凌晨 2 点钟仍然睡不着,思考收到的邮件是 Thank you 还是 Congratulations!凌晨 3 点 32 分,收到邮件 Congratulations!很困,但是睡不着了……

傅佳晨同学收到的「Congratulations」邮件

π:介绍一下你们的 WWDC 作品吧?

肖世飞:WWDC 2018 奖学金申请的筹备中,我提交的是一款具有中国特色的作品——Ceramic(陶瓷)。

肖世飞的 WWDC 作品《陶瓷》

这次作品的灵感来源主要在寒假中我的一次景德镇之旅。景德镇是中国的瓷都,也是青花瓷的盛产地,但是陶瓷文化在国外对于大部分人来说还是非常陌生的,所以我希望通过这次的作品向外国人宣传陶瓷文化,让更多人了解甚至喜欢上中国的陶瓷文化。

他希望通过这份作品宣传中国的陶瓷文化

在这次作品制作的过程中,我主要使用的 iOS 开发框架是 SceneKit 和 WWDC17 上刚发布的 ARKit。通过使用这两个框架,让我很好的实现了我想要实现的功能。这个作品的开发不仅仅会停留在 Swift Playgrounds 上,我计划继续扩展它的功能,比如:将自定义的陶瓷模型通过 3D Printer 打印出来,让虚拟的物体真正来到现实世界中,让这款应用的功能更加丰富。

利用 ARKit,陶瓷艺术品可以被摆放到任意表面

傅佳晨:我的作品是 De-Chinese,这是一款解构汉字,从历史的角度展示汉字演变过程的 Playground Book。

傅佳晨的 WWDC 作品《De-Chinese》

它源于我曾经玩的游戏《帝国时代》,从这款游戏里我开始痴迷历史的更替和中国古代人的智慧和创造力。中国汉字与字母拼接类的语言(英语、俄语、法语等)不同,每一个汉字都有其对应的象形、象意的起源故事。

她希望大家能够更加重视汉字的传承与历史

然而现在的人更多的只是在学习汉字表面的用途(听说读写)却忽略了汉字背后的传承和历史。汉字是文化的载体之一,我希望更多的人能够更加深入、全面地了解汉字,从而学习到汉字所传承的中国文化。

通过交互,玩家能更深入地了解中国文化

卜紫晶:我的 Playground 作品是基于华容道玩法的一款游戏,英文名是 Huarong Road,是一种数学游戏,可以训练人们的思维和停用大脑思维。

卜紫晶的 WWDC 作品《华容道》

这就是为什么我想与更多人分享这个新奇。为了使华容游戏的奥秘适应更多的国家,我为故事设置了新的简单角色和故事,并且自学了 3D 模型的设计与制作,可以在游戏的第一关 AR 环节中看到它们。

通过 AR,卜紫晶展示了一系列有趣的故事人物

在 Swift 简洁的编程范式下,我能更专注于游戏的设计和外观。 AR 之后是游戏故事的展开,游戏中的侦探接到了一通电话,发生了什么?通过移动角色到空格使侦探能够准时顺利到到达目的地!首先是基础关,仅需 8 步即可;第三页在第一关的基础上,添加了可以改变角色的方式。想不想自己或者朋友出现在游戏里呢?自拍一张与游戏进行交互!第四页是指导用户如何通过代码摆放角色位置进行游戏,为最后一关作出代码基础教学:最后一关是自由模式!

自由模式下,每个人都能定制属于自己的「华容道」

自由开局,可以和朋友们一起玩!总之,一方面,用户可以根据自己的兴趣和需求,通过自拍和自由开局来定制自己的游戏,我认为这可以让用户意识到并参与制作游戏;另一方面,用户在从简单到困难的游戏,这种渐进的过程有助于用户开发思维。整体作品技术水平中等,界面和交互设计在我看来比代码出彩……所以我感觉苹果是很颜控且热爱文化的。

张高翔:我的作品名字叫做 Hanoi,灵感主要来自我小时候玩的一款益智游戏——汉诺塔。

张高翔的 WWDC 作品《汉诺塔》

我使它更具趣味性,把原本丑陋的圆柱、圆盘变为了巧克力棒、甜甜圈,同时我希望这款游戏能够引导用户去发现规律,寻找最优解。它主要分为 3 章,第一章让用户熟悉汉诺塔的规则,第二章引导用户利用奇偶规律解决汉诺塔问题,第三章让用户体验递归算法解决汉诺塔问题的高效性。

他将圆柱与圆盘替换为巧克力棒和甜甜圈,有趣而形象

最后利用最新的AR技术,让玩家可以定制自己的汉诺塔并且投影出来,使它更具趣味性、观赏性。

AR 的加入使得这份 Q 版「汉诺塔」可以无处不在

π:你觉得你们的 WWDC 作品中哪几点做得比较出色?

张高翔:

  • 我们都运用了苹果的最新技术——ARKit;
  • 我们的界面 UI 设计观赏性都很高;
  • 充分发挥了 Playground 左右交互的特效;
  • 其他方面的交互也非常好;
  • 作品都是把以前的一些游戏、文化进行创新地开发。

π:你们在设计作品的过程中,有遇到哪些困难吗?是怎么解决的?

​傅佳晨:调试很困难,需要一次次的导入 iPad 内进行调试,所以在最终成品完成前,至少有 500 份以上的失败品。自适应的问题也困扰了我一下,无法用纯代码的方式解决。最后通过 Storyboard 解决了该问题。AR 的模型是自己建的,所以自学了一下建模软件,也是克服了一下不懂设计的小困难吧。在 UI 设计上询问了一些美术、设计方面社团成员的意见,收货了很多,所以做出了有点中国传统风格的界面。

以张高翔同学的《汉诺塔》为例,截止提交总共测试了足足 496 个版本

卜紫晶:本人非计算机、设计专业,自学代码和设计。社团中不乏技术大佬,有技术攻坚的地方就去请教,分分钟给你解决。而且华容的策划我设置的没有很难,都没有用到很复杂的算法。所以困难的很有限,而且因为设计方面比较擅长,全部自制的人物角色设计都是用 PS 和 AI 制作的。3D 模型本来是个大困难,因为没有接触过这类软件,但是想做在 AR 里,然后为了解决 3D 建模的问题就自学了一款软件,肝出一套 3D 小人物,然后简化了 AR 的动画效果,困难统统 clean。

编程学习

π:根据我的了解,你们社团里有许多非计算机专业的成员,而且你学校的专业应该也是以商科为主,但你们 20 多个人的社团里却能有 5 个作品获得 WWDC 2018 奖学金,是怎么做到的呢?为什么会对 iOS 编程这么感兴趣?

肖世飞:我开始接触到 iOS 开发是因为两年前加入到学校的 iOS Club,在进入 iOS Club 之前我没有任何的软件开发经验,但是当我加入到 iOS Club 之后,看到社团中学长学姐的作品后,我感触颇深,也希望可以做出能够被别人使用的App,所以我就开始我的 iOS 学习之旅。

在 WWDC17 的奖学金申请中,我提交的是一款运行在 Swift Playgrounds 上的卡片记忆游戏——Card Memory,最后很荣幸获得了奖学金。进入暑假之后,我筹备着上架自己的第一款应用到 App Store 上,因为是 WWDC17 奖学金申请作品的扩展,所以从开始筹备到真正上架只用了 20 天左右。进入到大三上学期,我开始学习 iOS 的游戏开发框架 SpriteKit,并用 SpriteKit 开发了一款教授小朋友入门数学运算学习的 Swift Playgrounds 作品——MathAdventure,还把它带到了在香港举行的学与教博览会上展览。在这一年半的 iOS 开发的学习,我想感谢 iOS Club 中所有帮助过我、支持过我的学长学姐,指导老师们表示深刻的感谢,让我能够通过自己的代码把自己的想法照进现实。

iOS Club 成员交流学习

卜紫晶:拿我举例,从 15 年创始至今,和 iOS Club 一起成长,其实一开始对于 iOS 开发大家都是零基础,不论计算机专业还是非计算机专业。自学加上学校时不时会请一些技术大佬来分享技术和经验,然后一起努力做项目,参加比赛,实践出真知,自然而然就学到了很多。对 iOS 的偏爱可能是因为 iOS 比较好学习,没有编程基础的非专业人员也能迅速上手。再加上苹果 Playgrounds 的理念是「Everyone can code」,使 Swift 学习起来更有意思了。而且创立社团时指导老师为我们设立的目标之一就是获得 WWDC 的奖学金,一直激励鞭策着我们吧。

π:你们是怎么学习编程的?

张高翔:对于初学的同学,我们主要是老成员带新成员,从实际项目和基础开展学习;等到同学有一定基础后,主要以自学为主,同时社团每周会进行分享交流会,大家分享自己在学习中的经验;同时我们会及时把自己遇到的问题、bug,或者看到的攻略分享在群内。

iOS Club 成员互助合作十分积极

傅佳晨:自学+集体学习。自学是通过网络课程(网易的斯坦福课程)和看书、看官方文档。集体学习是通过学校开办的 iOS 编程课程。新社员会有老社团成员传授经验,也有项目上手练习。

卜紫晶:通过 Playgrounds,此外就是自学网上的斯坦福公开课、请教社团的大佬。

π: 对于使用 Swift 语言和 Swift Playgrounds 进行开发,你有哪些特别的体会?

Swift Playgrounds 充分践行「人人可编程」的理念,而且有趣易学(图片来源网络)

卜紫晶:Swift 语言本身是不难学的,但是一些逻辑算法需要之前的编程基础,所以我学习 UI,学的也就是一些界面基础和动画效果。要做技术大佬的话,肯定也要吃透别的语言的算法逻辑的。Swift Playgrounds 则确实能让大家在玩乐中学习代码,人人可编程,而且有趣易学。

张高翔:我初学 Swift 的时候,它还是 2.0 版本,可以说我和 Swift 是一起成长的。见证它从 2.0 到 3.0,再到 4.0,它从新生走向趋于完善,其实作为我们开发者是很欣喜的(当时从 2.0 升级到 3.0 时,好不容易写好的程序都废了🤦‍♂️)。现在,Swift 趋近稳定,我也有一定能力用它去实现我的想法,何乐而不为呢?

π:你们社团一般会组织哪些活动?

  • 创新创意分享会:
    iOS Club 成员踊跃在创新创意分享会上发表见解
  • 上海科技馆授课:
    上商 iOS Club 成员在上海科技馆授课
  • 天才吧授课:
    上商 iOS Club 接受 K12 培训纪念

    iOS Club 成员在 Genius Bar 授课
  • 参加各类比赛;
  • 轰趴活动:
    聚餐和轰趴也是必不可少的休闲

总结

π: 对于之后的 WWDC 奖学金申请者,你觉得有哪些经验和建议可以分享给他们呢?

张高翔:

  • 利用苹果的最新技术;
  • UI 界面设计要优雅;
  • 要有创意;
  • 不要枯燥,不要重复太多类似的内容。

卜紫晶:如果技术创新点不够的话,界面和交互设计来凑,点子很重要。并且要在提交日前一天完成,因为你想象不到会有多少不满意的地方想要修改。

傅佳晨:Follow your heart. 跟随自己的想法,做自己想做的事情,这一点很重要。如果你有一个好的创意想把它实现出来的话,那么一定要坚持下来。在创作的过程中很有可能被其他人的信息所干扰,有可能他们对你的想法的一些建议,会影响到创作的信息。但是做自己想做的东西才是最快乐的。用自己所想要创造出来的东西获得 scholarship 才是最有意义的。苹果非常看重创造力、想象力和你的设计,只要你的想法和你的创作非常的棒,那么就会有机会被选中。

π: 你觉得你会坚持进行独立开发吗?能不能谈谈你对独立开发的认识?

卜紫晶:我会继续坚持;毕竟做独立开发就是「做自己的产品,为自己打工」。

傅佳晨:会利用业余的时间坚持独立开发。我一般会将我自己个人的一些小创意做一个小 demo 出来,然后和团队的其他人一起讨论。如果有愿意一起做下去的话,就会以小团队的形式,将一个 App 做完。我会永远保持这种充满想象和创造力的开发激情。

π: 最后,向大家推荐一下你们开发过程中常用的工具或服务吧。

傅佳晨:SimpleMind

SimpleMind 官网

尽管在产品原型设计上比较常用的软件是 Sketch,但也会用到一些流程图制作的软件,例如 SimpleMind。SimpleMind 就是一款制作脑图、流程图的工具,能够帮助大家更好地梳理思路……就比如,吵架的时候更有说服力😂

张高翔:Git 和 GitHub

GitHub 是全球最大的社交编程及代码托管网站

我个人会用 Git,主要用来分享自己学习一些 Kit 或者新的语言时的比较,这也便于我以后的复习。另外我很多时候会从 GitHub 上寻找一些 demo,学习我要的一些技术。我也会从 GitHub 上下载一些好用、高效的框架,用到自己的项目中去。

卜紫晶:SketchUI中国

原型设计工具 Sketch

Sketch 是一款轻量、易用的矢量设计工具。 Sketch 使用上更简洁、更高效,对比 PS 的话原型设计效率更高,对比 AI 的话矢量图制作效率也更高。但是使用 Sketch 有利有弊,例如对于位图的编辑和更改使用起来并不太顺手,效果也并不是特别好。所以,如果要做 UI 设计的话,做原型用 Sketch 会比较快,配合 PS 和 AI 的话产出会更加高效。

「UI 中国」网站截图

最后推荐一个网站,UI中国,是 UI 设计大佬的聚集地,UI 学习的圣地。

后续

上海商学院 iOS Club 受邀成员已经先期抵达 San Jose 参加了奖学金得主的专属活动,少数派作为受邀媒体也将参加北京时间 6 月 5 日凌晨的 WWDC 2018 Keynote。

张高翔同学和苹果 CEO Tim Cook 的自拍

感谢上海商学院 iOS Club 对本次采访的大力支持,也祝他们 WWDC 之旅愉快。

iOS Club 三位亲临 WWDC 现场的获奖者(从左到右)卜紫晶、傅佳晨、张高翔

感谢少数派作者 @stevapple 协助促成了这次采访,以及对采访内容提供的帮助。

> 欢迎关注 少数派带你看 WWDC 2018 特别专题,我们将陆续为你呈上更多关于新硬件和新系统的详细介绍文章 🍎

> 下载少数派 iOS 客户端、关注 少数派公众号,让智能设备陪伴你成长 🙆