當前位置:編程學習大全網 - 源碼下載 - 開源大牛是怎樣煉成的

開源大牛是怎樣煉成的

開源大牛是怎樣煉成的

前言

第壹次聽到?ibireme?這個名字,是看到他在?微博上分享?了?YYText?開源庫。當時我第壹眼見到 ?YYText 的功能示意 GIF 圖時(下圖所示),就被它豐富的功能吸引了。YYText 應該是我見到過的功能最強大的基於 CoreText 的排版框架了。

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

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

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

YYImage?— 功能強大的 iOS 圖像框架。

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

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

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

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

YYAsyncLayer?— iOS 異步繪制與顯示的工具。

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

采訪

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

ibireme:大家好,我叫郭曜源,是壹個 iOS 開發者,現居北京,就職於優酷土豆。喜歡代碼,愛好設計與音樂。

唐巧:我發現 YYKit 是在這個月初上傳到 github 上的,但是它的代碼量非常大,能否介紹壹下每個部分大概花了妳多長時間?

ibireme:Category 等工具類大部分都是這壹兩年工作和業余時間攢下來的。文本和圖片相關的那幾個項目是今年年初開始寫起的,陸陸續續寫了半年多。YYModel 花的時間最少,只有大概兩個周末。

唐巧:為什麽選擇壹次性開源這麽多代碼,而不是壹個壹個開源呢?

ibireme:最初這些代碼我都是寫在壹個工程裏,代碼量比較多,相互之間也有很多依賴。準備發布時,我覺得這樣很不方便別人使用,這才按功能拆開成壹個個小的組件,然後壹起發布的。

唐巧:這些開源庫在國內外都收到了大量的好評,這個有沒有超出妳的預期?

ibireme:發布前我有預期會收到不少關註,但是發布後收到的好評還是大大超出我的預料。最令我驚訝的是 Facebook 和 Uber 等國外的工程師也關註到這個項目,並且還以此向我發出了工作邀請,這讓我非常激動。

唐巧:妳對 YYKit 後續的發展上有什麽計劃嗎?

ibireme:現在只是計劃進行壹些正常的維護工作,保證穩定性。未來如果有合適的東西,我也會嘗試加到裏面的,但應該不會有太大改變了。

唐巧:YYKit 是妳的業余作品,我很好奇妳是如何保證工作之余還有這麽高產的?

ibireme:最近壹年我工作不太忙,很少加班,空閑時間比較多。另外我比較宅,平時喜歡待在家裏做壹些喜歡的事情。說起來,應該是充足的時間加上個人興趣讓我完成了這些項目吧。

唐巧:妳如何看待 Swift 語言,有沒有計劃過用 Swift 重寫妳的 YYKit?

ibireme:相對於 Objective-C 來說,我覺得 Swift 無疑是更優秀、更現代的語言。目前我對 Swift 研究並不多,工作中也沒有用到,但未來我會把時間更多投入到 Swift 中去。YYKit 中不少東西更適合於 C/Objective-C,所以我沒有計劃用 Swift 重寫整個項目。我可能會用 Swift 寫壹些新的東西,以充分發揮 Swift 的特性。

唐巧:妳在 iOS 開發上是如何快速成長起來的?有沒有什麽心得可以分享給 iOS 開發新手?

ibireme:我接觸 iOS 開發的時間很早,但是壹直都是在工作之余靠著興趣自學的。14 年我還在人人網時,部門內部有個新項目需要 iOS 開發,我才得以有機會在工作中使用 iOS 相關的技術。全職轉為 iOS 開發後,我花費了大量的時間閱讀和學習各種開源的代碼、研究其中的實現原理、嘗試自己實現相關技術、嘗試在工作中使用,這使得我在 iOS 開發技術上進步很快。對於 iOS 開發來說,我覺得自學能力是很重要的。主動去研究壹些優秀的開源項目、多在工作中實踐和學習,這樣就能逐步提升個人技術水平了。

唐巧:妳覺得哪些開發者對妳影響最大?

ibireme:可能平時我更喜歡看代碼,對於開發者我倒是了解的不多吧。如果要選壹位的話,我會選 Linus Torvalds。他的壹句話我很喜歡:”Talk is cheap, show me the code”。

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

ibireme:在 iOS 方面,我可能會針對 Swift、音頻處理和合成等方面投入更多精力。另外我第壹份工作是 Java 後臺開發,工作時前後端、數據庫相關的東西也都接觸過,所以如果有時間的話我也會繼續學習這些技術,即使不用在工作上,也能開拓眼界吧。

結束語

剛剛 ibireme 在介紹自己學習方法的時候,提到了兩點我認為非常關鍵,壹個就是大量地閱讀優秀項目的源代碼,另壹個就是自己動手實踐來嘗試。

我在很久以前,分享過我認為 iOS 開發者可以提高自己能力的各種方法,見?《iOS 開發如何提高》,裏面也提到閱讀開源代碼和多寫代碼。我感覺 ibireme 將這壹點做到了極致,因此他在短短壹年多的時間,就能夠成長成為在業界有影響力的開源項目作者。

我們處在壹個信息爆炸的時代,每壹天都有大量的 iOS 開發文章出現,我們對這些文章如饑似渴,但是很多時候又淺嘗輒止。像 ibireme 這樣,專心閱讀幾個開源項目,然後自己動手真正實踐,或許才是正確的學習方式。

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

  • 上一篇:仙劍奇俠傳五出來了嗎?
  • 下一篇:青石苔詩
  • copyright 2024編程學習大全網