隱藏在 iOS 應用背後的人,我們和幾位學生開發者聊了聊
你也許早已聽說過蘋果開發者這一群體,但作為蘋果生態的重要組成部分,他們常常隱藏在應用背後,用程式設計將自己的創意和想法一一呈現,並通過落地後的應用與使用者間接溝通。
自 2013 年起,蘋果開始向大約 150 名學生授予獎學金,資助他們參加會議,待到 2016 年,蘋果推出了「人人能程式設計」計劃,鼓勵學習、編寫和講授程式碼,發展至今,全世界有數千萬學生可通過這項計劃學習程式設計、解決問題,以及建立可改變未來的 app。
喬布斯曾說,一個人有很多種活法,不同的人也有不同感恩這個世界的方式,但是他始終相信其中的一種方式是做出極致的東西,然後呈現給世人。你從沒有見過那些人,從來沒有握過他們的手,也從沒有聽過他們的故事也沒有機會把你的故事講給他們聽。但只要你能極為走心地製作出一樣東西,你們彼此間就完成了某種意義上的交流。而這些開發者也正是這樣一群人。
我們也有幸接觸到這個群體中的幾位,他們包括作為高中生開發者的唐子軒,大學生開發者李澤政和劉立冬。我們聽他們講述瞭如何成為開發者群體中的一員,又如何創作自己的應用,以及在此過程中的思考。
「興趣」促使他們成為開發者
在和這幾位開發者交流的過程中,他們談及為何接觸程式設計時,都表示與「興趣」擺脫不了干係,當然也有受親戚或者朋友的影響,以及出於解決實際問題的需要。
唐子軒講到,在小學六年級時,和其他同學一樣熱衷於玩⽹⻚小遊戲,但是又不希望被家長嚴格限制時間,對於小學生來說每週限額的那一兩個⼩時遊戲時間是遠遠不會夠的。⽗母⼯作忙,還換了帶 GPS 功能的智慧⼿機,他當時想利用這個定位功能在父母回家之前自己傳送簡訊警報。
經過對網路資料的搜尋,他第一次對程式設計有了大概的認識,此外他還購過一本 Android 4 開發,書中那些可以實現的功能、程式讓其⼤開眼界。儘管沒有成功做出程式,但他對程式設計已經產生了濃厚的興趣。在中考結束以後,才系統性學習了程式設計基礎知識,包括⼀些基礎的概念和演算法。
李澤政開始真正接觸程式設計則受到他哥哥的影響,後來便加入校內的 iOS 程式設計社團;而劉立冬則表示,大一暑期學院 Apple Club 組織的一次程式設計活動讓他體會到了 iOS 開發的樂趣,加上對 iOS 系統的喜愛,進而成為了一名開發者。
背後的努力
作為高中⽣開發者的唐子軒,不僅需要在學業、程式設計的精⼒分配上找到平衡點。他說最需要努力的地方在於如何找到門檻。國內的很多關於 iOS 的程式設計內容時間相對比較長,而有價值的文件又較少,很寶貴的教程和文件都由於種原因難以被利用,所以前期花了很多時間在搜尋基礎資料上。
李澤政對於 Swift 語言的瞭解,則在邊寫 app 邊在 stackoverflow 上查詢各種問題的過程中獲得。他認為,在學習程式設計的路上也走了不少彎路路。不過後來暑期他進入伯克利的夏校並選擇了計算機 CS61A 這門課,重新系統地學習了程式設計基礎知識。
由於學校沒有開展針對 iOS 的開發課程,劉立冬只好利用課餘時間學習⽹課及開發者文件,並開發一些小應用練手。此外,他還常與其他愛好 iOS 開發的同學分享交流經驗,總結記錄心得。
如何創作出自己的第一款應用
唐子軒的第一個能正常使用的 app,是一個根據 GPS 粗略定位、顯示當前地點天氣資訊 app。他詳細說到,當時剛放寒假,是想趁著幾天空閒時間試試看自己能做到哪一步,沒想到真的完美執行了,內心還是很激動的。這次寶貴的經歷也讓我對完整的 iOS app 編寫有了概念,意識到自己寫完整個 app 也並非難如登天。從那以後開始嘗試獨立開發 iOS app。
因為家里有很多寵物,而想要分享寵物的照片,這一需求促成了李澤政的第一款 app「喵狗說」的誕生。在製作這款 app 時他受到了很多人的幫助,包括學校里的程式設計社團的學長,他的哥哥等。他們傳授了一些經驗,包括如何選擇後端的服務商,設計 UI 等等。
劉立冬的第一款應用則是一款美食點評 app。從應用的介面到程式設計,均為個人獨立構思。檢驗和實現期間也遇到了不少難題,但通過產於其他開發者的經驗總結和官方文件得以解決。加之沒有開發週期限制,他儘可能多嘗試一些新特性,同時鍛鍊自主學習能⼒,事實證明這對之後開發有很大幫助。
「興趣」依舊是讓他們走下去的動力
對於一名準高三學⽣的唐梓萱來說,軟體開發並不是他的主業,但他仍然會課餘和放假的時間擠出一部分時間用來寫程式碼,他說,這源於其對程式設計的熱愛。而當通過自己的學習及嘗試實現一個功能、⼀句⼀句搭建起一整個 app 並完美執行的時候,他獲得的是極大的成就感和滿足感。
同樣李澤政也認為,他能夠堅持學習程式設計到現在的主要原因還是自己對開發的熱情。不管是編寫 iOS app 還是做學校佈置的程式設計作業,通過程式碼來解決問題對他來說都是一件非常有意思的事。
於劉立冬來說,iOS 開發不是一份工作,而是一種愛好,⼀種實現自己想法的途徑,一個改變自己和他人生活的契機,它無需堅持,而需享受。
開發者眼中 iOS 應用生態未來的發展趨勢
蘋果自 2008 年 7 月 10 日推出 App Store,其由最初的 500 款 app 發展到今天 200 萬款的量級,這與第三方開發者們的貢獻密不可分。現在的 iOS 應用生態也已經十分穩固和完善,蘋果生態與開發者們的關係也變的更加休慼相關。三位開發者也談了他們眼中 iOS 應用生態在未來的發展趨勢。
唐子軒覺得,現在的 iOS 應用生態已經十分穩固和完善,維穩和尋求新領域的突破是必然,蘋果會在穩步提高應用質量和數量的同時,尋求與更多專業軟體型公司、多元服務提供商的合作:比如推出 Adobe 軟體套裝的 iOS 完整版、和 Nintendo 開發平臺類遊戲等方式,進軍更硬核的使用者群體,也能進一步提高使用者粘性。
李澤政認為現在大多數人都不願意僅為了一個功能而去下載一個 app,大多數輕量級的 app 都能夠被小程式或者網頁等取代,以後大多數的 app 都會朝著在自己的領域做到最好的方向前進。開發者們可能會先使用網頁或者小程式來取得使用者,然後再推薦使用者下載 app 獲得更加完善的體驗。
而劉立冬的看法則是,iOS 應用會更加全球化和本地化。更多本土應用會走向全球,它們將針對各地區使用者使用習慣調整適應,以達到更好的使用者體驗。
iOS 開發者與其他系統/語言開發者的不同
唐子軒數年前曾嘗試在 Windows 上使用 Android Studio,但覺得效果不是很好。 他認為雖然 Swift 是一個相對年輕的語言,但是經過幾個大版本的迭代已經趨於穩定。不僅如此,開源的 Swift 的高擴充套件性也有很大前景,可用於伺服器等諸多領域。
他還表示 iOS 的存在一些優勢,在官方推出新功能後, 開發者也能迅速適配、應用在多達幾億臺 iOS 裝置上,以實現自己的創意。
李澤政的直觀感受是,開發 app 不僅是寫程式碼,還需要考慮到使用者體驗,UI 的美觀等等。當他在開發喵狗說時就曾經請過 UI/UX 的老師。當然,在寫程式碼⽅⾯ iOS 開發和其他語言也有很大的不同,⽐如其他語言就沒有 UIKit,不需要考慮如何⽤用程式碼寫好 UI 界⾯面。
成為「少年開發者獎學⾦」獲得者的經歷
每年舉辦的 WWDC 獎學金活動是為學生開發者專門設立的獎項,蘋果會從申請者中挑選 350 人,獲獎者不但可以免費獲得一張 WWDC 門票,也可以在現場參加專為這場為開發者專門舉辦的活動。而唐子軒、李澤政和劉立冬也都獲得過 WWDC 獎項,他們分享了這段經歷。
令唐子軒印象頗深的應該是,蘋果中國區總裁葛越⼥士和開發者關係團隊邀中國獲獎者共進晚餐。期間高管們給他們講了很多在蘋果開始工作以來的感想、和奇聞軼事。同時學生開發者的很多建議,會在將來為國內開發者提供更好的環境和機會。
最令李澤政難忘的是 WWDC 2017 時和蘋果的設計師⼀對一交流的經歷。短短 30 分鐘時間內,他向蘋果的設計師展示了自己的 app,設計師現場通過草稿的方式畫出了多種方案並給出了一些建議。
劉立冬印象最深的是 Apple Macintosh 開發團隊元⽼ Bud Tribble 以蘋果研發過程中對使用者資訊保安、隱私保護的關注和努力為例,呼籲開發者尊重使用者權利並遵循軟體加密、資訊公開透明化等基本準則;蘋果綠色環保先⾏者 Lisa Jackson 介紹公司在環境保護⽅面取得的成效及使⽤ 100% 可迴圈資源的未來規劃;在軟體易用性和教育領域,亦不乏相關專家和開發者的聲音。
開發者對於現有蘋果裝置評價
唐子軒認為,當前的蘋果裝置可以很好的相互協作,構成生態系統的閉環。而晶片效能的⻜速提升也給了開發者更廣的施展拳腳的空間,同時依賴於硬體上的進步,一些新的功能也得以實現,⽐如效果驚豔的 ARKit,更智慧的系統建議,缺點在於略貴且越來越貴。
李澤政表示,蘋果最新產品都表明他們將大⼒支援的 Core ML 和 ARKit 的應用。ARKit 允許開發者呼叫 iPhone X 的前置相機來獲取使用者面部的深度資訊,這樣可以做到更加真實的 AR 效果。他也希望蘋果能夠給開發者開放更多的接⼝,⽐如 NFC 模組。
蘋果裝置是學生開發者的一⼤開發成本。劉立冬介紹,在他們在開發晬顏的 AR 功能時,因為 ARKit 對裝置的要求,整個⼩組只能合用一名組員的 iPhone 7 Plus,整個過程不算順暢。若能將相關開發成本有效降低,相信會有更多學生群體加入 iOS 開發陣營中。
當前在開發的 app
唐子軒目前在開發一款待辦事項規劃類 app,他說雖然市面上同類 app 相當多、各有千秋,但他還是希望以此作為一個全新的起點,加入自己的想法,做出些具有獨創性的功能點。而目前已經大體開發完成,其還在調整動畫和外觀設計。
李澤政則談到了最得意的作品「喵狗說」。其是一款社交型的照片分享 app,主要讓人們分享自己寵物的萌照。它的一種新奇的玩法就是解除了上一個版本每個使用者只能點贊一個帖⼦一次的限制,可以讓大家為了自⼰喜歡的照片努⼒點贊⽽獲得「贊王」的稱號。在開發這個 app 時,他使用的後端是 Parse,但不久後就停⽌服務了。尋找新的後端成為他的一大難題,後來不得不修改相關程式碼,並採用國內的 Leancloud 做後端。
劉立冬則利用 ARKit 功能製作了名為「晬顏」的應用,其利用 AR 還原京劇人物整體形象。 他說在開發應用的過程中經歷了三次大改版,每次改動後很多介面和功能幾乎全得重寫。不過,晬顏上線 App Store 一年有餘,下載量達 2 萬多次。曾獲得兩次 App Store 首⻚應用推薦,同時也得到不少媒體的測評和推廣,對於⼀個非盈利、沒有任何資金支援的學⽣作品而言,其表現的確超乎了他們的預期。
關於成為 iOS 開發者的建議
唐子軒表示,學好英語是基本功、必不可少,合理利用現有的工具為自己找到更多資料、堅持奮鬥就會離自己的目標越來越近。
如果你足夠喜歡程式設計並且能大膽地發揮自己的想象力並開發出一個能在蘋果稽核官腦海中留下印象的 Playground,那麼他也一定會察覺到並支援你的意願,好讓你在程式設計的路上走的更遠。當然,我也會建議他們先學好基礎知識,否則就會像我一樣走很多彎路,李澤政說。
劉立冬則建議條件允許的同學多實踐,有想法就放手去做,與其他開發者勤交流。若有條件限制,可積極利用學校或學院的公共資源。
結語
⼀年一度的蘋果 WWDC 全球開發者大會,是一個平臺,讓數千名來自全球的蘋果開發者們聚在一起互相認識,互相交流,促進合作。也是新的創意的迸發地,讓開發者們在預覽即將到來的新功能時激發創造靈感,帶來更多更新穎、更有趣、更優秀的 app。
正是這樣的境遇讓唐子軒、李澤政和劉立冬們有了更加廣闊的平臺,給了他們展示自我想象和創意的契機,與此同時蘋果也集結著他們的創意讓蘋果生態變得更加豐富生動,並且一直充滿著活力。
相信在這樣一種迴圈之下,無論是學生開發者們還是蘋果都將走得更遠。