15歲中國學生獲蘋果WWDC獎學金:寫代碼只用2個周末
自古英雄出少年!15 歲 00 后開發(fā)者獲 WWDC 2019 獎學金并受邀參會。WWDC 獎學金用于獎勵有才華的學生和 STEM 組織成員,并有機會參加 WWDC 大會。今年獲獎學金的中國學生共有 31 名,其中最小的開發(fā)者于偉奇年僅 15 歲是一名初中生,獲獎作品只用了兩個周末時間寫代碼和文檔。
15 歲的時候你在做什么?
有的人在埋頭讀書;有的人約朋友玩網(wǎng)絡游戲;有的人沉迷于交友軟件;而有的人已經(jīng)成為 iOS App 的開發(fā)者,成功獲取蘋果 WWDC 獎學金并受邀進入 WWDC 現(xiàn)場。
從 2004 年開始,蘋果設立 WWDC 獎學金計劃,以此來激勵學生發(fā)揮想象力、盡情展示 iOS 編程才能和熱情。
每一年,蘋果公司的評審團會對作品的內(nèi)容、創(chuàng)造力和技術含量進行判斷,挑選至多 350 名學生,授予他們獎學金并邀請參與 WWDC 大會。獲獎學生將有可能獲得價值 1599 美元的大會門票,以及免費的差旅和住宿。
獲得 WWDC 獎學金申請資格,必須具備以下條件:
在今年的 350 位獲獎學生中,來自中國的學生共有 31 位。其中 27 位來自大陸;3 位來自香港;1 位來自臺灣。而這 31 個人中最年輕的,是 15 歲的于偉奇。提起其他獲獎選手,于偉奇不禁感嘆:“都是大佬!”
于偉奇來自江蘇省,目前就讀于無錫外國語學校,念初三,愛好 ACGN 文化。在 GitHub 和 Stack Overflow 上的用戶名叫做 Captain Yukinoshita Hachiman,取自于日漫《Oregairu》,中文譯作《我的青春戀愛喜劇果然有問題。》,也譯作《果然我的青春戀愛喜劇搞錯了。》,是日本作家渡航所創(chuàng)作的輕小說,插畫由 ponkan 負責。
他能夠成為一名蘋果軟件開發(fā)者并獲得 WWDC 獎學金,要歸功于小學時候讀的《喬布斯傳》,以及家長買來的一臺 iPad 2。后來,他了解到蘋果每年都會舉辦 WWDC,并且有一個獎學金激勵計劃,這引起了他極大的興趣。
緊接著 Swift 的發(fā)布,勾起了他想要親自動手寫代碼的欲望。于是開始通過書籍、網(wǎng)上的視頻以及一些蘋果大牛的博客,自學 Swift。
初一下學期他軟磨硬泡,終于說服家長買了一臺蘋果電腦,從一名愛好者變成了一名開發(fā)者。
于偉奇開發(fā)的***個作品叫做 BirthReminder,主要的功能是讓用戶管理自己喜愛的 ACGN 角色的生日,該 App 已上架 App Store。
這款 app 操作也非常簡單。其中內(nèi)置了很多 ACGN 角色信息,用戶可以手動輸入二次元角色信息,也可以通過自帶的“在線信息”來一鍵導入所喜歡的角色的信息,然后添加即可。該 App 還允許用戶貢獻本地的角色信息到“在線信息”中,幫助完善這個數(shù)據(jù)庫。
BirthReminder 同時支持 iOS 與 watchOS,并提供多種擴展組件,如今日擴展(iOS)與復雜組件(watchOS)。
BirthReminder 會在角色生日當天通過系統(tǒng)通知的方式來提醒用戶,用于偉奇的話說:“媽媽再也不用擔心我忘記老婆們的生日了 *:.?. o (≧≦) o .?.:*”。該 App 在 App Store 上獲得了 4.9 的高分。
去年,他曾以一個物理學透鏡相關的作品申請 WWDC 獎學金,但是該作品遺憾落選。今年,他憑借一款叫做 Cryptography & Privacy 的作品,成功入選 WWDC 獎學金。
于偉奇希望借此能夠讓人們對數(shù)據(jù)傳輸過程中,在線隱私的重要性引起更多關注。該項目已開源,代碼托管在GitHub上。
獲獎并不難,作品只花了 2 個周末時間
Cryptography & Privacy 向用戶介紹了最基本的密碼學知識,首先在過場動畫中討論了隱私的重要性,然后講述了對稱和非對稱加密的概念,***提供了一個真實的實踐,要求用戶在虛構的應用程序中實現(xiàn)“安全聊天”功能。
為了實現(xiàn)上述功能,使用了以下框架/技術:
HTML5 + CSS3 + JavaScript
UIKit
Security
CommonCrypto
PlaygroundSupport
Markup
Web 技術實際上是使用 Hype 自動生成的,由此創(chuàng)建了過場動畫。
UIKit 用于創(chuàng)建實時視圖。通過 UIView 的子類化做了自定義視圖并做了一些自定義繪圖。創(chuàng)建了一個實時視圖,向用戶顯示消息的傳輸方式,以便獲得更直觀地體驗。
Security 和 CommonCrypto 用于實現(xiàn)加密內(nèi)容。
顯然,PlaygroundSupport 用于控制 playground book。但是這個 playground 遠不止于此。通過使用 PlaygroundSupport,這本 playground book 充分利用了永遠在線的實時視圖,這意味著它可以更加互動,因此可以提供更好的用戶體驗。
快捷工具欄中的完成也是自定義的,這為用戶提供了一種干凈的寫代碼方式。***一頁支持所有執(zhí)行模式,這可以幫助用戶跳過實時視圖動畫或減慢它,以便可以更好地理解。
***,所有關于加密概念的內(nèi)容都是用 Markup 編寫的。
至于在作品上花費的精力,于偉奇稱主要是一邊要學習、一邊又要搞開發(fā),兩邊都不能落下。
由于他是住校生,工作日要在學校完成繁重的學業(yè),所以只能在周末回家趕工。時間緊任務重,于偉奇花了兩個周末時間,在 deadline 當天,通宵完成了所有代碼和文檔。
去學校后***堂課就是英語考試,結果因為太累了考試中途睡著,只拿了第二名。
雖然***次申請 WWDC 獎學金失敗了,不過于偉奇并不認為獲獎是一件困難的事情。
他認為一個 playground 作品,最重要的是“內(nèi)容”,換句話說就是要有實際價值,單純的炫技意義不大。
從他這次獲獎的經(jīng)歷來看,橫在他獲獎道路上的***障礙不是“題目太難”而是時間不夠。
獲得 WWDC 獎學金的經(jīng)歷,并沒有降低父母對他“沉迷電腦”的不滿,仍然成天抱怨他時間都花在了電腦上。他自己對此也有一個非常清醒的認識,并沒有驕傲自滿,而是認為今后需要學習更多的硬核知識。
對于未來,于偉奇也有很清晰的規(guī)劃。他希望能夠去美國學習計算機科學專業(yè),并能夠繼續(xù)從事蘋果軟件開發(fā),目前也正打算開發(fā)一個表情包管理 app。
這位少年已經(jīng)站在了更高的起跑線上。