從0開(kāi)始學(xué)習(xí) GitHub 系列之「08.如何發(fā)現(xiàn)優(yōu)秀的開(kāi)源項(xiàng)目」
之前發(fā)過(guò)一系列有關(guān) GitHub 的文章,有同學(xué)問(wèn)了,GitHub 我大概了解了,Git 也差不多會(huì)使用了,但是 還是搞不清 GitHub 如何幫助我的工作,怎么提升我的工作效率?
本文引用地址:http://2s4d.com/article/201705/359180.htm問(wèn)到點(diǎn)子上了,GitHub 其中一個(gè)最重要的作用就是發(fā)現(xiàn)全世界最優(yōu)秀的開(kāi)源項(xiàng)目,你沒(méi)事的時(shí)候刷刷微博、知乎,人家沒(méi)事的時(shí)候刷刷 GitHub ,看看最近有哪些流行的項(xiàng)目,久而久之,這差距就越來(lái)越大,那么如何發(fā)現(xiàn)優(yōu)秀的開(kāi)源項(xiàng)目呢?這篇文章我就來(lái)給大家介紹下。
1. 關(guān)注一些活躍的大牛
GitHub 主頁(yè)有一個(gè)類(lèi)似微博的時(shí)間線功能,所有你關(guān)注的人的動(dòng)作,比如 star、fork 了某個(gè)項(xiàng)目都會(huì)出現(xiàn)在你的時(shí)間線上,這種方式適合我這種比較懶的人,不用主動(dòng)去找項(xiàng)目,而這種基本是我每天獲取信息的一個(gè)很重要的方式。不知道怎么關(guān)注這些人?那么很簡(jiǎn)單,關(guān)注我 stormzhang ,以及我 GitHub 上關(guān)注的一些大牛,基本就差不多了。
2. Trending
點(diǎn)擊下圖的 Explore 菜單到“發(fā)現(xiàn)”頁(yè)面
緊接著點(diǎn)擊 Trending 按鈕
這個(gè) Trending 頁(yè)面是干嘛的呢?直譯過(guò)來(lái)就是趨勢(shì)的意思,就是說(shuō)這個(gè)頁(yè)面你可以看到最近一些熱門(mén)的開(kāi)源項(xiàng)目,這個(gè)頁(yè)面可以算是很多人主動(dòng)獲取一些開(kāi)源項(xiàng)目最好的途徑,可以選擇「當(dāng)天熱門(mén)」、「一周之內(nèi)熱門(mén)」和「一月之內(nèi)熱門(mén)」來(lái)查看,并且還可以分語(yǔ)言類(lèi)來(lái)查看,比如你想查看最近熱門(mén)的Android 項(xiàng)目,那么右邊就可以選擇 Java 語(yǔ)言。
這樣頁(yè)面推薦大家每隔幾天就去看下,主動(dòng)發(fā)掘一些優(yōu)秀的開(kāi)源項(xiàng)目。
3. Search
除了 Trending ,還有一種最主動(dòng)的獲取開(kāi)源項(xiàng)目的方式,那就是 GitHub 的 Search 功能。
舉個(gè)例子,你是做 Android 的,接觸 GitHub 沒(méi)多久,那么第一件事就應(yīng)該輸入 android 關(guān)鍵字進(jìn)行搜索,然后右上角選擇按照 star 來(lái)排序,結(jié)果如下圖:
如果你是學(xué)習(xí) iOS 的,那么不妨同樣的方法輸入 iOS 關(guān)鍵字看看結(jié)果:
可以看到按照 star 數(shù),排名靠前基本是一些比較火的項(xiàng)目,一定是很有用,才會(huì)這么火。值得一提的是左側(cè)依然可以選擇語(yǔ)言進(jìn)行過(guò)濾。
而對(duì)于實(shí)際項(xiàng)目中用到一些庫(kù),基本上都會(huì)第一時(shí)間去 GitHub 搜索下有沒(méi)有類(lèi)似的庫(kù),比如項(xiàng)目中想采用一個(gè)網(wǎng)絡(luò)庫(kù),那么不妨輸入 android http 關(guān)鍵字進(jìn)行搜索,因?yàn)槲抑幌胝业疥P(guān)于 Android 的項(xiàng)目,所以搜索的時(shí)候都會(huì)加上 android 關(guān)鍵字,按照 star 數(shù)進(jìn)行排序,我們來(lái)看下結(jié)果:
可以看到 Retrofit、OkHttp、android-async-http 是最流行的網(wǎng)絡(luò)庫(kù),只不過(guò) android-async-http 的作者不維護(hù)了,之前很多人問(wèn)我網(wǎng)絡(luò)庫(kù)用哪個(gè)比較好?哪怕你對(duì)每個(gè)網(wǎng)絡(luò)庫(kù)都不是很了解,那么單純的按照這種方式你都該優(yōu)先選擇 Retrofit 或者 OkHttp,而目前絕大部分 Android 開(kāi)發(fā)者確實(shí)也都是在用這兩個(gè)網(wǎng)絡(luò)庫(kù),當(dāng)然還有部分在用 Volley 的,因?yàn)?nbsp;google 沒(méi)有選擇在 GitHub 開(kāi)源 volley,所以搜不到 volley 的上榜。
除此之外,GitHub 的 Search 還有一些小技巧,比如你想搜索的結(jié)果中 star 數(shù)大于1000的,那么可以這樣搜索:
android http stars:>1000
當(dāng)然還有其他小技巧,但是我覺(jué)得不是很重要,就不多說(shuō)了。
有些人如果習(xí)慣用 Google 進(jìn)行搜索,那么想搜索 GitHub 上的結(jié)果,不妨前面加 GitHub 關(guān)鍵字就ok了,比如我在 google 里輸入 GitHub android http ,每個(gè)關(guān)鍵字用空格隔開(kāi),然后搜索結(jié)果如下:
可以看到,基本也是我們想要的結(jié)果,只不過(guò)排序就不是單純的按照 star 來(lái)排序了。
福利大放送
相信以上三種方法夠大家遨游在 GitHub 的海洋了,最后給大家獻(xiàn)上一些福利,這些項(xiàng)目是 GitHub 上影響力很大,同時(shí)又對(duì)你們很有用的項(xiàng)目:
free-programming-books
這個(gè)項(xiàng)目目前 star 數(shù)排名 GitHub 第三,總 star 數(shù)超過(guò)6w,這個(gè)項(xiàng)目整理了所有跟編程相關(guān)的免費(fèi)書(shū)籍,而且全球多國(guó)語(yǔ)言版的都有,中文版的在這里:free-programming-books-zh,有了這個(gè)項(xiàng)目,理論上你可以獲取任何編程相關(guān)的學(xué)習(xí)資料,強(qiáng)烈推薦給你們!
oh-my-zsh
俗話(huà)說(shuō),不會(huì)用 shell 的程序員不是真正的程序員,所以建議每個(gè)程序員都懂點(diǎn) shell,有用不說(shuō),裝逼利器啊!而 oh-my-zsh 毫無(wú)疑問(wèn)就是目前最流行,最酷炫的 shell,不多說(shuō)了,懂得自然懂,不懂的以后你們會(huì)懂的!
awesome
GitHub 上有各種 awesome 系列,簡(jiǎn)單來(lái)說(shuō)就是這個(gè)系列搜羅整理了 GitHub 上各領(lǐng)域的資源大匯總,比如有 awesome-android, awesome-ios, awesome-java, awesome-Python 等等等,就不截圖了,你們自行去感受。
github-cheat-sheet
GitHub 的使用有各種技巧,只不過(guò)基本的就夠我們用了,但是如果你對(duì) GitHub 超級(jí)感興趣,想更多的了解 GitHub 的使用技巧,那么這個(gè)項(xiàng)目就剛好是你需要的,每個(gè) GitHub 粉都應(yīng)該知道這個(gè)項(xiàng)目。
android-open-project
這個(gè)項(xiàng)目是我一個(gè)好朋友 Trinea 整理的一個(gè)開(kāi)源項(xiàng)目,基本囊括了所有 GitHub 上的 Android 優(yōu)秀開(kāi)源項(xiàng)目,但是缺點(diǎn)就是太多了不適合快速搜索定位,但是身為 Android 開(kāi)發(fā)無(wú)論如何你們應(yīng)該知道這個(gè)項(xiàng)目。
awesome-android-ui
這個(gè)項(xiàng)目跟上面的區(qū)別是,這個(gè)項(xiàng)目只整理了所有跟 Android UI 相關(guān)的優(yōu)秀開(kāi)源項(xiàng)目,基本你在實(shí)際開(kāi)發(fā)終于到的各種效果上面都幾乎能找到類(lèi)似的項(xiàng)目,簡(jiǎn)直是開(kāi)發(fā)必備。
Android_Data
這個(gè)項(xiàng)目是我的邪教群的一位管理員整理的,幾乎包括了國(guó)內(nèi)各種學(xué)習(xí) Android 的資料,簡(jiǎn)直太全了,我為這個(gè)項(xiàng)目也稍微做了點(diǎn)力,強(qiáng)烈推薦你們收藏起來(lái)。
AndroidInterview-Q-A
這個(gè)就不多說(shuō)了,之前給大家推薦過(guò)的,國(guó)內(nèi)一線互聯(lián)網(wǎng)公司內(nèi)部面試題庫(kù)。
LearningNotes
這是一份非常詳細(xì)的面試資料,涉及 Android、Java、設(shè)計(jì)模式、算法等等等,你能想到的,你不能想到的基本都包含了,可以說(shuō)是適應(yīng)于任何準(zhǔn)備面試的 Android 開(kāi)發(fā)者,看完這個(gè)之后別說(shuō)你還不知道怎么面試!
總結(jié)
GitHub 上優(yōu)秀開(kāi)源項(xiàng)目真的是一大堆,就不一一推薦了,授人以魚(yú)不如授人以漁,請(qǐng)大家自行主動(dòng)發(fā)掘自己需要的開(kāi)源項(xiàng)目吧,不管是應(yīng)用在實(shí)際項(xiàng)目上,還是對(duì)源碼的學(xué)習(xí),都是提升自己工作效率與技能的很重要的一個(gè)渠道,總有一天,你會(huì)突然意識(shí)到,原來(lái)不知不覺(jué)你已經(jīng)走了這么遠(yuǎn)!
覺(jué)得不錯(cuò),不妨隨手轉(zhuǎn)發(fā)、點(diǎn)贊,都是對(duì)我良心張莫大的鼓勵(lì)!
評(píng)論