如何在 Github 上發現優秀的開源項目?

2021-01-11 開源中國

之前發過一系列有關 GitHub 的文章,有同學問了,GitHub 我大概了解了,Git 也差不多會使用了,但是還是搞不清 GitHub 如何幫助我的工作,怎麼提升我的工作效率?

問到點子上了,GitHub 其中一個最重要的作用就是發現全世界最優秀的開源項目,你沒事的時候刷刷微博、知乎,人家沒事的時候刷刷 GitHub ,看看最近有哪些流行的項目,久而久之,這差距就越來越大,那麼如何發現優秀的開源項目呢?這篇文章我就來給大家介紹下。

1. 關注一些活躍的大牛

GitHub 主頁有一個類似微博的時間線功能,所有你關注的人的動作,比如 star、fork 了某個項目都會出現在你的時間線上,這種方式適合我這種比較懶的人,不用主動去找項目,而這種基本是我每天獲取信息的一個很重要的方式。不知道怎麼關注這些人?那麼很簡單,關注我 stormzhang ,以及我 GitHub 上關注的一些大牛,基本就差不多了。

2. Trending

點擊下圖的 Explore 菜單到「發現」頁面

緊接著點擊 Trending 按鈕

這個 Trending 頁面是幹嘛的呢?直譯過來就是趨勢的意思,就是說這個頁面你可以看到最近一些熱門的開源項目,這個頁面可以算是很多人主動獲取一些開源項目最好的途徑,可以選擇「當天熱門」、「一周之內熱門」和「一月之內熱門」來查看,並且還可以分語言類來查看,比如你想查看最近熱門的 Android 項目,那麼右邊就可以選擇 Java 語言。

這樣頁面推薦大家每隔幾天就去看下,主動發掘一些優秀的開源項目。

3. Search

除了 Trending ,還有一種最主動的獲取開源項目的方式,那就是 GitHub 的 Search 功能。

舉個例子,你是做 Android 的,接觸 GitHub 沒多久,那麼第一件事就應該輸入 android 關鍵字進行搜索,然後右上角選擇按照 star 來排序,結果如下圖:

如果你是學習 iOS 的,那麼不妨同樣的方法輸入 iOS 關鍵字看看結果:

可以看到按照 star 數,排名靠前基本是一些比較火的項目,一定是很有用,才會這麼火。值得一提的是左側依然可以選擇語言進行過濾。

而對於實際項目中用到一些庫,基本上都會第一時間去 GitHub 搜索下有沒有類似的庫,比如項目中想採用一個網絡庫,那麼不妨輸入 android http 關鍵字進行搜索,因為我只想找到關於 Android 的項目,所以搜索的時候都會加上 android 關鍵字,按照 star 數進行排序,我們來看下結果:

可以看到 Retrofit、OkHttp、android-async-http 是最流行的網絡庫,只不過 android-async-http 的作者不維護了,之前很多人問我網絡庫用哪個比較好?哪怕你對每個網絡庫都不是很了解,那麼單純的按照這種方式你都該優先選擇 Retrofit 或者 OkHttp,而目前絕大部分 Android 開發者確實也都是在用這兩個網絡庫,當然還有部分在用 Volley 的,因為 google 沒有選擇在 GitHub 開源 volley,所以搜不到 volley 的上榜。

除此之外,GitHub 的 Search 還有一些小技巧,比如你想搜索的結果中 star 數大於1000的,那麼可以這樣搜索:

android http stars:>1000

當然還有其他小技巧,但是我覺得不是很重要,就不多說了。

有些人如果習慣用 Google 進行搜索,那麼想搜索 GitHub 上的結果,不妨前面加 GitHub 關鍵字就ok了,比如我在 google 裡輸入 GitHub android http ,每個關鍵字用空格隔開,然後搜索結果如下:

可以看到,基本也是我們想要的結果,只不過排序就不是單純的按照 star 來排序了。

福利大放送

相信以上三種方法夠大家遨遊在 GitHub 的海洋了,最後給大家獻上一些福利,這些項目是 GitHub 上影響力很大,同時又對你們很有用的項目:

這個項目目前 star 數排名 GitHub 第三,總 star 數超過6w,這個項目整理了所有跟編程相關的免費書籍,而且全球多國語言版的都有,中文版的在這裡:free-programming-books-zh,有了這個項目,理論上你可以獲取任何編程相關的學習資料,強烈推薦給你們!

俗話說,不會用 shell 的程式設計師不是真正的程式設計師,所以建議每個程式設計師都懂點 shell,有用不說,裝逼利器啊!而 oh-my-zsh 毫無疑問就是目前最流行,最酷炫的 shell,不多說了,懂得自然懂,不懂的以後你們會懂的!

GitHub 上有各種 awesome 系列,簡單來說就是這個系列搜羅整理了 GitHub 上各領域的資源大匯總,比如有 awesome-android, awesome-ios, awesome-java, awesome-python 等等等,就不截圖了,你們自行去感受。

GitHub 的使用有各種技巧,只不過基本的就夠我們用了,但是如果你對 GitHub 超級感興趣,想更多的了解 GitHub 的使用技巧,那麼這個項目就剛好是你需要的,每個 GitHub 粉都應該知道這個項目。

這個項目是我一個好朋友 Trinea 整理的一個開源項目,基本囊括了所有 GitHub 上的 Android 優秀開源項目,但是缺點就是太多了不適合快速搜索定位,但是身為 Android 開發無論如何你們應該知道這個項目。

這個項目跟上面的區別是,這個項目只整理了所有跟 Android UI 相關的優秀開源項目,基本你在實際開發終於到的各種效果上面都幾乎能找到類似的項目,簡直是開發必備。

這個項目是我的邪教群的一位管理員整理的,幾乎包括了國內各種學習 Android 的資料,簡直太全了,我為這個項目也稍微做了點力,強烈推薦你們收藏起來。

這個就不多說了,之前給大家推薦過的,國內一線網際網路公司內部面試題庫。

這是一份非常詳細的面試資料,涉及 Android、Java、設計模式、算法等等等,你能想到的,你不能想到的基本都包含了,可以說是適應於任何準備面試的 Android 開發者,看完這個之後別說你還不知道怎麼面試!

總結

GitHub 上優秀開源項目真的是一大堆,就不一一推薦了,授人以魚不如授人以漁,請大家自行主動發掘自己需要的開源項目吧,不管是應用在實際項目上,還是對源碼的學習,都是提升自己工作效率與技能的很重要的一個渠道,總有一天,你會突然意識到,原來不知不覺你已經走了這麼遠!

出處:微信公眾平臺:  AndroidDeveloper「googdev」

相關焦點

  • 盤點:2017年GitHub上30個優秀的機器學習項目
    我們比較了過去一年近8,800個開源的機器學習項目,從中選擇了30個表現優秀的,分享給讀者。這是一份非常精彩的名單,它仔細挑選了2017年1月至12月之間發布的最佳開源機器學習庫、數據集和應用程式。我們綜合考慮項目的受歡迎程度,參與度和進展程度來評估項目質量。為了給讀者更直觀的感受,使用GitHub上的關注量(星星數量)來表示項目熱度。
  • 推薦一些 GitHub 上值得前端學習的開源實戰項目,進階必看!
    最近好多同學問我了解找一些學習的實戰項目;看一個別人寫的優秀的項目,從中可以學到很多;比如代碼的規範,項目的結構;從項目作者每次提交記錄,去學習一些別人的開發思維以及開發整個項目的流程;下面我主要找了一些比較火的一些框架以及 node 項目。
  • 6月份Github上熱門的開源項目
    6月份GitHub上熱門的開源項目排行已經出爐啦,一起來看看上榜詳情吧!CPlusPlusThingshttps://github.com/Light-City/CPlusPlusThingsStar 5402這是一個適合初學者從入門到進階的倉庫,解決了面試者與學習者想要深入 C++及如何入坑 C++的問題。
  • 如何上傳項目到GitHub
    本文轉載自【微信公眾號:吾非同】,經微信公眾號授權轉載,如需轉載與原文作者聯繫 圖丨pixabaygithub作為開源的分布式版本管理系統,上面有眾多的優秀開源項目,也有豐富的學習資料,熟練使用github也是程式設計師的一項必備技能。
  • 從噹噹看打造高星 GitHub 開源項目的經驗
    維護一個有缺陷但是代碼清晰的項目,遠比維護一個代碼混亂但暫時未發現缺陷的項目要更加容易、更加受歡迎。」 —— 張亮大家好,我是張亮,目前任職噹噹架構部架構師一職,也是高可用架構群的一員。首先我介紹一下項目背景。
  • 安全專業人士最愛的 19 個 GitHub 開源項目
    GitHub上有許多開源項目可供安全專業人士選擇,而且每天都有新的項目出現。不妨將這些項目添加到你的工具庫,讓你工作起來更得心應手。
  • 適合Java新手的開源項目集合——在 GitHub 學編程
    在開源的世界裡,有著無數的 Java 項目等待你去發現探索,讓我們一起跟著本篇文章去看看有哪些開源項目吧?興趣是最好的老師,HelloGitHub 就是幫你找到編程的樂趣。>JavaScript 篇本期是 Java 篇 希望這篇文章能讓大家找到 GitHub 上適合自己學習的 Java 開源項目。
  • 在GitHub上8800個開源機器學習項目中,選出了其中的Top30
    大數據文摘作品編譯:葉一、Shan LIU、Aileen2017年是機器學習應用全面開花的一年,驚為天人的想法和項目層出不窮。我們對比了過去一年中近8800個開源機器學習項目,並挑選了其中較好的30個(Top 0.3%)列舉於此。
  • 點評10款Github上最火爆的國產開源項目
    衡量一個開源產品好不好,看看產品在Github的Star數量就知道了。由此可見,Github已經淪落為開源產品的「大眾點評」了。一個開源產品希望快速的被開發者知道、快速的獲取反饋,放到Github上面就可以了。
  • 2018 年度 GtiHub 開源項目 TOP 25:數據科學 & 機器學習
    如果你問怎麼學習的話,我可以給你一個暗示——開源項目!世界領先的科技公司通過在 GitHub 上發布其熱門算法的代碼,對項目進行開源。2018 年,在 Google 和 Facebook 等公司的帶領下,這類開源項目大幅增加。其中最好的那部分開源項目,寫代碼的研究者還提供了預訓練模型,從而讓你我這些人不必再浪費時間從頭開始創建高難度的模型。
  • 四大開源無人機項目,極客要Get了
    軟體組件的原始碼和版本可以在GitHub(https://github.com/paparazzi/paparazzi)上找到,讓它適應現成硬體或定製硬體的教程也可以在項目的維基(http://wiki.paparazziuav.org/wiki/Tutorials)上找到。
  • WAVE SUMMIT+2020:如何打造一個成功的AI開源項目?
    本次圓桌從三個主要問題出發,多維度剖析中國當下開源項目現狀,結合全球開源發展趨勢,探討 AI 開源項目的機遇與發展。 01 如何衡量開源項目是否成功?
  • 嚇一跳,阿里雲在GitHub上有400多個開源項目,應該是中國第一吧
    作為一個程式設計師,入行這麼多年來一直關注著開源的事情,今天心血來潮查了一下國內一些公司關於開源的信息,沒想到阿里和旗下的阿里雲讓我有點吃驚,排名第一不是百度、騰訊這些標榜自己是科技公司的巨頭,反而在GitHub全球貢獻排行榜上,阿里是唯一一家入圍GitHub 頂尖貢獻名單的中國公司。
  • 取代GitHub?工信部公布2020開源託管平臺項目結果
    日前,工業和信息化部技術發展司公布了「2020年開源託管平臺項目」的招標結果,工業和信息化部選擇Gitee來構建「面向中國的獨立,開放原始碼託管平臺」。據悉,該項目由深圳市奧思網絡科技有限公司(開源中國)牽頭,與國家工業信息安全發展研究中心、工業和信息化部電子第五研究所、中國電子技術標準化研究院、華為技術有限公司、奇安信科技集團股份有限公司、浪潮電子信息產業股份有限公司、蘇州稜鏡七彩信息科技有限公司、北京理工大學、西南科技大學共10家單位組成的聯合體中標該項目,聯合體將依託碼雲Gitee建設中國獨立的開源託管平臺。
  • 2018年阿里巴巴關於Java重要開源項目匯總
    地址:https://github.com/alibaba/fastjson4. 服務框架 DubboApache Dubbo (incubating) |是阿里巴巴的一款高性能、輕量級的開源Java RPC框架,它提供了三大核心能力:面向接口的遠程方法調用,智能容錯和負載均衡,以及服務自動註冊和發現。
  • 從星際2深度學習環境到神經機器翻譯,上手機器學習這些開源項目必...
    另外,雷鋒網 AI 研習社在原文的基礎上補充了部分開源項目,為 AI 開發者提供更加詳細的 AI 項目和資源。機器學習是用數據來學習、概括、預測的研究。近幾年,隨著數據的開發、算法的改進以及硬體計算能力的提升,機器學習技術得以快速發展,不斷延伸至新的領域。
  • GitHub 的 App 會開源嗎?
    早在 2019 年的 GitHub Universe 大會上,GitHub 官方就宣布,他們即將推出移動端 App。而近日,GitHub APP 終於問世了。作為世界上最受歡迎的同性交友網站,在發布之後自然是喜大普奔,但在此之外,也有很多開發者提出功能不太全面,希望可以添加比如代碼編輯之類的其他功能。
  • 基於TensorFlow2.0的中文深度學習開源書來了!GitHub趨勢日榜第一
    近日,一個叫做深度學習開源書的項目在火了。GitHub趨勢日榜排名全球第一,已斬獲2K+星。為什麼這麼火?因為這是一本基於TensorFlow 2.0 正式版的中文深度學習開源書。還包含電子書和配套原始碼。話不多說,一起來看看這本爆款書籍吧!
  • 擁抱雲原生,如何將開源項目用k8s部署?
    本文將重點分享阿里開源項目otter適配k8s部署的改造過程,其中的改造過程和技巧應該適用於將大多數開源項目改造到k8s進行部署。1.背景otter是阿里開源的分布式資料庫同步系統,基於資料庫增量日誌解析,並準實時同步到本機房或異地機房的mysql/oracle資料庫(相關內容可以參考https://github.com/alibaba/otter,本文不做過多贅述)。
  • GitHub硬核創客自製火星機器人,免費開源模擬「好奇號」
    並且開源了全部製作資料,引起眾多關注。它可以在坑坑窪窪的沙地上順暢行駛。在這個開源社區中作者公布了這個項目包括配套的控制器全部源文件但他表示,項目仍需進行大量調整才可以使其更加完善,基於目前的基礎平臺,任何有經驗的技術人員都可以進一步參與構建它。