美文网首页
2019-06-03 GitHub 上的顶级项目都是做什么的?

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

作者: Albert陈凯 | 来源:发表于2019-06-04 08:46 被阅读0次

    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 可以说是其中的佼佼者了. 支持的 语言多, 序列化性能高, 而且很省空间.

    相关文章

      网友评论

          本文标题:2019-06-03 GitHub 上的顶级项目都是做什么的?

          本文链接:https://www.haomeiwen.com/subject/ltjhxctx.html