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。
這位少年已經站在了更高的起跑線上。