Github前端项目排名
Github前端项目排名(2016-04-04)
一、前言
近几年前端技术日新月异,从 RequireJS 到 AngularJS 再到 React,似乎每天都有新的技术诞生。而大神们总能第一时间获取到最新资讯,在我们还在刀耕火种的年代就使用上各种高新技术,甚是膜拜。
为了赶上时代的脚步,加上昨天闲着蛋痛。。。就打算去 Github 研究一波,看看大家都在干什么。万一找到一个潜力股项目在萌芽阶段,然后我就去读懂它的源代码,努力成为项目主要贡献者,等星星上来之后,不就成为又一个大牛了吗!(想想就好...)。于是项目按星星排序,一个个研究。。。突然发现这样子太笨了,不如写个爬虫把所有信息都捉取过来弄个排行榜吧。正计划中又发现这个网站Github Rank,上面写着 by Github API v3。原来有 Github 有开放 api 的,还tm写爬虫那不是逗吗。。。
二、使用Nodejs生成排行榜
于是乎就用 Nodejs 编写了简单的脚本,自动生成前端项目的排行榜。前端项目指使用语言类型为 JavaScript 、 CSS 和 HTML 的项目。具体代码如下,大家可以复制过去玩玩,只要使用node index.js就可以生成最新的前端项目排行榜,当然如果你想自定义排行榜类型的话,修改一下源码,也很简单(代码使用了一些 ES6 的语法,如果大家对 ES6 不太熟悉,强烈推荐查看阮一峰老师的开源电子书 ECMAScript 6入门)。此外要注意的一点是生成的文档为 markdown 格式,所以你还需要一个相关的编辑器查看。 这份代码也可以在我的 Github 上查看。
var https = require('https');
var fs = require('fs');
var options = {
protocol: 'https:',
host: 'api.github.com',
path: '/search/repositories?q=language:javascript+language:css+language:html+stars:>=10000&sort=stars&order=desc&per_page=100',
method: 'GET',
headers: {
'User-Agent': 'frontend-repos-ranking',
}
};
var getRepos = new Promise(function(resolve, reject) {
var req = https.request(options, (res) => {
var data = '';
res.setEncoding('utf8');
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
resolve(data);
})
});
req.on('error', (e) => {
console.log(`problem with request: ${e.message}`);
});
req.end();
});
getRepos.then((repos) => {
var markdown =
`# frontend-repos-ranking
## ${(new Date()).toDateString()}
github上所有前端项目(HTML+CSS+JavaScript)的总排名!
本页面使用nodejs结合github的api自动生成,您可以通过运行\`node index.js\`来生成最新的排行榜。\n\n`;
markdown += ' Rank | Name(Description) | Star | Language | Created_At \n';
markdown += ' --- | --- | --- | --- | --- \n';
repos = JSON.parse(repos);
repos.items.forEach((item, index) => {
markdown += `${index+1}|[**${item.full_name}**](${item.html_url})<br><br>${item.description}|${item.stargazers_count}|${item.language}|${item.created_at.split('T')[0]}\n`;
});
fs.writeFile('README.md', markdown);
});
三、排行榜
接下来放出排名前100的前端项目,这样我就可以好好研究一下每一个项目啦(hehe...)。
博客园里的这表格样式太丑了。。。推荐到我的 Github 上查看
| Rank | Name(Description) | Star | Language | Created_At |
|---|---|---|---|---|
| 1 | FreeCodeCamp/FreeCodeCamp
The http://FreeCodeCamp.com open source codebase and curriculum. Learn to code and help nonprofits. |
101749 | JavaScript | 2014-12-24 |
| 2 | twbs/bootstrap
The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web. |
94459 | CSS | 2011-07-29 |
| 3 | mbostock/d3
A JavaScript visualization library for HTML and SVG. |
48331 | JavaScript | 2010-09-27 |
| 4 | angular/angular.js
HTML enhanced for web apps |
48295 | JavaScript | 2010-01-06 |
| 5 | FortAwesome/Font-Awesome
The iconic font and CSS toolkit |
41054 | HTML | 2012-02-17 |
| 6 | facebook/react
A declarative, efficient, and flexible JavaScript library for building user interfaces. |
39549 | JavaScript | 2013-05-24 |
| 7 | jquery/jquery
jQuery JavaScript Library |
38815 | JavaScript | 2009-04-03 |
| 8 | h5bp/html5-boilerplate
A professional front-end template for building fast, robust, and adaptable web apps or sites. |
33483 | JavaScript | 2010-01-24 |
| 9 | meteor/meteor
Meteor, the JavaScript App Platform |
33130 | JavaScript | 2012-01-19 |
| 10 | airbnb/javascript
JavaScript Style Guide |
32896 | JavaScript | 2012-11-01 |
| 11 | daneden/animate.css
A cross-browser library of CSS animations. As easy to use as an easy thing. |
30965 | CSS | 2011-10-12 |
| 12 | facebook/react-native
A framework for building native apps with React. |
29822 | JavaScript | 2015-01-09 |
| 13 | getify/You-Dont-Know-JS
A book series on JavaScript. @YDKJS on twitter. |
28689 | JavaScript | 2013-11-16 |
| 14 | hakimel/reveal.js
The HTML Presentation Framework |
27192 | JavaScript | 2011-06-07 |
| 15 | impress/impress.js
It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com. |
26984 | JavaScript | 2011-12-28 |
| 16 | moment/moment
Parse, validate, manipulate, and display dates in javascript. |
25424 | JavaScript | 2011-03-01 |
| 17 | adobe/brackets
An open source code editor for the web, written in JavaScript, HTML and CSS. |
25028 | JavaScript | 2011-12-07 |
| 18 | jashkenas/backbone
Give your JS App some Backbone with Models, Views, Collections, and Events |
24505 | JavaScript | 2010-09-30 |
| 19 | Semantic-Org/Semantic-UI
Semantic is a UI component framework based around useful principles from natural language. |
24411 | JavaScript | 2013-04-08 |
| 20 | expressjs/express
Fast, unopinionated, minimalist web framework for node. |
24289 | JavaScript | 2009-06-26 |
| 21 | mrdoob/three.js
JavaScript 3D library. |
24145 | JavaScript | 2010-03-23 |
| 22 | socketio/socket.io
Realtime application framework (Node.JS server) |
24047 | JavaScript | 2010-03-11 |
| 23 | blueimp/jQuery-File-Upload
File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads. |
23220 | JavaScript | 2010-12-01 |
| 24 | driftyco/ionic
Advanced HTML5 mobile development framework and SDK. Build incredible mobile apps with web technologies you already know and love. Best friends with AngularJS. |
23142 | JavaScript | 2013-08-20 |
| 25 | zurb/foundation-sites
The most advanced responsive front-end framework in the world. Quickly create prototypes and production code for sites that work on any kind of device. |
23026 | JavaScript | 2011-10-13 |
| 26 | google/material-design-icons
Material Design icons by Google |
23014 | CSS | 2014-10-08 |
| 27 | resume/resume.github.com
Resumes generated using the GitHub informations |
21789 | JavaScript | 2011-02-06 |
| 28 | nodejs/node
Node.js JavaScript runtime ✨����✨ |
21699 | JavaScript | 2014-11-26 |
| 29 | NARKOZ/hacker-scripts
Based on a true story |
21456 | JavaScript | 2015-11-21 |
| 30 | necolas/normalize.css
A collection of HTML element and attribute style-normalizations |
20603 | HTML | 2011-05-04 |
| 31 | gulpjs/gulp
The streaming build system |
20300 | JavaScript | 2013-07-04 |
| 32 | google/material-design-lite
Material Design Lite Components in HTML/CSS/JS |
19866 | HTML | 2015-01-14 |
| 33 | harvesthq/chosen
Chosen is a library for making long, unwieldy select boxes more friendly. |
19239 | HTML | 2011-04-18 |
| 34 | TryGhost/Ghost
Just a blogging platform |
19015 | JavaScript | 2013-05-04 |
| 35 | nnnick/Chart.js
Simple HTML5 Charts using the tag |
18875 | JavaScript | 2013-03-17 |
| 36 | jashkenas/underscore
JavaScript's utility _ belt |
17789 | JavaScript | 2009-10-25 |
| 37 | Modernizr/Modernizr
Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser. |
17706 | JavaScript | 2009-09-25 |
| 38 | ariya/phantomjs
Scriptable Headless WebKit |
17545 | HTML | 2010-12-27 |
| 39 | Dogfalo/materialize
Materialize, a CSS Framework based on Material Design |
17470 | JavaScript | 2014-09-12 |
| 40 | caolan/async
Async utilities for node and the browser |
17083 | JavaScript | 2010-06-01 |
| 41 | select2/select2
Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results. |
16753 | JavaScript | 2012-03-04 |
| 42 | reactjs/redux
Predictable state container for JavaScript apps |
16538 | JavaScript | 2015-05-29 |
| 43 | tastejs/todomvc
Helping you select an MV* framework - Todo apps for Backbone.js, Ember.js, AngularJS, and many more |
16505 | JavaScript | 2011-06-03 |
| 44 | emberjs/ember.js
Ember.js - A JavaScript framework for creating ambitious web applications |
16016 | JavaScript | 2011-05-25 |
| 45 | vuejs/vue
Simple yet powerful library for building modern web interfaces. |
15884 | JavaScript | 2013-07-29 |
| 46 | lodash/lodash
A modern JavaScript utility library delivering modularity, performance, & extras. |
15689 | JavaScript | 2012-04-07 |
| 47 | Prinzhorn/skrollr
Stand-alone parallax scrolling library for mobile (Android + iOS) and desktop. No jQuery. Just plain JavaScript (and some love). |
15327 | HTML | 2012-03-18 |
| 48 | callemall/material-ui
React Components that Implement Google's Material Design. |
15085 | JavaScript | 2014-08-18 |
| 49 | FezVrasta/bootstrap-material-design
Material design theme for Bootstrap 3 |
14861 | CSS | 2014-08-18 |
| 50 | babel/babel
Babel is a compiler for writing next generation JavaScript. |
14783 | JavaScript | 2014-09-28 |
| 51 | Polymer/polymer
Build modern apps using web components |
14750 | HTML | 2012-08-23 |
| 52 | kenwheeler/slick
the last carousel you'll ever need |
14153 | JavaScript | 2014-03-24 |
| 53 | numbbbbb/the-swift-programming-language-in-chinese
中文版 Apple 官方 Swift 教程《The Swift Programming Language》 |
14101 | CSS | 2014-06-03 |
| 54 | mozilla/pdf.js
PDF Reader in JavaScript |
14036 | JavaScript | 2011-04-26 |
| 55 | balderdashy/sails
Realtime MVC Framework for Node.js |
14032 | JavaScript | 2012-03-18 |
| 56 | bower/bower
A package manager for the web |
13899 | JavaScript | 2012-09-07 |
| 57 | yahoo/pure
A set of small, responsive CSS modules that you can use in every web project. |
13831 | HTML | 2013-04-22 |
| 58 | webpack/webpack
A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows to load parts for the application on demand. Through "loaders" modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff. |
13806 | JavaScript | 2012-03-10 |
| 59 | alvarotrigo/fullPage.js
fullPage plugin by Alvaro Trigo. Create full screen pages fast and simple |
13559 | JavaScript | 2013-09-20 |
| 60 | hammerjs/hammer.js
A javascript library for multi-touch gestures :// You can touch this |
13496 | JavaScript | 2012-03-02 |
| 61 | less/less.js
Leaner CSS |
13455 | JavaScript | 2010-02-20 |
| 62 | usablica/intro.js
A better way for new feature introduction and step-by-step users guide for your website and project. |
13361 | JavaScript | 2013-03-10 |
| 63 | Leaflet/Leaflet
�� JavaScript library for mobile-friendly interactive maps |
13245 | JavaScript | 2010-09-22 |
| 64 | defunkt/jquery-pjax
pushState + ajax = pjax |
13223 | JavaScript | 2011-02-26 |
| 65 | google/web-starter-kit
Web Starter Kit - a workflow for multi-device websites |
13149 | HTML | 2014-04-07 |
| 66 | angular/material
Material design for Angular |
13112 | JavaScript | 2014-07-01 |
| 67 | bevacqua/dragula
�� Drag and drop so simple it hurts |
13025 | JavaScript | 2015-04-13 |
| 68 | t4t5/sweetalert
A beautiful replacement for JavaScript's "alert" |
13002 | JavaScript | 2014-09-30 |
| 69 | IanLunn/Hover
A collection of CSS3 powered hover effects to be applied to links, buttons, logos, SVG, featured images and so on. Easily apply to your own elements, modify or just use for inspiration. Available in CSS, Sass, and LESS. |
12995 | CSS | 2014-01-02 |
| 70 | sahat/hackathon-starter
A boilerplate for Node.js web applications |
12812 | CSS | 2013-11-13 |
| 71 | twbs/ratchet
Build mobile apps with simple HTML, CSS, and JavaScript components. |
12763 | CSS | 2012-08-17 |
| 72 | enaqx/awesome-react
A collection of awesome things regarding React ecosystem. |
12707 | JavaScript | 2014-08-06 |
| 73 | ajaxorg/ace
Ace (Ajax.org Cloud9 Editor) |
12460 | JavaScript | 2010-10-27 |
| 74 | Unitech/pm2
Production process manager for Node.js apps with a built-in load balancer |
12387 | JavaScript | 2013-05-21 |
| 75 | twitter/typeahead.js
typeahead.js is a fast and fully-featured autocomplete library |
12320 | JavaScript | 2013-02-19 |
| 76 | facebook/immutable-js
Immutable persistent data collections for Javascript which increase efficiency and simplicity. |
12200 | JavaScript | 2014-07-02 |
| 77 | ftlabs/fastclick
Polyfill to remove click delays on browsers with touch UIs |
12136 | JavaScript | 2012-02-13 |
| 78 | videojs/video.js
Video.js - open source HTML5 & Flash video player |
12056 | JavaScript | 2010-05-14 |
| 79 | angular-ui/bootstrap
Native AngularJS (Angular) directives for Bootstrap. Smaller footprint (20kB gzipped), no 3rd party JS dependencies (jQuery, bootstrap JS) required. Please read the README.md file before submitting an issue! |
11989 | JavaScript | 2012-10-05 |
| 80 | reactjs/react-router
A complete routing solution for React.js |
11918 | JavaScript | 2014-05-16 |
| 81 | photonstorm/phaser
Phaser is a fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering. |
11820 | JavaScript | 2013-04-12 |
| 82 | GitbookIO/gitbook
Modern book format and toolchain using Git and Markdown |
11675 | JavaScript | 2014-03-31 |
| 83 | adam-p/markdown-here
Google Chrome, Firefox, and Thunderbird extension that lets you write email in Markdown and render it before sending. |
11651 | JavaScript | 2012-05-13 |
| 84 | typicode/json-server
Get a full fake REST API with zero coding in less than 30 seconds (seriously) |
11442 | JavaScript | 2013-11-27 |
| 85 | designmodo/Flat-UI
Flat UI Free - Design Framework (html/css3/less/js). Flat UI is based on Bootstrap, a comfortable, responsive, and functional framework that simplifies the development of websites. |
11415 | JavaScript | 2013-03-03 |
| 86 | dhg/Skeleton
Skeleton: A Dead Simple, Responsive Boilerplate for Mobile-Friendly Development |
11403 | CSS | 2011-04-30 |
| 87 | kriskowal/q
A tool for creating and composing asynchronous promises in JavaScript |
11349 | JavaScript | 2010-09-04 |
| 88 | zenorocha/clipboard.js
✂️ Modern copy to clipboard. No Flash. Just 3kb gzipped �� |
11323 | JavaScript | 2015-09-18 |
| 89 | ecomfe/echarts
A powerful charting and visualization library for browser |
11102 | JavaScript | 2013-04-03 |
| 90 | facebook/flux
Application Architecture for Building User Interfaces |
11069 | JavaScript | 2014-07-20 |
| 91 | angular/angular-seed
Seed project for angular apps. |
11055 | HTML | 2010-12-24 |
| 92 | tobiasahlin/SpinKit
A collection of loading indicators animated with CSS |
10942 | CSS | 2013-12-12 |
| 93 | dimsemenov/PhotoSwipe
JavaScript image gallery for mobile and desktop, modular, framework independent |
10833 | JavaScript | 2011-04-07 |
| 94 | rstacruz/nprogress
For slim progress bars like on YouTube, Medium, etc |
10817 | JavaScript | 2013-08-20 |
| 95 | jasmine/jasmine
DOM-less simple JavaScript testing framework |
10702 | JavaScript | 2008-12-02 |
| 96 | gruntjs/grunt
Grunt: The JavaScript Task Runner |
10676 | JavaScript | 2011-09-21 |
| 97 | petkaantonov/bluebird
�� ⚡ Bluebird is a full featured promise library with unmatched performance. |
10484 | JavaScript | 2013-09-07 |
| 98 | request/request
Simplified HTTP request client. |
10450 | JavaScript | 2011-01-23 |
| 99 | pugjs/pug
Jade - robust, elegant, feature rich template engine for Node.js |
10416 | JavaScript | 2010-06-23 |
| 100 | madrobby/zepto
Zepto.js is a minimalist JavaScript library for modern browsers, with a jQuery-compatible API |
10378 | HTML | 2010-09-20 |
四、总结
有朝一日我会把上面的全部项目都研究一遍的。。。
Github前端项目排名的更多相关文章
- Github+yeoman+gulp-angular初始化搭建angularjs前端项目框架
在上篇文章里面我们说到了Github账号的申请与配置 那么当你有了Github账号并创建了一个自己的Github项目之后,首要的当然是搭建自己的项目框架啦! 本人对自己的定位是web前端狗,常用开发框 ...
- Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器
原始发布部署: 石器时代的我们,先是本地打包好项目,在去服务器上把原来的文件删了,然后回到本地copy到服务器: 这操看起来简单,实际部署的人就知道多烦了,假如来几个项目都要重新发布:那就爽了: 今天 ...
- Github配合Jenkins,实现vue等前端项目的自动构建与发布
本篇文章前端项目以vue为例(其实前端工程化项目的操作方法都相同),部署在Linux系统上(centos). 之前做前端项目的部署,一直都是手动运行打包命令,打包完.再使用FTP.Xshell等这类的 ...
- github 上有趣又实用的前端项目(持续更新,欢迎补充)
github 上有趣又实用的前端项目(持续更新,欢迎补充) 1. reveal.js: 幻灯片展示框架 一个专门用来做 HTML 幻灯片的框架,支持 HTML 和 Markdown 语法. githu ...
- 用gulp构建你的前端项目
前言 前端技术发展日新月异,随着模块化.组件化的提出,前端变得越来越复杂,静态资源越来越多,那么对静态资源的处理,如压缩,合并,去掉调试信息.. 如果还是人工去处理,效率非常之低且还容易出错,于是自动 ...
- 前后端分离之前端项目构建(grunt+require+angular)
前言 前段时间做了一个项目,前端开发页面,然后把代码给到后端同学,后端同学通过vm再来渲染页面.后来才发现,这种方式简直是太low了,因为前端代码在服务端同学那里,每次前端需要更改的时候都需要去到服务 ...
- 前端项目构建工具---Grunt
什么是Grunt? grunt是javascript项目构建工具,在grunt流行之前,前端项目的构建打包大多数使用ant.(ant具体使用 可以google),但ant对于前端而言,存在不友好,执行 ...
- 如何参与一个 GitHub 开源项目?
最近一年开源项目特别的热,很多技术大会或论坛都以开源项目作为主题进行探讨,可见这是一种趋势.而Github作为开源项目的著名托管地,可谓无 人不知,越来越多的个人和公司纷纷加入到Github的大家族里 ...
- 从一个前端项目实践 Git flow 的流程与参考
Git flow 出自 A successful Git branching model,这里使用了一个前端项目配合本文稿实施了 git flow 并记录流程作出示例和参考,对 hotfix 与持续部 ...
随机推荐
- 硬件-ESP32S模块资料
1.产品概述 ESP-32S WiFi 模块是由安信可科技自主设计研发,该模块核心处理器 ESP32提供了一套完整的802.11 b/g/n/e/i 无线局域网(WLAN)和蓝牙4.2解决方案,具有最 ...
- 基数排序C#界面版
第一步:生成数据 第二步:读取数据 第三步:创建队列 第四步:入队分配 第五步:出队收集重复第四步与第五步,直到出队入队各四次,完成基数排序:如下:4次入队结束后如下:最后一次出队:基数排序完成.. ...
- 模拟网页的浏览Stack(POJ1028)
题目链接:http://poj.org/problem?id=1028 注意: 1.用两个栈来模拟,一个用来存可以返回的,一个用来存可以前进的. 2.visit方法,就要将可以前进的栈清空. 3.ba ...
- 定位webpack文件大小
之前发现一个神器,记录一下,可以可视化webpack打包的每个js文件大小,这样对我们优化代码是有帮助的,有目标的 https://www.npmjs.com/package/webpack-bund ...
- 【转】Data URL和图片,及Data URI的利弊
Data URL给了我们一种很巧妙的将图片“嵌入”到HTML中的方法.跟传统的用img标记将服务器上的图片引用到页面中的方式不一样,在Data URL协议中,图片被转换成base64编码的字符串形式, ...
- P1424 小鱼的航程(改进版)
题目背景 原来的题目太简单,现改进让小鱼周末也休息,请已经做过重做该题. 题目描述 有一只小鱼,它上午游泳150公里,下午游泳100公里,晚上和周末都休息(实行双休日),假设从周x(1<=x&l ...
- vue 中$index $key 已经移除了
https://cn.vuejs.org/v2/guide/migration.html#index-and-key-移除 之前可以这样: 1 2 3 4 5 6 <ul id="ex ...
- gulp详细教程——前端自动化构建工具
项目构建 一个项目是由多个开发者共同开发一个项目,各负责不同的模块,这就会造成一个完整的项目许多‘代码片段’组成,合并css.javascript,压缩html.css.javascript.imag ...
- Fetch 头像剪切修改
前言:通过Input file upload 图片到canvas 中进行剪裁,react 可以引入react-avatar-editor对图片进行剪裁 react-avatar-editor的使用 & ...
- BZOJ1854: [Scoi2010]游戏(二分图匹配)
题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备 ...