當前位置:成語大全網 - 書法字典 - 開源大牛是怎麽煉成的?

開源大牛是怎麽煉成的?

開源大牛是怎麽煉成的?

妳第壹次聽到嗎?伊比雷米。這個名字是看到他在嗎?在微博上分享?是嗎?YYText?開源庫。當我第壹次看到它的時候。當YYText的函數顯示GIF圖(如下圖)時,就會被其豐富的函數所吸引。YYText應該是我見過的基於CoreText的最強大的排版框架。

令人驚訝的是,雖然YYText的代碼量很大(超過10,000行),但它只是ibireme的作品之壹。Ibireme是在業余時間完成的?YYKit?工具庫,包括:

YYModel?—高性能iOS JSON模型框架。

YYCache?—高性能iOS緩存框架。

YYImage?—強大的iOS圖像框。

YYWebImage?—高性能iOS異步映像加載框架。

YYText?—功能強大的iOS富文本框架。

YYKeyboardManager?—iOS鍵盤監控管理工具。

YYDispatchQueuePool?—iOS全局並發隊列管理工具。

YYAsyncLayer?—iOS異步繪圖和顯示工具。

YYCategories?—功能豐富的類別類型工具庫。

采訪

唐喬:妳好,ibireme,妳能先向讀者簡單介紹壹下自己嗎?

Ibireme:大家好,我叫郭,是壹名iOS開發人員。我現在住在北京,在優酷土豆工作。喜歡代碼,喜歡設計和音樂。

唐喬:我發現YYKit是在本月初上傳到github的,但它的代碼量非常大。妳能告訴我妳每壹部分花了多長時間嗎?

I bire me:category之類的工具大部分都是過去兩年從工作和業余時間節省下來的。文字和圖片相關的項目今年年初開始寫,已經寫了半年多了。YYModel耗時最少,只有兩個周末左右。

唐橋:為什麽選擇壹次性開這麽多碼而不是壹個壹個開?

Ibireme:起初,我在壹個項目中編寫了所有這些代碼,代碼量很大,彼此之間有很多依賴關系。準備發布的時候,我覺得別人用起來不方便,就按照功能拆成小組件壹起發布了。

唐喬:這些開源庫在國內外都受到了很多好評。這是否超出了您的預期?

Ibireme:在發布前我預計會受到很多關註,但發布後我收到的好評仍然遠遠超出了我的預期。最讓我驚訝的是,臉書和優步等外國工程師也關註了這個項目,並向我發出了工作邀請,這讓我非常興奮。

唐喬:妳對YYKit未來的發展有什麽計劃嗎?

Ibireme:現在我們只是計劃進行壹些正常的維護工作以確保穩定性。如果以後有合適的東西,我會嘗試添加,但應該不會有太大變化。

唐橋:YYKit是妳的業余作品。我很好奇妳下班後怎麽能保證這麽高的產量。

Ibireme:在過去的壹年裏,我的工作並不忙。我很少加班,空閑時間比較多。此外,我是壹個居家的人,我通常喜歡呆在家裏做壹些我喜歡的事情。說起來,我應該有足夠的時間和個人興趣來完成這些項目。

唐橋:妳覺得雨燕語怎麽樣?妳有沒有計劃過用Swift重寫妳的YYKit?

Ibireme:與Objective-C相比,我認為Swift無疑是壹種更好、更現代的語言。目前,我對Swift沒有太多研究,也沒有在工作中使用它,但我將來會在Swift上投入更多時間。YYKit中的許多東西更適合C/Objective-C,因此我不打算用Swift重寫整個項目。我可能會用Swift寫壹些新東西來充分發揮Swift的特性。

唐喬:妳是如何在iOS開發中快速成長起來的?妳有什麽經驗可以和iOS開發新手分享嗎?

Ibireme:我很早就接觸了iOS開發,但我壹直是在工作之余靠興趣自學。14年我還在Renren.com時,部門裏有壹個新項目需要iOS開發,因此我有機會在工作中使用iOS相關技術。我花了大量時間閱讀和學習各種開源代碼,研究它們的實現原理,嘗試自己實現相關技術,並在全職轉向iOS開發後嘗試在工作中使用它們,這使我在iOS開發技術方面取得了快速進步。對於iOS開發來說,我認為自學能力非常重要。主動學習壹些優秀的開源項目,在工作中多實踐多學習,這樣可以逐步提高個人技術水平。

唐橋:妳認為哪些開發商對妳的影響最大?

Ibireme:也許我更喜歡閱讀代碼,但我不太了解開發人員。如果我必須選擇壹個,我會選擇萊納斯·托沃茲。我很喜歡他的那句話:“說話是廉價的,給我看代碼”。

唐橋:在技術領域,妳對未來有什麽學習計劃嗎?

Ibireme:在iOS方面,我可能會在Swift、音頻處理和合成方面投入更多精力。此外,我的第壹份工作是Java後臺開發,我在工作中接觸到了前後端和數據庫相關的東西,所以如果我有時間,我會繼續學習這些技術,即使我不用工作,也可以開闊我的視野。

結束語

剛才我在介紹我的學習方法時,提到了我認為非常關鍵的兩點。壹是大量閱讀優秀項目的源代碼,二是自己嘗試。

很久以前,我分享了我認為iOS開發人員可以提高能力的各種方法。看到了嗎?“如何改進iOS開發”還提到了閱讀開源代碼和編寫更多代碼。我感覺ibireme已經將這壹點做到了極致,所以他可以在短短壹年多的時間裏成長為業界有影響力的開源項目作者。

我們處在壹個信息爆炸的時代,每天都有大量的iOS開發文章出現。我們對這些文章如饑似渴,但很多時候我們只是淺嘗輒止。像ibireme壹樣,集中精力閱讀幾個開源項目,然後自己動手做可能是正確的學習方法。

我希望ibireme的故事可以激勵那些渴望成長為牛人的新iOS開發人員,我也希望中國能出現更多像YYKit這樣的優秀開源項目,以鼓勵大家。