15岁中国学生获苹果WWDC奖学金:写代码只用2个周末

  自古英雄出少年!15 岁 00 后开发者获 WWDC 2019 奖学金并受邀参会。WWDC 奖学金用于奖励有才华的学生和 STEM 组织成员,并有机会参加 WWDC 大会。今年获奖学金的中国学生共有 31 名,其中最小的开发者于伟奇年仅 15 岁是一名初中生,获奖作品只用了两个周末时间写代码和文档。

  15 岁的时候你在做什么?

  有的人在埋头读书;有的人约朋友玩网络游戏;有的人沉迷于交友软件;而有的人已经成为 iOS App 的开发者,成功获取苹果 WWDC 奖学金并受邀进入 WWDC 现场。

  从 2004 年开始,苹果设立 WWDC 奖学金计划,以此来激励学生发挥想象力、尽情展示 iOS 编程才能和热情。

  每一年,苹果公司的评审团会对作品的内容、创造力和技术含量进行判断,挑选至多 350 名学生,授予他们奖学金并邀请参与 WWDC 大会。获奖学生将有可能获得价值 1599 美元的大会门票,以及免费的差旅和住宿。

  获得 WWDC 奖学金申请资格,必须具备以下条件:

  在今年的 350 位获奖学生中,来自中国的学生共有 31 位。其中 27 位来自大陆;3 位来自香港;1 位来自台湾。而这 31 个人中最年轻的,是 15 岁的于伟奇。提起其他获奖选手,于伟奇不禁感叹:“都是大佬!”

  于伟奇来自江苏省,目前就读于无锡外国语学校,念初三,爱好 ACGN 文化。在 GitHub 和 Stack Overflow 上的用户名叫做 Captain Yukinoshita Hachiman,取自于日漫《Oregairu》,中文译作《我的青春恋爱喜剧果然有问题。》,也译作《果然我的青春戀愛喜劇搞錯了。》,是日本作家渡航所创作的轻小说,插画由 ponkan 负责。

  他能够成为一名苹果软件开发者并获得 WWDC 奖学金,要归功于小学时候读的《乔布斯传》,以及家长买来的一台 iPad 2。后来,他了解到苹果每年都会举办 WWDC,并且有一个奖学金激励计划,这引起了他极大的兴趣。

  紧接着 Swift 的发布,勾起了他想要亲自动手写代码的欲望。于是开始通过书籍、网上的视频以及一些苹果大牛的博客,自学 Swift。

  初一下学期他软磨硬泡,终于说服家长买了一台苹果电脑,从一名爱好者变成了一名开发者。

  于伟奇开发的第一个作品叫做 BirthReminder,主要的功能是让用户管理自己喜爱的 ACGN 角色的生日,该 App 已上架 App Store。

  这款 app 操作也非常简单。其中内置了很多 ACGN 角色信息,用户可以手动输入二次元角色信息,也可以通过自带的“在线信息”来一键导入所喜欢的角色的信息,然后添加即可。该 App 还允许用户贡献本地的角色信息到“在线信息”中,帮助完善这个数据库。

  BirthReminder 同时支持 iOS 与 watchOS,并提供多种扩展组件,如今日扩展(iOS)与复杂组件(watchOS)。

  BirthReminder 会在角色生日当天通过系统通知的方式来提醒用户,用于伟奇的话说:“妈妈再也不用担心我忘记老婆们的生日了 *:.?. o ≧≦) o .?.:*”。该 App 在 App Store 上获得了 4.9 的高分。

  去年,他曾以一个物理学透镜相关的作品申请 WWDC 奖学金,但是该作品遗憾落选。今年,他凭借一款叫做 Cryptography & Privacy 的作品,成功入选 WWDC 奖学金。

  于伟奇希望借此能够让人们对数据传输过程中,在线隐私的重要性引起更多关注。该项目已开源,代码托管在GitHub上。

  获奖并不难,作品只花了 2 个周末时间

  Cryptography & Privacy 向用户介绍了最基本的密码学知识,首先在过场动画中讨论了隐私的重要性,然后讲述了对称和非对称加密的概念,最后提供了一个真实的实践,要求用户在虚构的应用程序中实现“安全聊天”功能。

  为了实现上述功能,使用了以下框架/技术:

  HTML5 + CSS3 + JavaScript

  UIKit

  Security

  CommonCrypto

  PlaygroundSupport

  Markup

  Web 技术实际上是使用 Hype 自动生成的,由此创建了过场动画。

  UIKit 用于创建实时视图。通过 UIView 的子类化做了自定义视图并做了一些自定义绘图。创建了一个实时视图,向用户显示消息的传输方式,以便获得更直观地体验。

  Security 和 CommonCrypto 用于实现加密内容。

  显然,PlaygroundSupport 用于控制 playground book。但是这个 playground 远不止于此。通过使用 PlaygroundSupport,这本 playground book 充分利用了永远在线的实时视图,这意味着它可以更加互动,因此可以提供更好的用户体验。

  快捷工具栏中的完成也是自定义的,这为用户提供了一种干净的写代码方式。最后一页支持所有执行模式,这可以帮助用户跳过实时视图动画或减慢它,以便可以更好地理解。

  最后,所有关于加密概念的内容都是用 Markup 编写的。

  至于在作品上花费的精力,于伟奇称主要是一边要学习、一边又要搞开发,两边都不能落下。

  由于他是住校生,工作日要在学校完成繁重的学业,所以只能在周末回家赶工。时间紧任务重,于伟奇花了两个周末时间,在 deadline 当天,通宵完成了所有代码和文档。

  去学校后第一堂课就是英语考试,结果因为太累了考试中途睡着,只拿了第二名。

  虽然第一次申请 WWDC 奖学金失败了,不过于伟奇并不认为获奖是一件困难的事情。

  他认为一个 playground 作品,最重要的是“内容”,换句话说就是要有实际价值,单纯的炫技意义不大。

  从他这次获奖的经历来看,横在他获奖道路上的最大障碍不是“题目太难”而是时间不够。

  获得 WWDC 奖学金的经历,并没有降低父母对他“沉迷电脑”的不满,仍然成天抱怨他时间都花在了电脑上。他自己对此也有一个非常清醒的认识,并没有骄傲自满,而是认为今后需要学习更多的硬核知识。

  对于未来,于伟奇也有很清晰的规划。他希望能够去美国学习计算机科学专业,并能够继续从事苹果软件开发,目前也正打算开发一个表情包管理 app。

  这位少年已经站在了更高的起跑线上。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注