當前位置:
首頁 > 最新 > 我喜歡開發帶給我的創造事物的感覺:專訪鄭昊天

我喜歡開發帶給我的創造事物的感覺:專訪鄭昊天

大學四年,鄭昊天已經獲得了宜家 IKODE@SHANGHAI Hackathon 第一名、Uber China Hackathon 第 3 名等多項開發大賽獎項,並曾在百度和渡鴉科技等知名科技公司實習。今年,他又獲得了 WWDC 18 獎學金。

如果你好奇「少年有成」的鄭昊天是如何步入 iOS 開發的世界,如何培養起自己的作品風格的,不妨跟 Price Tag 在本期 INTERVIEW 里一探究竟。


介紹一下你和你的作品

大家好,我是鄭昊天,網路常用 ID 為 Justin Fincher / JustZht。我目前是即將畢業的大四學生,業餘時間是一個獨立軟體和遊戲開發者,偶爾也做一些界面設計和 3D Art。很高興認識大家!

我的作品主要有:

Contributions For GitHub:一款能在通知中心展示個人 GitHub 提交圖表的 iOS 開源軟體;(t.cn/RBa8e3j)

Skyline:一款 Android 上的動態壁紙軟體,功能與 Pixel 手機自帶的三維場景壁紙相似,但區別是可以自定義讀取世界上任何一個地方的地形;(t.cn/RBaRL8V)

Epoch Core:一款 Tech Demo,主要演示了我個人正在開發中的太空遊戲 Epoch 的隨機星球模塊;(t.cn/RBaRVal)

一些小型 macOS 開源軟體,比如能讓 Chrome 通過 AirDrop 分享網頁的WebDrop (t.cn/R50G4wR),可以從 ArtStation 數據源設置壁紙的 ArtWall (t.cn/RBaRH3K) 等。

你是怎麼開始學習 iOS 開發的,對於同樣想入門開發的學生有沒有什麼建議或經驗可以提供給他們

我第一次接觸 iOS 開發是在高考完的暑假,當時正值 14 年的創業潮,我被拉入幾位學長的團隊負責基本的設計工作,在這個過程中見識了軟體從開發到上架的整個流程,因此萌生了學習 iOS 開發的念頭。

我在大一嘗試入門 iOS 開發時買了 Big Nerd Ranch 的 Objective-C 和 iOS 開發書籍,照著教程編寫了一個簡單的問答軟體。

當時編寫的軟體現在看來肯定不值一提,但這個過程中對我最大的觸動是我發現我可以更改我編寫的問答軟體的名稱為任何我想要的名字,比如「我的問答 App」。因為對於當時的我來說,App 開發是一件很高難度的事情,而突然間我發現桌面上的這麼多圖標中,有一個標示了屬於我的軟體可以拿去給大家炫耀,這個事情本身讓我有一種在創造事物的感覺,更給了我繼續學習和開發的激勵。

相比之下,大學的編程課程仍然停留在編程語言本身和命令行軟體的基本編程上而缺少對實際應用的介紹,特別是沒有讓大家明白學習軟體開發的最大意義是可以自己編寫程序解決自己平時遇到的需求,而不僅僅是作為畢業後找工作的一個工具而已。

這種誤解導致很多人都不明白自己學習編程語言的用處是什麼,更不明白自己所學的編程語言和日常大眾使用的軟體之間其實只有一步之遙,因此很多人一是覺得學習編程語言並沒有實際的用處,二是覺得應用類的軟體開發很困難。

但是我覺得只要有意識地由自己平時的想法和需求來進行學習和開發,不僅自己會覺得過程有趣,在得出成果的時候也會比單純的考試分數更能激勵自己,這是一個正循環的過程。

因此我走上了 iOS 開發的道路,結果在大一結束的暑假時接了一個外包,當時連 TableView 都不太熟的我硬是靠不停地在 Stack Overflow 查找代碼段給做了出來,做完之後對 TableView 也比較熟悉了。這對於我來說又是一個激勵,畢竟對於一個學生來說,能通過自己學的東西變現是一件很好的事情。

因此對於想入門開發的學生來說,我覺得首先不管怎麼樣,找一個平時的想法或者需求,然後自己圍繞著自己真正關心的這件事上開始著手查找資料和學習開發,這會比做學校布置的作業更有趣的多,也更容易一些。而且因為在做軟體的過程中會投入了思考,比如功能的選擇,界面的調整,最後得到的軟體是能反映出個人的思考和品味的,這本身在目前以大廠開發為主流的應用生態環境中就是一件很獨特的事情。

你開發的 App 藝術風格都非常獨特,你的審美或設計風格都來自於哪裡,獨立開發者應該如何入門學習設計?

我倒不是很清楚我自己的設計風格具體是什麼樣子,對於我來說,完整地描述我的審美也不是件容易的事情,因為我也沒有經歷過系統的美學教學,對美學上的方法和術語也不是很了解。但總的來說我的審美或許來自於小時候學習素描的經歷,這個事情本身對光照和空間感應該是有一定的訓練的。

我個人覺得獨立開發者在設計上可以先從排版入門,因為軟體界面在最基礎的狀態即線框圖的時候是沒有顏色,字體或是特殊的視覺效果的,有的只是如何組合元素的學問,一般來說只要排版設計好了基本最終結果就不會太差。然後在排版之上可以按照個人興趣看看其他的內容,可以去看蘋果和谷歌的設計系統指南,也可以去 Behance,Dribbble 等設計網站上多看別人的設計。

大學四年里你創作了很多小有名氣的個人作品,參加過很多黑客馬拉松等比賽並獲獎、先後還在渡鴉科技和百度實習過。課程之外你是如何安排時間和精力進行學習的?

如果說是處理學校課程的學習,我其實沒有真正處理好過學校和個人工作間的關係 ,我在學校翹課還是很嚴重的,這個也不建議大家做,因為到大四了會發現特別忙,甚至答辯完了別人都出去玩自己還要處理學校的相關事務。

在處理其它領域的知識學習上,我覺得主要還是邊做邊學吧,畢竟自己在做項目的過程中總會有新點子,其中就會有不清楚或者不會的內容。比如軟體需要適配系統的新特性,宣傳視頻需要另外一種軟體來渲染更好的效果或是其它的情況,都需要去學習新的事物並嘗試,學習失敗了就還是用之前的做法,成功了就可以說自己掌握了新的知識。

你開發的作品裡,數據最好的是哪一款,你最喜歡的又是哪一款?為什麼

數據最好的是 Skyline,在頂峰時期排名 Google Play 美國區應用榜第一,在軟體和遊戲總榜前十也呆了一周的時間 (數據源 AppAnnie,2018.1.22 日左右)。Skyline 的下載總量為 1.7 萬次,給我帶來的收入為 1.5 萬美元。

當然這款軟體還是有很多退款用戶的,從下載量和收入之比上也可見一斑,軟體評分上也不盡人意。這些的主要原因還是個人在開發軟體時技術選型的問題,選用了 Unity 引擎和 Android 原生代碼的混合架構,雖然初期開發十分快速,但也欠下了相應的技術債 (Tech Debt),軟體在性能和發熱上都不是太好,下一步會著手解決這些問題。

我個人最喜歡的是 Epoch Core,這款軟體之前稱之為 Lonely Planet,後因為和 Lonely Planet 出版社的商標爭議修改了名稱。Epoch Core 是一款 Tech Demo,主要演示了我個人在開發太空遊戲 Epoch 中所得到的一些成果,包括了完全隨機生成的星球系統。

Epoch 可以說是我個人版本的「無人深空」,我個人對太空遊戲和過程生成技術十分感興趣,也已經在這個項目上斷斷續續開發了三年的時間,不過目前仍然沒有一個確定的發布時間 (有一個非常早期的版本見於itch.io,如果有人想嘗試下的話),而 Epoch Core 就是我目前可以給大家展示的開發進展。

https://justzht.itch.io/epoch

你獲得了今年的 WWDC 獎學金,有什麼經驗可以分享?

WWDC 獎學金這兩年的要求都是編寫 Swift Playground,因此我個人感覺充分發揮 Swift Playground 的特性比如屬性的可視化修改界面和自動編譯更新等會更受青睞一些。此外多使用新框架能讓作品的思路更開拓些,機會也更大。

當然最主要的還是自己的創意啦,畢竟獎學金項目不是看業務代碼熟練度的,而是看重個人想法,技術難度和人文精神的,這三者不必都要滿足,有亮點就行。

性能上由於 Swift Playground 默認開啟 Logging,在運行循環的時候會拖累速度,可以在提交時改為能夠通過 plist 欄位關閉 Logging 的 PlaygroundBook 格式。提交的格式上 Playground 和 PlaygroundBook 都是允許的,但是仍然是推薦 PlaygroundBook,因為可以自定義很多展示效果 (比如將展示內容充滿半屏),可以將較長的代碼作為庫引入 book,不需要和關鍵代碼堆在一起,此外還可以編寫章節,邏輯上更有條理。

最後就是提交作品的時候會讓每人寫一段和代碼的經歷或者個人故事,這也是一個可以多多講述個人想法的地方,可以在編寫代碼的時候就整理下自己的思路。祝大家好運!

作品被 The Verge、Lifehacker 等國外知名媒體推薦是什麼感受?有什麼推廣經驗值得分享?

Skyline 被推薦這件事情對我來說也很突然,因為在這之前我寫信給 Android Police 並沒有回應,寫給 Android Authority 被報道後也只是引起了小規模的關注,我以為數據就會平穩下來了,沒想到過了幾天後突然被 Lifehacker 報道了,The Verge 緊接著就有了文章。

最初肯定是很激動的,但 The Verge 對軟體功能的報道有些偏差,蜂擁而來購買軟體的用戶發現需要的功能並沒有上線時便有了誤解,這對我來說也是壓力非常大的,急忙趕工把需要的功能做了出來。可以說是喜憂參半吧,喜當然是能被各媒體 Feature,憂的是自己的軟體沒有達到用戶的預期,以及可能會到來的差評。

對於推廣來說,我覺得前期要準備好一些相關的內容,比如宣傳視頻、宣傳文案、PressKit、給編輯的兌換碼等,包括軟體主頁用於被搜索引擎抓取的 meta tags 和軟體本身隱私權協議等內容也都要提前準備好,然後再準備開始上 Product Hunt 或者寫郵件求評測。對於不同的推廣站點可以在鏈接加上 ref 欄位,這樣方便統計腳本工作,此外 Product Hunt 的更新時間並不是國內的零點,這一點要注意。

當然軟體在大規模推廣前最好能先找朋友們內測一段時間,我就是在這裡吃了虧,因為我初期在 Skyline 項目上的時間分配非常畸形,我花了一個月驗證想法並把 Skyline 做了出來,然後竟然花了兩個月折騰 Skyline 的推廣視頻,因為當時的我十分想用 Octance Renderer 做一個逼真的宣傳短片。然而結果最後並沒有實現,而是用 AE 和 E3D 做了一個視頻匆匆了事。

在這兩個月裡面 Skyline 只被我裝在 Pixel 上日常使用,而 Pixel 作為原生系統+中高端性能的手機運行 Skyline 的感覺還挺不錯,因此我直接以正式軟體的方式發布了 Skyline(並沒有想到後面的事情)。

結果當用戶開始大規模購買的時候,Android 眾多系統版本和機型的問題導致的兼容性問題開始暴露出來,外加上 Skyline 並不是測試發布而是直接正式發布 (Google Play 可以以測試版本發佈於大眾,大眾可以購買,編寫反饋,但不能進行評分,這對於實驗性的軟體還是很有用的),導致軟體的評分迅速下降,這個時候我再熬夜修補已經於事無補了。因此,提前內測對於軟體的穩定性還是很有用的。

在推廣起效的時候,下載量增加,評論,反饋郵件和崩潰報告都會很多,此外還會有很多小媒體或 YouTube 主播會發郵件詢問相關事宜,個人建議可以提前準備一些回復短語 (比如回復退款申請或是回復軟體問題的模板),使用一些社交聚合工具,可以快速回復、查看社交網路被提及的內容等,給用戶一個好印象。:-)

分享一下你的主屏,介紹幾個對你比較重要的 App 吧

iOS:

Gyroscope,一款自我量化的軟體,軟體界面很有未來感(FUI)。

AppFigures,統計軟體下載數據和評論的工具。

Unread,支持Feedbin的 RSS 閱讀器,手勢交互值得一試。其最初開發團隊SuperTop也開發了 Castro 播客播放器。

macOS:

SalesX,可以直接從 menubar 查看 iTunes Connect 報告的軟體,61 的作品。

Deckset,用 Markdown 寫幻燈片,好處是讓幻燈片和文本文件一樣便於進行版本控制。

我們還能在哪裡關注到你和你作品的動態

Price Tag x Design+Code 國內首發特惠

Design+Code 是由國際知名設計師 Meng To 和他的團隊出品的關於 iOS 應用設計和開發的入門 + 進階教程。不管你是 iOS 開發新手,還是有著多年開發經驗的老手,這本書都能帶你對 iOS 應用和開發有一個全方位的認知和更深入的理解。

經過努力,Price Tag 現在正式將這本教程引入中國市場,並提供比官網優惠 $10 的價格,售價僅需 ¥256。除此以外,購買本教程你還將獲得:

與官網內容同步的 iOS 應用;

知名原型設計工具 Sketch 8 折優惠碼;

由 Meng To 出品的 Angel 2 Mockup 半價折扣;

知名原型設計工具 InVision Pro 半年免費訂閱。

你可以訪問下方小程序卡片購買 Design+Code 以及更多特惠正版軟體。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 PriceTag發現好應用 的精彩文章:

TAG:PriceTag發現好應用 |