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

2019-06-19 15:32:07 浏览数 (1)

本文转载自新智元

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

15岁的时候你在做什么?

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

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

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

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

  • 13岁及以上,相关司法管辖区的相应最低年龄(例如,欧盟是16岁)
  • 注册被认可的学术机构或官方家庭学校
  • 在过去6个月内拥有中学毕业或同等学历毕业,等待获得认可的学术机构的录取
  • 成为STEM组织的活跃成员。该组织可以是任何具有会员计划的组织,该计划在普通学校课程之外教授科学、技术、工程或数学,并且在法律上被认为是非营利组织
  • 作品必须是由个人创建的Swift playground或由个人修改的模板。不会考虑小组作品或Xcode项目
  • 作品必须使用Swift Playgrounds 2.2或Xcode 10.1构建并运行。如果它在Swift Playgrounds 2.2上运行,则必须进行优化以在所有型号的iPad Pro上正确显示
  • 所有内容必须是英文的
  • zip文件大小不超过25 MB
  • 评论是线下的,所以Swift playground不应该依赖网络连接
  • 需要一段500字的英文个人介绍

中国区共31名学生获奖,15岁少年于伟奇成最年轻开发者

在今年的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,地址:

https://itunes.apple.com/cn/app/birthreminder/id1375252429?mt=8

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

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

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

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

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

https://github.com/CaptainYukinoshitaHachiman/Cryptography-and-Privacy

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

给同龄人的一些建议

在接受媒体采访时,于伟奇对有兴趣学习苹果软件开发,以及希望能够拿到WWDC奖学金,获得进入WWDC现场机会的同龄人,给出了6点建议:

  • 学习Swift语言,推荐没有编程经验的使用Playgrounds学习。有基础的也可以直接看The Swift Programming Language
  • 学习iOS/macOS/watchOS/tvOS的开发框架。对于iOS,推荐观看斯坦福大学出品的公开课CS193p;历年WWDC的Session和官方文档Apple Developer Documentation也都是很好的资料
  • 接触开源,尝试使用GitHub。这样不仅可以学习别人的项目,使用开源的第三方库从而避免造轮子,也可以分享自己的代码,或对其他人的项目进行贡献
  • 对于希望获取WWDC奖学金的,可以通过历年WWDC Session了解Swift Playgrounds的相关开发方式。也可以阅读WWDC18奖学金指北。
  • 多看大佬们的博客,如Apollonian Blog、GUANSHAN S DEV ZONE、Krzysztof ZabłockiBlog、objc.io Blog、SWIFT BY SUNDELL等
  • 技术书籍推荐objc.io等的技术书籍。对Swift语言特别感兴趣的话,不妨去多了解一下Swift Evolution

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

自古英雄出少年,这位少年已经站在了更高的起跑线上。

0 人点赞