一年一度的蘋果全球開發(fā)者大會(WWDC)將于北京時間6月4日凌晨1點(diǎn)在美國加州圣何塞開始舉行,屆時IT之家將應(yīng)邀前往參會并全程直播,敬請關(guān)注。
學(xué)生開發(fā)者獎學(xué)金是每年WWDC的重頭戲之一,目的是鼓勵更多學(xué)生加入編程。在WWDC 2019召開之前,IT之家聯(lián)系到了今年學(xué)生獎學(xué)金獲得者之一的潘維恒。
潘維恒,今年20歲,就讀于香港中文大學(xué),專業(yè)是數(shù)學(xué)與信息工程學(xué)。潘維恒表示,開放作品提交前不久才得知WWDC獎學(xué)金的存在,當(dāng)時又恰逢期中考試,所以留給我選題的時間并不多。曾經(jīng)也有一些比較平凡的點(diǎn)子,后來都被自己否決掉了。由于他就讀的專業(yè)是數(shù)學(xué)與信息工程學(xué),比較喜歡數(shù)學(xué)中一個叫做微分幾何的方向,研究的主要是曲線、曲面等幾何圖形的各種性質(zhì)。最后靈光一閃想到了其中一個叫做包絡(luò)(envelope)的概念,以此為靈感,花了一天的時間完成了Weave。
“Weave”
Weave是潘維恒此次參選WWDC19獎學(xué)金提交的Swift playground book,可以在iPad上的Swift playground中運(yùn)行。用術(shù)語來講的話,Weave的主要內(nèi)容是繪制直線族的包絡(luò)。簡而言之,取一個圓形,在圓周上定下一些等距分布的點(diǎn)。每連接兩個點(diǎn),就會構(gòu)成一條直線。如果按照某種規(guī)則,將一些點(diǎn)連起來的話,可以看到這些直線似乎組成了一條曲線,這條曲線就是這族直線的包絡(luò)。讓人意外的是,即使是很簡單的連線規(guī)則也可以生成很復(fù)雜的曲線。這一過程就像是在圓周上織線,所以取了“編織”(Weave)這個名字。
在Weave中,用戶可以通過自定義連線規(guī)則、點(diǎn)的數(shù)目在圓形、正方形或正三角形上編織,以構(gòu)成各種千奇百怪的圖形。例如,取圓上的一點(diǎn)作為起始點(diǎn),連接它右側(cè)的第1個點(diǎn)和第2個點(diǎn)、第2個點(diǎn)和第4個點(diǎn)、第3個點(diǎn)和第6個點(diǎn)……以此類推,最后會得到一條內(nèi)切于這個圓的心臟線(cardioid)。同時,點(diǎn)的數(shù)量越多,構(gòu)成的圖形越明顯。
Weave的目的一是讓用戶了解到Swift的函數(shù)式編程特性,即可以將函數(shù)或閉包(closure)作為參數(shù)傳入函數(shù)中,而在Weave中需要用這種方式傳入連線規(guī)則;二是希望用戶能領(lǐng)悟到一些數(shù)學(xué)之美,對數(shù)學(xué)產(chǎn)生一些興趣。
在開發(fā)應(yīng)用時你遇到過哪些困難?又是如何應(yīng)對的?
在開發(fā)Weave時遇到的困難不多,主要是由于Swift playground book比較新,網(wǎng)絡(luò)上可供參考的資源不多,且其本身目前也有一些bug。
去年七月,我在開發(fā)我的第一個app“Ortho - 透視修正相機(jī)”時遇到了不少困難。相機(jī)類的app涉及到非常多API的調(diào)用,而當(dāng)時我只是剛剛?cè)腴TSwift,只能慢慢地實(shí)現(xiàn)一個一個功能。后來基本完成后,由于這個app需要用到相機(jī),無法在模擬器上進(jìn)行測試,只好向周圍的朋友借各種iPhone機(jī)型進(jìn)行測試,也多虧了他們的幫助,我才能完成針對雙攝像頭機(jī)型、全面屏機(jī)型的適配。最后的一個困難是App Store的審核過程。當(dāng)時第一次提交的時候被以收集用戶隱私的問題駁回,但我的app完全沒有這么做。后來通過與蘋果方面一封封郵件的聯(lián)系才解決了這個問題。
獲得蘋果開發(fā)者獎學(xué)金有何感觸,對國內(nèi)正在學(xué)習(xí)開發(fā)的人有什么建議?
起初參選WWDC獎學(xué)金時只是抱著試試看的心態(tài),覺得自己的作品比較簡單,因此也沒有抱太大希望??吹将@獎郵件的那天早上,拿起手機(jī)掐掉鬧鐘,打開郵箱看到有一封蘋果發(fā)來的郵件,心里很忐忑,打開之后看到第一個詞是“congratulations”,真的是莫大的驚喜。我是蘋果的老用戶,在中學(xué)的時候就有了開發(fā)iOS app的想法,但由于那時課業(yè)繁重,網(wǎng)上也缺乏教程資源,自己也沒有什么好的想法,只好作罷。一直以來都是在網(wǎng)上看歷年的WWDC發(fā)布會,一想到其中的場景就要跳出小小的視頻播放窗口出現(xiàn)在眼前,當(dāng)然是激動不已了。十分感謝蘋果能給予我這樣的機(jī)會。
對國內(nèi)正在學(xué)習(xí)開發(fā)的人的建議是:除了編程技能外,設(shè)計技能、審美理念、心理學(xué)知識對app開發(fā)都有很重要的作用,也應(yīng)當(dāng)有所涉獵。
推薦閱讀:
《【W(wǎng)WDC 2019專訪】IT之家對話21歲開發(fā)者劉恒宇:編程為實(shí)現(xiàn)內(nèi)心想法,多“輸入”才能有“輸出”》
《【W(wǎng)WDC 2019專訪】IT之家對話15歲開發(fā)者于偉奇:獲得獎學(xué)金只是開始,要學(xué)習(xí)的還有很多》
《【W(wǎng)WDC 2019專訪】IT之家對話20歲女孩劉月琦:編程無關(guān)性別,只要你想,就去做吧!》
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。