不久前,蘋果官宣將在 6 月 10-14 日舉辦 WWDC 2024 全球開發(fā)者大會,而在 WWDC 之前,還有一項與廣大蘋果開發(fā)者們有關(guān)的盛事,就是一年一度的 Swift Student Challenge,即 Swift 挑戰(zhàn)賽。
4 月份,蘋果公布了 2024 年度挑戰(zhàn)賽的獲獎學(xué)生名單,IT之家最近也獲得機會和其中的 4 位中國獲獎?wù)哌M(jìn)行了交流,進(jìn)一步了解了他們的優(yōu)秀獲獎作品,并看到 Swift 開發(fā)語言是如何與這些年輕開發(fā)者們結(jié)緣,并在他們的學(xué)習(xí)和未來職業(yè)生涯中產(chǎn)生深刻影響的。
Swift 挑戰(zhàn)賽從 2020 年開始舉辦,旨在為全球成千上萬的學(xué)生提供展示創(chuàng)意、發(fā)展實用技能的機遇,惠及他們的職業(yè)與人生。而今年的挑戰(zhàn)賽新增了一項機制,蘋果在 350 名獲獎?wù)咧羞x出了 50 名杰出獲獎?wù)?,并對這些提交了優(yōu)秀作品的杰出獲獎?wù)哂枰员碚?,邀請他們前往位于庫比提諾的 Apple 園區(qū)進(jìn)行體驗。
第一位獲獎?wù)呤悄壳熬妥x于美國東北大學(xué)的研究生劉曦愷,他的作品叫做《LiveArt》,這款 App 以他對音樂和精美專輯封面的熱愛為靈感,將 Apple Music 中的動態(tài)專輯封面轉(zhuǎn)化為 Live Photo,并作為動態(tài)壁紙使用,滿足了用戶對精美壁紙的追求。
在開發(fā)過程中,劉曦愷通過 Swift 編寫爬蟲獲取視頻資源,運用 AVFoundation 處理視頻文件,成功繞過 iOS 系統(tǒng)限制,實現(xiàn)了融合標(biāo)準(zhǔn)壁紙的新方法。
《LiveArt》給IT之家的一個深刻印象就在于其具備很高的完成度和良好的用戶體驗,而且界面設(shè)計現(xiàn)代、簡潔,作品整體看起來很成熟。
在交流中,劉曦愷表示會繼續(xù)擴(kuò)展《LiveArt》的功能,將其送上 AppStore,并利用 AI 技術(shù)為用戶持續(xù)更新壁紙。他還計劃探索與 Vision Pro 的結(jié)合,以進(jìn)一步提升用戶體驗。
劉曦愷表示,自己最開始接觸的智能移動設(shè)備是 iPod Touch,從那時起,便對 iOS 這個充滿可能性的系統(tǒng)產(chǎn)生了非常多的想法,后來他自學(xué)了基礎(chǔ)的計算機概念,并且在大學(xué)時選擇了計算機專業(yè),后來還在中南大學(xué)的 iOS Club 學(xué)習(xí)了 Objective-C 以及 Swift。
“Swift 作為相對新潮的編程語言,學(xué)習(xí)資料算不上多。斯坦福的 Swift 公開課幫我掃了盲,Swift Playgrounds 里的示例、HackingWithSwift 這樣專門的開發(fā)者社區(qū)讓我漸入佳境。”劉曦愷說:“這個過程沒有特別有趣,不過去圖書館看公開課還是挺快樂的,而且能感覺到 Swift 和其他的蘋果產(chǎn)品一樣,是一門被精巧設(shè)計過的語言,學(xué)起來還是很享受的?!?/p>
而對于 Swift 挑戰(zhàn)賽,劉曦愷是從蘋果官網(wǎng)、iOS Club、3 次獲獎的學(xué)長那里了解到,他覺得這是鼓勵自己學(xué)習(xí) iOS 開發(fā)的好方式,給自己設(shè)定可拆解的目標(biāo),產(chǎn)生成就感。
“第一次知道 Swift Student Challenge 是在網(wǎng)上知道的。”在被問到同樣的問題時,另一位獲獎開發(fā)者馬文韜如此回答:“那個時候?qū)?AR 有興趣,剛好有了這個用 AR 控制頭球的主意,就拿來實現(xiàn)了?!?/p>
馬文韜目前就讀于蘇州北美國際高級中學(xué),年僅 17 歲的他的獲獎作品是一款模擬并且介紹 AI 神經(jīng)網(wǎng)絡(luò)的小游戲。由于最近 AI 比較火,剛好他正在學(xué)習(xí) AI 相關(guān)的一些技術(shù),看到 WWDC 的消息后,就想到可以做一個與之相關(guān)的應(yīng)用,演示 AI 神經(jīng)網(wǎng)絡(luò)相關(guān)的功能。
在觀看馬文韜的作品演示時,IT之家能夠明顯感覺到作品中的硬核技術(shù)元素,很難想象這是一位中學(xué)生完成的作品。
在聊到 Swift 開發(fā)語言時,馬文韜表示自己平時用 Swift 語言開發(fā)的機會確實不多,因為自己主要用 Unity,開發(fā)的游戲是直接可以在所有平臺運行,但是這次用 Swift 開發(fā)應(yīng)用,它覺得在具備基本的開發(fā)能力后,Swift 上手非??欤苤庇^,而且開發(fā)工具也很方便。
而對于想要學(xué)習(xí) Swift 開發(fā)的新手朋友,馬文韜也從自己的角度給出了一些竅門和建議,他表示,作為新手,多多動手練習(xí),先跟著做一些常見的例子很有用。然后可以找一個自己有興趣的方向,最好是可以看到結(jié)果的。這樣不斷能看到自己做出來的東西可以讓自己一直比較開心。同時他還提到,網(wǎng)上的資源很豐富,充分學(xué)會搜索自己需要的資料,不過 Swift 發(fā)展速度太快了,需要注意盡量找最新的資料。
今年 20 歲的獲獎?wù)邚堭╆稍诨貞泴W(xué)習(xí) Swift 的經(jīng)歷時,也強調(diào)了實踐的重要性。
“遇到問題-> 查詢解決方案-> 看不懂它的實現(xiàn)原理-> 繼續(xù)查詢->...-> 問題解決?!边@是他的基本流程,可能不會很成體系,但也非常有用。
同時,張皓晟表示還有開源社區(qū)如 Stack overflow,掘金,簡書,也是自己得以理解并使用 Swift 框架的不可多得的老師。而自己最初與 Swift 結(jié)緣,是通過學(xué)校的 iOS Club,社團(tuán)的技術(shù)組組長,也在一些功能的關(guān)鍵節(jié)上給了自己很多知道。另外,張皓晟表示蘋果的開發(fā)文檔也起到了一些作用,盡管看文檔是一件令人感到痛苦的事情。
張皓晟這次獲獎的作品是一款幫助玩家學(xué)習(xí)電路知識的小游戲,在游戲中,玩家可以循序漸進(jìn)地使用越來越多的模塊,以搭積木的方式將這些相同規(guī)格的元件放入網(wǎng)格,最終組裝出的電路需要被用來解開關(guān)卡設(shè)計的謎題。
說到作品的靈感,張皓晟表示創(chuàng)意來源于《我的世界(Minecraft)》,自己有段時間對 Minecraft 的紅石裝置研究頗深,希望自己能夠親手創(chuàng)造一個嚴(yán)謹(jǐn)有序的,并蘊含無窮潛力的游戲世界。
談到這次參加 Swift 挑戰(zhàn)賽,張皓晟坦言制作這個游戲的動機在一方面是拿獎,在另一方面,自己也曾玩過 Swift Playgrounds 的編程教學(xué),并被其美術(shù)設(shè)計吸引,而且其中含有豐富的引導(dǎo)機制。在真正將小 byte(Swift Playgrounds 教學(xué)游戲中的角色)帶到小朋友面前時,張皓晟發(fā)現(xiàn)它具有一種能夠讓他們以一種玩游戲的態(tài)度學(xué)習(xí)真正的編程知識的魔力。
同時張皓晟表示,在開發(fā)過程中,蘋果的 SwiftUI 對于自己實現(xiàn)控件和頁面的布局以及交互很有用,而 SpriteKit 幫助他將游戲邏輯具象化。而讓張皓晟感到意外的是,SpriteKit 的動畫意外地強大并兼顧易用性。它使得我能夠輕易實現(xiàn)比較絲滑的動畫。
而對于即將到來的 WWDC,張皓晟表示。自己比較關(guān)注 AI 相關(guān)的內(nèi)容,聽說 WWDC 即將推出 AI 應(yīng)用商店,或者一些更為強大的 AI 技術(shù),很期待能夠使用 AI 賦能傳統(tǒng)游戲和工具的時刻。
來自上海商學(xué)院的 21 歲獲獎?wù)呃钊羯汉蛷堭╆墒峭瑢W(xué),與 Swift 語言的結(jié)緣也是在學(xué)校 iOS Club 社團(tuán)開始,起初是拿到了社團(tuán)提供的 Mac 進(jìn)行入門學(xué)習(xí),學(xué)長學(xué)姐給了她很多指導(dǎo)建議,也提供了一些基礎(chǔ)的教程和示例代碼,讓她能夠快速入門。之后,李若珊逐漸對 Swift 語言產(chǎn)生興趣,并希望更深入地學(xué)習(xí),于是自己購買了一臺 MacBook Pro。擁有了自己的電腦后,便開始了更加深入的學(xué)習(xí)。同時她也參加了一些相關(guān)的比賽,這些成為自己磨練技能和挑戰(zhàn)自我的機會,在競爭中不斷進(jìn)步。
此外開源社區(qū)和蘋果官方資源也為李若珊提供了豐富的學(xué)習(xí)資料和工具。特別是蘋果官方的開發(fā)者文檔、示例代碼和開發(fā)者工具,為其提供了必要的技術(shù)支持,從而能夠更加深入地了解 iOS 開發(fā)的各個方面。
這次李若珊同學(xué)的獲獎作品是一款引導(dǎo)孩子用七巧板組合各種海洋生物圖案的小游戲,除了鍛煉動手能力和空間想象力,李若珊的作品還給予孩子們一個視覺上的獎勵。一旦拼出的海
洋生物完整,它們將栩栩如生地在虛擬海洋中游動,仿佛真實的海洋世界一樣,大大增加了作品的趣味性。
而在談到 Swift 開發(fā)對于自己的幫助時,李若珊也很有條理地做了列舉。首先是思維能力的提升,她認(rèn)為學(xué)習(xí) Swift 開發(fā)需要不斷思考和解決問題,這鍛煉了自己的邏輯思維能力和問題解決能力。而在編程過程中,需要將復(fù)雜的邏輯拆解成簡單的步驟,并找出最優(yōu)解決方案,這一點可以培養(yǎng)分析和判斷能力。
同時她表示雖然學(xué)習(xí) Swift 開發(fā)不是自己主要的學(xué)業(yè)方向,但她從中學(xué)會了如何利用技術(shù)手段解決實際問題。在未來,李若珊希望能夠帶著現(xiàn)在已掌握的技能去攻讀數(shù)字媒體方向
的碩士。同時,隨著移動互聯(lián)網(wǎng)的迅速發(fā)展,產(chǎn)品經(jīng)理成為了一個熱門的就業(yè)方向,李若珊覺得 Swift 開發(fā)讓她能夠更深入地了解移動應(yīng)用的開發(fā)流程和技術(shù)細(xì)節(jié),增加自己的就業(yè)選擇。
結(jié)語
“在 Apple,我們對于 App 開發(fā)的理念是人人能編程?!迸c獲獎開發(fā)者們交流的過程中,蘋果亞太及歐洲區(qū)開發(fā)者關(guān)系的負(fù)責(zé)人謝恩偉如是說。他表示,多年以來蘋果一直非常自豪能夠支持編程教育,以幫助世界各地的人們學(xué)習(xí)這一重要技能。而為學(xué)生應(yīng)該擁有與專業(yè)開發(fā)者相同的機會,這樣他們就能得到充足的資源來識別市場需求,接著設(shè)計和制作原型,到最后構(gòu)建出一個 App,從而解決他們關(guān)心的問題。
或許,長期以來蘋果的開發(fā)生態(tài)能夠一直充滿活力、生意盎然地發(fā)展壯大,無疑和蘋果對于學(xué)生開發(fā)者的重視密不可分,他們是蘋果開發(fā)生態(tài)能夠保持生命力的新鮮血液,同時蘋果帶來的教育資源以及商業(yè)機遇也在反過來幫助廣大學(xué)生開發(fā)者們在未來的職業(yè)生涯中取得的成功,這樣一個良性循環(huán),帶來的就是整個生態(tài)的生生不息、繁榮發(fā)展。
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。