张哥在写Github系列,看到了想帮张哥分担一下。正好工作室的学弟学妹们也需要会这个,就正好写个博客了。

因为我是iOS开发出生..所以我就从iOS的角度来写怎么用,不过放心,Android没有什么大的差别,我们后台的学弟都是这么干的!

看完张哥的文章,大概已经明白了Github是怎么使用的。但我想大部分人是想用Github里面的三方库,想去看看别人的开源项目的源代码,想去看看最近有没有什么新的牛逼的代码。但是怎么去找到这些东西呢。我想介绍的就是这方面的东西。

看Explore和Trending

大部分人的Github顶部栏可能是这样的…

github-1

但我的是这样的…

github-2

看到差别了吗?右上角我的比你们多了一个Explore…记得我大二的时候Github改版,把Explore去掉了,当时好像骂声一片。有人开发了一款插件。Github Menu Back说白了这玩意就是在你的Github顶部栏加上Explore,然后把你的头像放左边。足以见到Explore的重要性(不过这玩意得网站加载差不多才能出来..)。当然了要是不愿意用这个,可以点击头像,里面也有。如下图

github-3

我们点击一个看看。

github-4

进去之后左上角有四个选项。

github-5

一个一个介绍哈。

第一个 Showcases

github-6

第一个其实就是这个界面,点过去没啥区别。

就是按照某个方面,比如Package managers(其实就是三方库的管理器)。点进去里面都是某门语言的包管理器,比如iOS的cocoapods,前端的npm,vim的vundle。类比到Android里面应该就是Gradle了。不过这里应该没有Gradle..

比如还有web application frameworks,其实就是后台框架,肯定有rails的。

具体我就不介绍了。可以点进去看。在最下面有More showcases。

第二个 Integrations

github-7

Powerful integrations that help you and your team build software better, together.

其实就是一些工具的整合,可以更好的开发。

点进去里面有很多工具,比如Travis ci,这个现在用的很多,还有Github自家的编辑器Atom等等。

这个得自己发掘了..不多介绍。

第四个 Stars。

为啥跳第三个?因为第三个是重点…重要的放最后。

点Stars就会进入你Star过的项目里啦。这没啥好介绍的。也就不截图了。

github-8

好像有人曾经在知乎问过,程序员无聊的时候干什么。结果下面有人说,我逛Github能逛一上午…自从我发现Trending之后,我发现我也可以!

Trending说白了,就是某个时间段里Github上被star数量最多的项目和仓库被star数量最多的开发者!

我要一点一点仔细的介绍这个!

github-9

首先是左上角的。

这两个,是切换仓库和开发者的。

github-10

这里是切换时间的,可以选择天,周,和月。也就是每天每周每月被star次数最多的仓库。我以前上过一次Trending..完全不知道它这个算法咋写的,莫名其妙就上了,当然我上的是天..

最牛逼的,是右边,右边!!

你以为这就结束了?作为一个职业的开发者,你当然要找到自己的方面。我最为一个iOS开发者,当然是Objective-C和Swift了,偶尔我也会看一看ruby的。当然了,安卓一定要看java了~什么?没有java?选择other language即可~

github-11

当日期选择天的时候,一般会是一些开发者在微博@一些大v,然后引起一时轰动的项目,当然也有大项目。这些项目一般来说我觉得吧,质量参差不齐,有的很好有的也就一般..

当日期选择月的时候,那基本上就是一些很牛逼的库了,这些库一般来说真的是,开发项目必备了。这个质量,那绝对是,刚刚的。

现在语言选java,选today看下。

github-12

我写博客的时候语言选择java的时候是这样的..这时候就能发现完整的开源项目代码了。还有一些新出的开源库。这个时候,一般我来说,看到我觉得不错的,果断下载下来阅读一下代码。觉得代码牛逼,立马star..都不带停顿的,有的库,我就直接star了..因为太牛逼看不懂。

Trending基本上我隔个几天就会看一次,有的时候闲了,每天都会看,真的一看一上午,因为有时候顺手就下载下来看看里面的代码,看看差距了..

我们再选个month看看。

github-13

第一个,我都知道谷歌出的flexbox-layout..你看我一做iOS的都知道,那基本上就是非常非常值得开发者去用和学习的库了。

Trending会了,基本上能发现不少牛逼的开源库和开源的项目。这样就有的学习了。

你以为到这大招就放完了吗?怎么可能。

awesome系列

上Github,怎么能不知道awesome系列,这可是Github上总star数排名第十二的仓库。到我写文章的时候,35714star。

github-14

当然衍生的有各种awesome…比如awesome-iosawesome-androidawesome-javaawesome-android

github-15

awesome。这玩意干啥的?简单的说,就是对某一个方面Github上的资源的汇总大贴!

不想上Trending查,那就上awesome,帮你解决一切问题。比如awesome-android上有网络请求库,json解析库等等一系列功能的汇总,当然了,还有完整项目的汇总,我就不找了..毕竟iOS出生,安卓不熟悉。

你以为到这大招就放完了吗?怎么可能。

free-programming-books

这可是Github上总star数排名第三的仓库。到我写文章的时候,55328star。

github-16

免费的电子书!最重要的是,有中文的,有中文的,有中文的..重要的事情说三遍。虽然我推荐还是看英文,因为某些翻译简直爆炸。free-programming-books-zh地址放这了~

你以为到这大招就放完了吗?怎么可能。

搜索!

为啥加感叹号?因为这个功能,太牛逼了。

这个得举例说明…对了插一句,Github有时候访问超级慢。我都是走代理走的..

现在我们进到搜索界面,尝试搜索一下alert。

github-17

什么,哇好多但是我现在要搜索Swift的资源怎么办?左边有语言选择!点完就能进去。

github-18

什么,我要的语言没有,我想查一下ruby的alertview。那么,在搜索框输入,language:c就可以啦~

github-19

什么,这些星星星数好少啊。左边有选择哦,可以选择星星数量排序。

github-20

什么,我要1000star以上的项目!输入框加上stars:>=500!当然可以和language组合了~

github-21

什么,我要查找fork过的仓库,很多人会fork一份自己加很多东西,加上 fork:true就可以啦。

什么,你想查找的不是人时代码或者组织或者是人?左上角选择啦。

什么,我怎么知道这么多?看选择语言的下面!

github-22

在Cheat sheet里面有的!

github-23

什么,我懒得记那么多啊?在Advanced search里面可以输入的!

github-24

当然了,有时候我会觉得Github自身的搜索不行..我就会上谷歌..直接Github + 关键字..

不过大部分时间还是可以的。

这样的话,如果我在搜索框输入个star数量,(不能什么都不输入!因为有限制!),就可以看到Github上仓库的star排名了~

github-25

Github API

Github作为全世界最大同性交友网站,当然会开放接口了。可以自己做很多基于Github的客户端,也是一个练手的好方法。

在网站的最下面找API,点进去就可以啦。里面有很多开放接口,基本都是json格式的接口,用来做一个移动应用真是再好不过啦。

网址 Overview

我就不详细介绍了。

最后

以上,是我用Github那么久以来的一点感受。我一直觉得,学习写代码,最好的地方,就是Github,大量的看别人的源码,别人的开源库,能和世界上最顶尖的开发者一起学习,多么开心的一件事情~

对了,插一句。在iOS开发界有一个人,他是优酷的开发者,因为发布了几个很牛逼的库,收到了facebook和uber的offer!他说他的学习方式,就是上Github看源码,然后自己琢磨写。

所以,我们都加油吧~