采訪
唐巧:你好 ibireme,能否先向讀者簡單介紹一下自己?
ibireme:大家好,我叫郭曜源,是一個(gè) iOS 開發(fā)者,現(xiàn)居北京,就職于優(yōu)酷土豆。喜歡代碼,愛好設(shè)計(jì)與音樂。
唐巧:我發(fā)現(xiàn) YYKit 是在這個(gè)月初上傳到 github 上的,但是它的代碼量非常大,能否介紹一下每個(gè)部分大概花了你多長時(shí)間?
ibireme:Category 等工具類大部分都是這一兩年工作和業(yè)余時(shí)間攢下來的。文本和圖片相關(guān)的那幾個(gè)項(xiàng)目是今年年初開始寫起的,陸陸續(xù)續(xù)寫了半年多。YYModel 花的時(shí)間最少,只有大概兩個(gè)周末。
唐巧:為什么選擇一次性開源這么多代碼,而不是一個(gè)一個(gè)開源呢?
ibireme:最初這些代碼我都是寫在一個(gè)工程里,代碼量比較多,相互之間也有很多依賴。準(zhǔn)備發(fā)布時(shí),我覺得這樣很不方便別人使用,這才按功能拆開成一個(gè)個(gè)小的組件,然后一起發(fā)布的。
唐巧:這些開源庫在國內(nèi)外都收到了大量的好評,這個(gè)有沒有超出你的預(yù)期?
ibireme:發(fā)布前我有預(yù)期會(huì)收到不少關(guān)注,但是發(fā)布后收到的好評還是大大超出我的預(yù)料。最令我驚訝的是 Facebook 和 Uber 等國外的工程師也關(guān)注到這個(gè)項(xiàng)目,并且還以此向我發(fā)出了工作邀請,這讓我非常激動(dòng)。
唐巧:你對 YYKit 后續(xù)的發(fā)展上有什么計(jì)劃嗎?
ibireme:現(xiàn)在只是計(jì)劃進(jìn)行一些正常的維護(hù)工作,保證穩(wěn)定性。未來如果有合適的東西,我也會(huì)嘗試加到里面的,但應(yīng)該不會(huì)有太大改變了。
唐巧:YYKit 是你的業(yè)余作品,我很好奇你是如何保證工作之余還有這么高產(chǎn)的?
ibireme:最近一年我工作不太忙,很少加班,空閑時(shí)間比較多。另外我比較宅,平時(shí)喜歡待在家里做一些喜歡的事情。說起來,應(yīng)該是充足的時(shí)間加上個(gè)人興趣讓我完成了這些項(xiàng)目吧。
唐巧:你如何看待 Swift 語言,有沒有計(jì)劃過用 Swift 重寫你的 YYKit?
ibireme:相對于 Objective-C 來說,我覺得 Swift 無疑是更優(yōu)秀、更現(xiàn)代的語言。目前我對 Swift 研究并不多,工作中也沒有用到,但未來我會(huì)把時(shí)間更多投入到 Swift 中去。YYKit 中不少東西更適合于 C/Objective-C,所以我沒有計(jì)劃用 Swift 重寫整個(gè)項(xiàng)目。我可能會(huì)用 Swift 寫一些新的東西,以充分發(fā)揮 Swift 的特性。
唐巧:你在 iOS 開發(fā)上是如何快速成長起來的?有沒有什么心得可以分享給 iOS 開發(fā)新手?
ibireme:我接觸 iOS 開發(fā)的時(shí)間很早,但是一直都是在工作之余靠著興趣自學(xué)的。14 年我還在人人網(wǎng)時(shí),部門內(nèi)部有個(gè)新項(xiàng)目需要 iOS 開發(fā),我才得以有機(jī)會(huì)在工作中使用 iOS 相關(guān)的技術(shù)。全職轉(zhuǎn)為 iOS 開發(fā)后,我花費(fèi)了大量的時(shí)間閱讀和學(xué)習(xí)各種開源的代碼、研究其中的實(shí)現(xiàn)原理、嘗試自己實(shí)現(xiàn)相關(guān)技術(shù)、嘗試在工作中使用,這使得我在 iOS 開發(fā)技術(shù)上進(jìn)步很快。對于 iOS 開發(fā)來說,我覺得自學(xué)能力是很重要的。主動(dòng)去研究一些優(yōu)秀的開源項(xiàng)目、多在工作中實(shí)踐和學(xué)習(xí),這樣就能逐步提升個(gè)人技術(shù)水平了。
唐巧:你覺得哪些開發(fā)者對你影響最大?
ibireme:可能平時(shí)我更喜歡看代碼,對于開發(fā)者我倒是了解的不多吧。如果要選一位的話,我會(huì)選 Linus Torvalds。他的一句話我很喜歡:"Talk is cheap, show me the code"。
唐巧:在技術(shù)領(lǐng)域,你對未來有什么學(xué)習(xí)規(guī)劃嗎?
ibireme:在 iOS 方面,我可能會(huì)針對 Swift、音頻處理和合成等方面投入更多精力。另外我第一份工作是 Java 后臺開發(fā),工作時(shí)前后端、數(shù)據(jù)庫相關(guān)的東西也都接觸過,所以如果有時(shí)間的話我也會(huì)繼續(xù)學(xué)習(xí)這些技術(shù),即使不用在工作上,也能開拓眼界吧。