集团刊物

Group publications

媒体中心

Media center

选择光华 选择未来

Choice of the Guanghua Choice of the Future

媒体报道丨15岁中国学生斩获苹果WWDC奖学金:写代码只用了2个周末

2019/06/10

(界面新闻报道,原文链接:https://www.jiemian.com/article/3200362.html

 

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,地址:

 

 

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

 

给同龄人的一些建议

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

  1. 学习Swift语言,推荐没有编程经验的使用Playgrounds学习。有基础的也可以直接看The Swift Programming Language

  2. 学习iOS/macOS/watchOS/tvOS的开发框架。对于iOS,推荐观看斯坦福大学出品的公开课CS193p;历年WWDC的Session和官方文档Apple Developer Documentation也都是很好的资料

  3. 接触开源,尝试使用GitHub。这样不仅可以学习别人的项目,使用开源的第三方库从而避免造轮子,也可以分享自己的代码,或对其他人的项目进行贡献

  4. 对于希望获取WWDC奖学金的,可以通过历年WWDC Session了解Swift Playgrounds的相关开发方式。也可以阅读WWDC18奖学金指北。

  5. 多看大佬们的博客,如Apollonian Blog、GUANSHAN'S DEV ZONE、Krzysztof Zab ockiBlog、objc.io Blog、SWIFT BY SUNDELL等

  6. 技术书籍推荐objc.io等的技术书籍。对Swift语言特别感兴趣的话,不妨去多了解一下Swift Evolution

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

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