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

百家 作者:新智元 2019-06-09 10:49:37



  新智元汇编  

编辑:鹏飞、金磊

【新智元导读】自古英雄出少年!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。


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


更多阅读:

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接