2019-06-03 GitHub 上的顶级项目都是做什么的?

https://zhuanlan.zhihu.com/p/58449931

https://zhuanlan.zhihu.com/p/59125383

前一阵看到同事在用一个名叫 AirFlow 的工具,而我竟然素未耳闻,一番搜索之后发现这个 工具是 Apache 的顶级项目,而且在 GitHub 上有 1w+ 的 Star。震惊之余,感觉有必要 把 GitHub 上常用工具捋一遍,以避免以后发生重复造轮子的情况。计划是把 GitHub 上 5k+ Star 的项目都知道是做什么用的,每周看 50 个,数据来源是这里:https://gitstar-ranking.com/repositories

下面是本周的记录:

教程资源类

  1. freeCodeCamp/freeCodeCamp
    免费代码训练营

  2. EbookFoundation/free-programming-book
    免费编程图书

  3. sindresorhus/awesome
    awesome 列表的列表。这个项目起源于某个人做了一个 awesome-php 的 php 优质资源 列表,然后大家就做了 awesome-python,awesome-vue 等各种列表,这个项目又把 各种 awesome 列表收集了起来。。

  4. CyC2018/CS-Notes
    国人编写的计算机基础教程,中文

  5. jwasham/coding-interview-university
    面试考点总结

  6. h5bp/Front-end-Developer-Interview-Questions
    前端工程师面试问题

  7. vinta/awesome-python
    Python 的一些优质资源. 前面提到的 awesome 系列列表,不再赘述

  8. airbnb/javascript
    Airbnb 的 js 编码规范,值得参考。

  9. github/gitignore
    GitHub 提供的各种项目的 gitignore 文件模板,省了自己写了

  10. getify/You-Dont-Know-JS
    前端(JS)的一些坑的总结

  11. vuejs/awesome-vue
    Vue 的一些优质资源. awesome 系列,不再赘述

前端 UI 框架/库

  1. twbs/bootstrap
    Twitter 推出的前端 UI 框架,有网格系统和各种组件,曾经常年在 GitHub 上排名第一,可以说是后端工程师画界面的利器。
    竞品:Semantic UI, pure-css

  2. FontAwesome/Font-Awesome
    字体和图标库,可以使用 SVG 和字体等等多种格式。

  3. ant-design/ant-design
    蚂蚁金服出的 react/vue 组件库,前一阵大名鼎鼎的“圣诞彩蛋”就是这个库搞得。主要 提供 React 的组件库,用于企业中后端的后台的建设。关于 React/Vue 和前端的组 件化是一个很有意思的话题,可以查阅相关资料。
    和 Bootstrap 等的区别在于,Bootstrap 更偏向于 UI 方面,是 CSS 框架,而 antd 则是完整的包括 UI 和功能在内的 React 组件。可以理解为 Bootstrap 只做了“皮”, 而 antd 是 “皮” + “骨”。

  4. Semantic-Org/Sematic-UI
    和 Bootstrap 类似的一个组件库。Semantic UI 更强调使用语义化的 class 来定义样式

  5. google / material-design-icons
    Google 推出的 Material 风格图标库。

  6. daneden/animate.css
    CSS 动画效果库

大前端框架和库

  1. vuejs/vue
    Vue 是国人推出的一个前端框架,可以通过写不同的 Vue 组件来组成一个完整的应用, 支持服务端渲染(SSR)。和 React 一样,Vue 也使用了 Virtual-DOM 技术来提高性能。

  2. facebook/react
    facebook 推出的一个前端框架,特点是每个组件的 HTML/JS/CSS 组合在一起,使用 Virtual-DOM 渲染。在 React 出现之前,前端框架普遍采用了后端广泛使用的 MVC 模式,强调 HTML/JS/CSS 三者要分离,而 React 则反其道而行之,强调从组件构建, 可以说 React 的出现是前端界的一场革命。

  3. facebook/react-native
    使用 React 的语法来构建 native app,注意这里并不是使用一个 iOS 或者 Android 的 WebView 中嵌套了一个 webapp,而是直接使用 JS 来操作原生组件。

  4. angular/angular.js
    Google 推出的前端框架,没用过

  5. reactjs/redux
    react.js 的一个组件,用来管理数据。

  6. meteor/meteor
    前几年火过一阵,号称要统一前后端,然而我从来没搞明白到底是干啥的,如今热度已经 大减了。HN 上甚至直接有人问 Is meteor.js dead?

  7. webpack/webpack
    用于打包前端资源

  8. chartjs/Chart.js
    前端数据可视化组件

  9. electron
    可以使用前端的工具链来编写桌面应用,同时能够跨平台。

  10. jQuery
    老牌的跨浏览器兼容库。随着浏览器的发展,现在使用 jQuery 的越来越少了。

  11. create-react-app
    用来构造 react app 的辅助工具。

  12. d3.js
    前端数据可视化组件

后端工具

  1. elasticsearch
    使用 Java 编写的一个搜索工具,要实现全文搜索的话,选择 ES 就对了。

  2. moby
    Docker 的内核. Docker 可以让你打包应用的所有环境, 像虚拟机一样隔离, 但是又不像虚拟机 一样过多消耗资源.

  1. ReactiveX/RxJava
    TODO 一种编程模式,现在还不是很了解。

机器学习

  1. TensorFlow
    Google 推出的深度学习库, 目前占主流地位.

语言

  1. Microsoft/TypeScript
    微软推出的一个 JavaScript 的超集。我们知道 JavaScript 是一个动态弱类型的语言, 这种特性在小项目上很方便,然而随着前端项目越来越大,强类型对于程序正确性的保证 就显得越来越重要了。TypeScript 重点就在于增强了类型,甚至名字都叫 TypeScript。
    强类型的语言是近年来语言的发展趋势,新语言诸如 Rust、Go、Swift 都是强类型的 语言。而一些老语言,比如 Python 也加入了 Type Hint 的功能来增强类型支持。

  2. Apple/swift
    Apple 推出的新语言,用来代替 Obj-C。

  3. golang
    Google 推出的编程语言。特点是通过 Goroutine 支持高并发。

  4. nodejs
    可以在服务器上运行的 js。

通用工具类

  1. hakimel / reveal.js
    使用 js 来做 PPT 的一个框架或者说工具

  2. GoogleChrome/puppeteer
    Google 推出的操作 Chrome 浏览器的 node.js API。可以用在自动化测试和爬虫等领域。 官方 API 的推出基本上意味着第三方工具已经失去意义了。比如说 Phantom.js 直接宣 布停止维护了。

  3. atom
    GitHub 推出的一个代码编辑器。

  4. oh-my-zsh
    zsh 的增强组件集,可以让你的 shell 异常强大, 建议刚学命令行的可以体验一下.

  5. vscode
    微软推出的代码编辑工具,目前占据了市场优势地位。

Web 框架

  1. rails
    Ruby 的一个 MVC 模式的 web 框架,当年可谓大红大紫,现在似乎热度有所衰减了, 可能是因为大家都不写 Web 应用了。

  2. expressjs
    Node.js 的一个 Web 框架。

  3. http://socket.io
    实现 WebSocket 的一个库,使用 node.js 编写。WebSocket 是在浏览器和服务器之间 实现全双工通信的一个协议。

  4. laravel
    一个比较现代的 PHP MVC web 框架,不过 PHP 这几年的热度衰减也很厉害,好多搞 PHP 的都直接转 Go 了。

内核

  1. torvalds/linux
    这个不用说了吧。评论里提到 Linux 的贡献者在 GitHub 上显示为正无穷, 厉害了.

更新: 更正了一些错误

这篇文章发过了,但是涉及到一些项目比较敏感,被删掉了,再发一遍。

GitHub 上面的顶级项目都是做什么的? 下面是第二周的学习记录:

起因:

前一阵看到同事在用一个名叫 AirFlow 的工具,而我竟然素未耳闻,一番搜索之后发现这个工具 是 Apache 的顶级项目,而且在 GitHub 上有 1w+ 的 Star。震惊之余,感觉有必要把 GitHub 上常用工具捋一遍,以避免以后发生重复造轮子的情况。计划是把 GitHub 上 5k+ Star 的项目 都知道是做什么用的,每周看 50 个,数据来源是这里:https://gitstar-ranking.com/repositories

教程资源类

  1. jlevy/the-art-of-command-line
    命令行的基础教程, 有中文翻译

  2. justjavac/free-programming-books-zh_CN
    免费中文编程书

  3. googlesamples/android-architecture
    Google 官方提供的 Android 应用架构例子

  4. sindresorhus/awesome-nodejs
    Nodejs 资源, awesome 系列, 不再赘述.

  5. toddmotto/public-apis
    一些免费的公共 API, 值得收藏.

前端 UI 框架/库

  1. moment/moment
    moment.js 是前端处理验证以及显示时间的一个库. 没想到这个功能这么常用啊, 竟然能进 GitHub 前100.

  2. ElementUI/Element
    饿了么出品的 Vue 组件库

  3. google/material-design-lite
    Google 的 Material Design 的一个简化版, 貌似现在不再支持了.

  4. Dogfalo/materialize
    Material 风格的前端 CSS 库

  5. callemall/material-ui
    Material 风格的 React 组件库

  6. necolas/normalize.css
    我们知道当不使用任何 CSS 的时候, HTML 页面在不同浏览器还是有略微不同的, 这是因为浏览 器自带了一些样式, 而 normalize 的意义就在于把这些样式统一起来. 有人把它比喻成女生化 妆的打底妆过程, 可以说是非常形象生动了~

  7. zurb/foundation-sites
    类似 Bootstrap 的前端 UI 框架, 貌似响应式支持更好一些.

大前端框架和库

  1. ionic-team/ionic
    使用 web 技术来编写移动应用的库. 和 React Native 相比可以说是两条不同的路子吧. Ionic 更加 web 一些.

  2. mrdoob/three.js
    前端的 3D 库. 可能需要一些基础的图形学知识才能用好.

  3. zeit/next.js
    基于 React 的一个框架. 前端不是很懂, 不多说了. 关于现在的前端三大框架 React/Vue/Angular 可以阅读前文.

  4. nwjs/nw.js
    前身是 NodeWebkit, 使用 web 技术来编写跨平台的桌面应用的工具.

  5. apache/incubator-echarts
    前端的一个显示饼图等示意图的库

  6. gatsbyjs/gatsby
    Gatsby.js 是一个基于 React 的静态网站生成器

  7. square/retrofit
    用于 Java 和 Android 的 HTTP 客户端

  8. AFNetworking/AFNetworking
    用于苹果系列系统的网络库

  9. babel/babel
    JavaScript 这些年的进化速度非常快, 但是不能保证浏览器升级足够快, 好多过时的浏览器还 有不少市场份额, 但是你又想用新的语法, 这时候就可以使用 babel, 他可以帮你把新版本的 JavaScript 编译到老版本的浏览器支持的语法.

  10. square/okhttp
    Square 提供的又一个 Java 和 Android 的 HTTP 客户端.

  11. blueimp/jQuery-File-Upload
    jQuery 的文件上传插件

  12. gulpjs/gulp
    JS 的构建工具, 有点类似于 C 语言的 make

  13. yarnpkg/yarn
    Facebook 出品的 Nodejs 包管理器, 貌似有比官方的 npm 优秀的地方, 不太清楚了.

  14. jashkenas/backbone
    老牌的前端框架了, 现在用的人应该很少了

后端工具

  1. ansible/ansible
    Ansible 是一个用于部署, 管理多台机器的工具. 和 Puppet 等工具不同的是, Ansible 不需要 再被控机上安装任何 Agent, 只需要能够 SSH 上去就行.
    Ansible 使用 Python 编写.

  1. google/guava
    Google 的 Java 核心库, 当想造 Java 的轮子的时候不妨来这里看看是不是已经有了.

  2. requests/requests
    Python 的第三方 HTTP 客户端, 接口相比标准库的urllib 友好一些, 不过有内存泄露的严重问 题. 建议生产应用考虑使用 pycurl 比较好, 虽然接口不太友好, 但是特别稳定.

语言

  1. iojs/node-v0.x-archive
    Node.js 老版本的归档, 不再赘述. 请参考 Nodejs

通用工具类

  1. typicode/json-server
    这个其实既是前端工具也是后端工具吧. 根据给定的 json 文件, 提供一个模拟接口. 在后端接 口还没有开发好, 或者需要测试的时候供前端调用, 非常方便.

  2. jykell/jykell
    jykell 是一个使用 Ruby 编写的静态网站生成器, 也就是说把你的网站预编译成 HTML. 经常用 在 GitHub Pages 上做免费的博客. 不过我个人更喜欢 Pelican.

  3. impress/impress.js
    又一个基于前端技术来做幻灯片的工具, 不过更加强调 CSS3 的应用, 效果更酷炫一些.

  4. 已删除

  5. jakubroztocil/httpie
    命令行调试接口的工具, 相比 curl 来说, 更加直观一点, 对新手友好. 不过我还是喜欢用 curl.

  6. resume/http://resume.github.com
    利用 GitHub 上的信息生成简历的工具

  7. nvbn/thefuck
    这个工具很有意思, 当你在命令行敲错命令的时候, 一定会心里默念一句: fuck. 现在你可以直 接再敲一遍 fuck, 他会帮你才出来你刚刚应该输入的正确命令.

  8. 已删除

  9. NARKOZ/hacker-scripts
    一个黑客的一些脚本, 比如说如果九点之后还在开发机上登录的话就给老婆发个短信解释一下 ...

  10. rg3/youtube-dl
    YouTube 视频下载工具

  11. adobe/brackets
    Adobe 出品的一个代码编辑器, 貌似现在已经不火了吧.

  12. zeit/hyper
    基于 Electron 做的一个终端模拟器, 不过我现在还在用 iterm2, 有空了体验下.

  13. discourse/discourse
    一个开源的论坛

Web 框架

  1. Pallets/flask
    Flask 是一个 Python 的微框架, 相对 Django 来说上手更简单. 不过我个人用得不多, 感觉业 务的复杂性是不可避免的, 框架并不能解决多少问题.

  2. spring-projects/spring-boot
    spring 框架相关的东西, 不太熟悉, 有做 Java 的同学欢迎在评论区补充.

  3. django/django
    老牌的 Python web 框架, 自带了 ORM 和管理界面, 配合 DRF 做后端 Restful API 爽歪歪.

架构

  1. kubernetes/kubernetes
    Kubernetes 经常被缩写成 K8S, 可以毫不犹豫地说, K8S 已经取得了容器编排市场的胜利. 用 Docker 打镜像可以避免装环境的困扰, 同时相对于虚拟机来说, 又不会有很多性能损失. 但 是当 Docker 构成的服务太多的时候, Container 的伸缩, 网络通信等等问题都需要系统性的解 决, 就好比想要多个进程同时运行就需要操作系统来管理一样, 这时候就需要 K8S 来做容器编 排工具了. 有人说, K8S 是云时代的操作系统, 我觉得这个比喻是非常好的.

  2. Google/protobuf
    使用 RPC 的时候, 可以选择不同序列化工具, ProtoBuffer 可以说是其中的佼佼者了. 支持的 语言多, 序列化性能高, 而且很省空间.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • 请允许我借鉴前辈们的东西~~~~ 感激不尽~~~~~ 以下为Android 框架排行榜 么么哒~ Android...
    嗯_新阅读 1,998评论 3 32
  • 我过得并不好,却也是一点不差,不过是放下了梦想,开始了生存,回到了家,承担了本该属于自己的责任,很简单,却也很难,...
    饭积极阅读 185评论 0 0
  • 开启春节加班模式后,这两天虽然已经不再有会员折扣,但生意依然火爆,对于客人们的慷慨与宽容,我惟有感激涕零。原本想让...
    贫僧法号铲屎阅读 455评论 0 0
  • 厦门路小学 皮佳佳 时光总是匆匆而过,刚刚还沉浸在紧张的复习中,转眼又到了自我总结的时刻,回首...
    皮_小皮阅读 185评论 0 1
  • 壹瞰|每日600+公众号,1500+篇文章中精选10余篇文章
    壹瞰阅读 70评论 0 0