Skip to content

duzhi5368/AwesomeAllInOne

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Awesome All In One

经典编程书籍大全

100+ 经典技术书籍,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职面试 和 编程相关的经典书籍。

计算机系统与网络

编程通用

算法与数据结构

职业修炼与规划

大师访谈

架构/性能

Web前端

Java开发

.NET

Python

Android

iOS

PHP

C语言

C++

机器学习和数据挖掘

数据库

测试

项目与团队

求职面试

编程之外

Python 书籍大全

前言

好的技术书籍可以帮助我们快速地成长,大部分人或多或少地受益于经典的技术书籍。

(Python开发者)

入门级

Head First Python》+ 入门级 + 微信49票 + 豆瓣评分 9.5

推荐语:

**66:**浅显易懂,编排的顺序特别,有大量插图、对话,不感觉枯燥

古心:通熟易懂,配有大量の图片,不会觉得枯燥,是一本好的入门书

集体智慧编程》+ 入门级 + 微信123票 + 豆瓣评分 9.0

推荐语:

**Mèrçurý:**以具体实例的方式来展示Python的编程技巧,受益良多

《Python源码剖析》+ 入门级 + 58票 + 豆瓣评分 8.7

推荐语:

**王小惟:**正在翻阅着,深入浅出了解Python底层,期待出新版本

A Byte of Python》+ 入门级 + 61票 + 豆瓣评分 8.8

推荐语:

**姜振海:**入门级经典教程,能在一天之内快速的读完,了解这门语言的基本语法

与孩子一起学编程》+ 入门级 + 29票 + 豆瓣评分 8.5

推荐语:

**小武:**传授编程思想,Python的思维,引起你对Python的兴趣,从C语言等系列语言转行到Python的和零基础的都可以看看。入门级,门槛很低。

利用 Python 进行数据分析》+ 入门级 + 123票 + 豆瓣评分 8.5

推荐语:

**赵勇:**第一次看的时候还不知道AQR是干啥的,实习时候发现作者竟然是AQR的?!又看了几遍。。

Python学习手册(第四版)》+ 入门级 + 127票 + 豆瓣评分 8.2

推荐语:

**小武:**绝对是打好Python基本功的一等秘籍。是从入门到进阶的书,已经出版了多版 **大家都说名字太长不太容易被人记住:**从零开始学习Python,超多浅显易懂的例子,如果之前没有接触过Python,非常值得阅读

Think Python》+ 入门级 + 41票 + 豆瓣评分 8.2

推荐语:

**A XASA:**入适合从零开始的初学者,每章都有练习,理论和实际相结合。建议看英文的!

Python 基础教程》+ 入门级 + 29票 + 豆瓣评分 8.0

推荐语:

**郭建珠:**比较详细的一本书,对全面简单的了解 Python 很有帮助,书中提供了十个项目,也有一定价值

笨办法学Python》+ 入门级 + 93票 + 豆瓣评分 8.0

推荐语:

**大魔王:**hard way (笨办法)比较适合起步编程。入门python不错

Python算法教程》+ 入门级 + 127票 + 豆瓣评分 7.7

推荐语:

**大家都说名字太长不太容易被人记住:**用Python对常用算法进行了实现,如果你看过算法导论,这本书是对简单算法的Python实现,如果你只读过学习手册,这本浅显易懂的书可以作为算法的启蒙书。

Python核心编程》+ 入门级 + 100票 + 豆瓣评分 7.4

推荐语:

**丹尼斯瞎子:**我是为了为了学习多线程才看得这本书,其他得像python基础教程居然都没讲多线程! **Mr. Heron:**可以一直放在手边,随时翻看!!

Python官方手册 + 入门级 + 66票

推荐语:

**Brant Ruan:**有图书选择恐惧症的同学就看官方手册吧。效果非常棒!

网站 www.python-course.eu + 入门级 + 21票

推荐语:

**na@A:**合懂英语的人入门python,例子深入浅出并且覆盖很多容易出错的细节,而且篇幅较短。

进阶级

Flask Web开发:基于Python的Web应用开发实战》+ 进阶级 + 29票 + 豆瓣评分 8.6

推荐语:

**王小涌:**python web领域比较经典的一本书了,作者miguel grinberg同时维护着自己的技术博客,里面有很多问题的交流

Python Cookbook(第三版)》+ 进阶级 + 微信 347 票 + 豆瓣评分 8.4

推荐语:

**yran:**适合有基础的人员阅读,可以作为参考手册查询

**大家都说名字太长不太容易被人记住:**对正则表达式,IO,装饰器,面向对象,常用内置模块都有一个比较全面的解释,如果已经熟练掌握学习手册的内容,这本书可以作为工具书,解决一些常见的实际问题,如果之前熟悉java等更复杂的语言,对数据结构和算法也有了解,但是需要结合Python解决工作中可能遇到的小问题,建议阅读一下

Python科学计算》+ 进阶级 + 156 票 + 豆瓣评分 8.0

推荐语:

**侯海涛:**学习大数据处理的一本好书,分中英版,值得一看,特别是做数据分析 **大家都说名字太长不太容易被人记住:**用了较小的篇幅全面介绍了常用的numpy,plt,list在科学计算中的应用,其他主要是tkinter,marvi等数据可视化模块,而且网上有电子版,可以当做工具书浅浅的阅读一下,需要可视化的时候,里面的一些教程程序有参考价值

Python编程实战:运用设计模式、并发和程序库创建高质量程序》+ 进阶级 + 24票 + 豆瓣评分 7.8

推荐语:

**张跃:**读懂设计模式在Python中的应用对入门到进阶的开发者很有帮助

Python绝技:运用Python成为顶级黑客》+ 进阶级 + 192票

推荐语:

**Eric:**以前用这上面学到的东西,让喜欢打游戏的室友在团战时候只要我按回车,他们就掉线。

Beginning Python Games Development》+ 进阶级 + 55票

推荐语:

**xinming:**人生苦短,我用python,写写小游戏自娱自乐

Fluent Python》 + 进阶级 + 12 票

推荐语:

**伊凡:**讲了很多细节,以及语言设计背后的考量,对深入理解以及写出Pythonic的代码很有帮助

网页前端 书籍大全

前言

好的技术书籍可以帮助我们快速地成长,大部分人或多或少地受益于经典的技术书籍。

(前端大全)

JavaScript

JavaScript高级程序设计》+ 入门级 + 306 票

推荐语:

**恐龙:**再次预言这本书能认真看十遍着都能进bat

**阿琛:**详尽地解读了JS这门语言的各个组成部分,透彻地剖析了JS所涉及的编程思想,深入浅出地演示了丰富的JS应用实例...读完这本书你不一定就能成为前端大牛,但如果你真的能把这本书读懂,吃透,那么你离JS高手肯定不远啦!

编写可维护的JavaScript》+ 入门级 + 185 票

推荐语:

**Master.Huoooo:**乌龟书,很薄,但从工程实践的角度谈了常见的坑,其中的工作习惯值得coder们学习

jQuery 权威指南》+ 入门级 + 132 票

推荐语:

**言楓:**全面介绍了jQuery 各个方法的使用,适合有JavaScript基础的入门

Javascript语言精粹》/ 蝴蝶书 + 入门级 + 97 票

推荐语:

**宵伯特:**集 JS 之精华,弃其糟粕,人手一本,前端必备

锋利的jQuery》+ 入门级 + 91

推荐语:

**Arron:**学习jQuery必备书籍,不能错过

**陶宇:**前后台通用快速使用jQuery,必备良书。

JavaScript DOM 编程艺术(第二版)》+ 入门级 + 131 票

推荐语:

**SAVEKAI:**这本书的讲解方式非常亲切,人情味十足,初学者的福音。看完也能看看蝴蝶书。

**荣锋:**度过菜鸟阶段就会更多考虑性能和优化了《高性能 JavaScript》,当然还有其他好书这只是我的一个经历

学习 JavaScript 数据结构与算法》+ 入门级 + 31

推荐语:

**微笑的鱼:**很薄的一本书,很详细的讲解了使用js实现常用的数据结构和算法,对于更高效的使用js很有帮助。

《Understanding ECMAScript 6》+ 入门级 + 58

推荐语:

蒋熙**:**JS高程作者写的关于ES6的,感觉还不错哦

JavaScript忍者秘籍》+ 进阶级 + 48

推荐语:

向往**:**这本书是jQuery库创始人编写的一本深入剖析JavaScript语言的书 对JavaScript语言的重要部分(函数、闭包和原型)进行深入、全面的介绍,以及讲述跨浏览器代码如何编写

高性能 JavaScript》+ 进阶级 + 39

推荐语:

**椰子船长:**各种手段优化javascript

ECMAScript 6 标准入门》+ 进阶级 + 38

推荐语:

刘传宗**:**ES6让JavaScript如虎添翼,编程体验更佳,阮一峰前辈的力作

Build Your Own AngularJS》+ 进阶级 + 37

推荐语:

少白**:**手把手教你撸出个angularjs框架,详细剖析原理和实现

Effective JavaScript:编写高质量JavaScript代码的68个有效方法》+ 进阶级 + 35

推荐语:

hzhang**:**细说了编程中容易忽略的细枝末节!

你不知道的 JavaScript》+ 进阶级 + 46

推荐语:

**undefined:肯定没入门级的书让你成长的那么快,但是两本书(上册+下册)能让你更深入的理解 JS 机制,对项目有个良好的把控,推荐入门后的人看。 Yates💤 :**详细的讲述了this,作用域,闭包,原型链等等,把js中比较难理解的部分用例子和通俗的语言讲解出来。

《Javascript王者归来》+ 进阶级 + 30

推荐语:

李 Lee**:**每次阅读都有新发现

单页web应用:JavaScript 从前端到后端》+ 进阶级 + 18

推荐语:

**伟球迷:**通过这本书的指引了解前后端如何一起构建一个单页应用,对前端来说,也能了解一些前端以外的东西

JavaScript 设计模式》+ 进阶级 + 15

推荐语:

**窝窝:**本书介绍了十几种常用的设计模式,我觉得是理解别人代码之前必读的书,技巧非常多,值得多看。

HTML5 & CSS

HTML5 与 CSS3 基础教程》+ 入门级 + 12

推荐语:

砖头与少年**:**就是这本书把我带入前端的,非常适合初学前端的人看,浅显易懂,有配套代码!

深入浅出 HTML 与 CSS》+ 入门级 + 72

推荐语:

**猕猴桃:**就是它把我骗进前端的

周xj.com**:**纯小白的我第一次买的。懂了挺多。

CSS揭秘》+ 进阶级 + 37

推荐语:

飛魚**:**这本书讲了很多CSS的技巧,看完之后你会拍着脑袋说原来CSS还有这么多你不知道的东西。

HTML5 权威指南》+ 进阶级 + 54

推荐语:

陈军军**:**系统、全面,没有高深的用法,比较简单,如果对应用要求一般,这本书的知识完全能够应付过来,辅佐以js语言精粹,完全足够

综合类

编写高质量代码:Web前端开发修炼之道》+ 进阶级 + 83 票

推荐语:

**jeremy•lee:**虽然是进阶级,但推荐稍有一点基础就开始阅读此书,在里边能找到好多你当下的一些小疑问,有好多技巧,包括团队配合下开发的技巧。能修正好多在开发过程中犯下的陋习,强烈推荐!

精通正则表达式》+ 进阶级 + 68

推荐语:

赵晓冬**:**看完后会感觉技能绝对上一个层次

**李航:**全端通用技能必须get

Python 资源大全中文版

我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web 框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。

Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。


本项目的参与者

注:名单不分排名,不定期补充更新


环境管理

管理 Python 版本和环境的工具

  • p:非常简单的交互式 python 版本管理工具。官网
  • pyenv:简单的 Python 版本管理工具。官网
  • Vex:可以在虚拟环境中执行命令。官网
  • virtualenv:创建独立 Python 环境的工具。官网
  • virtualenvwrapper:virtualenv 的一组扩展。官网

包管理

管理包和依赖的工具。

  • pip:Python 包和依赖关系管理工具。官网
  • pip-tools:保证 Python 包依赖关系更新的一组工具。官网
  • pipenv:Pyhton 官方推荐的新一代包管理工具。官网
  • conda:跨平台,Python 二进制包管理工具。官网
  • Curdling:管理 Python 包的命令行工具。官网
  • wheel:Python 分发的新标准,意在取代 eggs。官网

包仓库

本地 PyPI 仓库服务和代理。

  • warehouse:下一代 PyPI。官网
  • bandersnatch:PyPA 提供的 PyPI 镜像工具。官网
  • devpi:PyPI 服务和打包/测试/分发工具。官网
  • localshop:本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。官网

分发

打包为可执行文件以便分发。

  • PyInstaller:将 Python 程序转换成独立的执行文件(跨平台)。官网
  • dh-virtualenv:构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。官网
  • Nuitka:将脚本、模块、包编译成可执行文件或扩展模块。官网
  • py2app:将 Python 脚本变为独立软件包(Mac OS X)。官网
  • py2exe:将 Python 脚本变为独立软件包(Windows)。官网
  • pynsist:一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python 本身。官网

构建工具

将源码编译成软件。

  • buildout:一个构建系统,从多个组件来创建,组装和部署应用。官网
  • BitBake:针对嵌入式 Linux 的类似 make 的构建工具。官网
  • fabricate:对任何语言自动找到依赖关系的构建工具。官网
  • PlatformIO:多平台命令行构建工具。官网
  • PyBuilder:纯 Python 实现的持续化构建工具。官网
  • SCons:软件构建工具。官网

交互式解析器

交互式 Python 解析器。

  • IPython:功能丰富的工具,非常有效的使用交互式 Python。官网
  • bpython:界面丰富的 Python 解析器。官网
  • ptpython:高级交互式 Python 解析器, 构建于 python-prompt-toolkit 之上。官网

文件

文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。

  • imghdr:(Python 标准库)检测图片类型。官网
  • mimetypes:(Python 标准库)将文件名映射为 MIME 类型。官网
  • path.py:对 os.path 进行封装的模块。官网
  • pathlib:(Python3.4+ 标准库)跨平台的、面向对象的路径操作库。官网
  • python-magic:文件类型检测的第三方库 libmagic 的 Python 接口。官网
  • Unipath:用面向对象的方式操作文件和目录。官网
  • watchdog:管理文件系统事件的 API 和 shell 工具。官网

日期和时间

操作日期和时间的类库。

  • arrow:更好的 Python 日期时间操作类库。官网
  • Chronyk:Python 3 的类库,用于解析手写格式的时间和日期。官网
  • dateutil:Python datetime 模块的扩展。官网
  • delorean:解决 Python 中有关日期处理的棘手问题的库。官网
  • moment:一个用来处理时间和日期的 Python 库。灵感来自于 Moment.js。官网
  • pendulum:一个比 arrow 更具有明确的,可预测的行为的时间操作库。官网
  • PyTime:一个简单易用的 Python 模块,用于通过字符串来操作日期/时间。官网
  • pytz:现代以及历史版本的世界时区定义。将时区数据库引入 Python。官网
  • when.py:提供用户友好的函数来帮助用户进行常用的日期和时间操作。官网

文本处理

用于解析和操作文本的库。

  • 通用
    • chardet:字符编码检测器,兼容 Python2 和 Python3。官网
    • difflib:(Python 标准库)帮助我们进行差异化比较。官网
    • ftfy:让 Unicode 文本更完整更连贯。官网
    • fuzzywuzzy:模糊字符串匹配。官网
    • Levenshtein:快速计算编辑距离以及字符串的相似度。官网
    • pangu.py:在中日韩语字符和数字字母之间添加空格。官网
    • pypinyin:汉字拼音转换工具 Python 版。官网
    • shortuuid:一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。官网
    • simplejson:Python 的 JSON 编码、解码器。官网
    • unidecode:Unicode 文本的 ASCII 转换形式 。官网
    • uniout:打印可读的字符,而不是转义的字符串。官网
    • xpinyin:一个用于把汉字转换为拼音的库。官网
    • yfiglet-figlet:pyfiglet -figlet 的 Python 实现。
  • Slug 化
    • awesome-slugify:一个 Python slug 化库,可以保持 Unicode。官网
    • python-slugify:Python slug 化库,可以把 unicode 转化为 ASCII。官网
    • unicode-slugify:一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。官网
  • 解析器
    • phonenumbers:解析,格式化,储存,验证电话号码。官网
    • PLY:lex 和 yacc 解析工具的 Python 实现。官网
    • Pygments:通用语法高亮工具。官网
    • pyparsing:生成通用解析器的框架。官网
    • python-nameparser:把一个人名分解为几个独立的部分。官网
    • python-user-agents:浏览器 user agent 解析器。官网
    • sqlparse:一个无验证的 SQL 解析器。官网

特殊文本格式处理

一些用来解析和操作特殊文本格式的库。

  • 通用
    • tablib:一个用来处理中表格数据的模块。官网
  • Office
    • Marmir:把输入的 Python 数据结构转换为电子表单。官网
    • openpyxl:一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。官网
    • python-docx:读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。官网
    • unoconv:在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。官网
    • XlsxWriter:一个用于创建 Excel .xlsx 文件的 Python 模块。官网
    • xlwings:一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。官网
    • xlwt:读写 Excel 文件的数据和格式信息。官网 / xlrd
    • relatorio:模板化 OpenDocument 文件。官网
  • PDF
    • PDFMiner:一个用于从 PDF 文档中抽取信息的工具。官网
    • PyPDF2:一个可以分割,合并和转换 PDF 页面的库。官网
    • ReportLab:快速创建富文本 PDF 文档。官网
  • Markdown
    • Mistune:快速并且功能齐全的纯 Python 实现的 Markdown 解析器。官网
    • Python-Markdown:John Gruber’s Markdown 的 Python 版实现。官网
    • Python-Markdown2:纯 Python 实现的 Markdown 解析器,比 Python-Markdown 更快,更准确,可扩展。官网
  • YAML
    • PyYAML:Python 版本的 YAML 解析器。官网
  • CSV
    • csvkit:用于转换和操作 CSV 的工具。官网
  • Archive
    • unp:一个用来方便解包归档文件的命令行工具。官网

自然语言处理

用来处理人类语言的库。

  • NLTK:一个先进的平台,用以构建处理人类语言数据的 Python 程序。官网
  • jieba:中文分词工具。官网
  • langid.py:独立的语言识别系统。官网
  • Pattern:Python 网络信息挖掘模块。官网
  • SnowNLP:一个用来处理中文文本的库。官网
  • TextBlob:为进行普通自然语言处理任务提供一致的 API。官网
  • TextGrocery:一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。官网

文档

用以生成项目文档的库。

  • Sphinx:Python 文档生成器。官网
  • awesome-sphinxdoc:官网
  • MkDocs:对 Markdown 友好的文档生成器。官网
  • pdoc:一个可以替换 Epydoc 的库,可以自动生成 Python 库的 API 文档。官网
  • Pycco:文学编程(literate-programming)风格的文档生成器。官网
  • readthedocs:一个基于 Sphinx/MkDocs 的在线文档托管系统,对开源项目免费开放使用。官网

配置

用来保存和解析配置的库。

  • config:logging 模块作者写的分级配置模块。官网
  • ConfigObj:INI 文件解析器,带验证功能。官网
  • ConfigParser:(Python 标准库) INI 文件解析器。官网
  • profig:通过多种格式进行配置,具有数值转换功能。官网
  • python-decouple:将设置和代码完全隔离。官网

命令行工具

用于创建命令行程序的库。

  • 命令行程序开发
    • asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级 API。官网
    • cement:Python 的命令行程序框架。官网
    • click:一个通过组合的方式来创建精美命令行界面的包。官网
    • cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。官网
    • clint:Python 命令行程序工具。官网
    • colorama:跨平台彩色终端文本。官网
    • docopt:Python 风格的命令行参数解析器。官网
    • Gooey:一条命令,将命令行程序变成一个 GUI 程序。官网
    • python-prompt-toolkit:一个用于构建强大的交互式命令行程序的库。官网
    • python-fire:Google 出品的一个基于 Python 类的构建命令行界面的库。官网
    • Pythonpy:在命令行中直接执行任何 Python 指令。官网
  • 生产力工具
    • aws-cli:Amazon Web Services 的通用命令行界面。官网
    • bashplotlib:在终端中进行基本绘图。官网
    • caniusepython3:判断是哪个项目妨碍你你移植到 Python3。官网
    • cookiecutter:从 cookiecutters(项目模板)创建项目的一个命令行工具。官网
    • doitlive:一个用来在终端中进行现场演示的工具。官网
    • pyftpdlib:一个速度极快和可扩展的 Python FTP 服务库。官网
    • howdoi:通过命令行获取即时的编程问题解答。官网
    • httpie:一个命令行 HTTP 客户端,cURL 的替代品,易用性更好。官网
    • PathPicker:从 bash 输出中选出文件。官网
    • percol:向 UNIX shell 传统管道概念中加入交互式选择功能。官网
    • SAWS:一个加强版的 AWS 命令行。官网
    • thefuck:修正你之前的命令行指令。官网
    • mycli:一个 MySQL 命令行客户端,具有自动补全和语法高亮功能。官网
    • pgcli:Postgres 命令行工具,具有自动补全和语法高亮功能。官网
    • try:一个从来没有更简单的命令行工具,用来试用 python 库。官网

下载器

用来进行下载的库.

  • s3cmd:一个用来管理 Amazon S3 和 CloudFront 的命令行工具。官网
  • s4cmd:超级 S3 命令行工具,性能更加强劲。官网
  • you-get:一个 YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。官网
  • youtube-dl:一个小巧的命令行程序,用来下载 YouTube 视频。官网

图像处理

用来操作图像的库.

  • pillow:Pillow 是一个更加易用版的 PIL官网
  • hmap:图像直方图映射。官网
  • imgSeek:一个使用视觉相似性搜索一组图片集合的项目。官网
  • nude.py:裸体检测。官网
  • pyBarcode:不借助 PIL 库在 Python 程序中生成条形码。官网
  • pygram:类似 Instagram 的图像滤镜。官网
  • python-qrcode:一个纯 Python 实现的二维码生成器。官网
  • Quads:基于四叉树的计算机艺术。官网
  • scikit-image:一个用于(科学)图像处理的 Python 库。官网
  • thumbor:一个小型图像服务,具有剪裁,尺寸重设和翻转功能。官网
  • wand:MagickWand的 Python 绑定。MagickWand 是 ImageMagick 的 C API 。官网
  • face_recognition:简单易用的 python 人脸识别库。官网

OCR

光学字符识别库。

音频

用来操作音频的库

  • audiolazy:Python 的数字信号处理包。官网
  • audioread:交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。官网
  • beets:一个音乐库管理工具及 MusicBrainz 标签添加工具。官网
  • dejavu:音频指纹提取和识别。官网
  • django-elastic-transcoder:Django + Amazon Elastic Transcoder官网
  • eyeD3:一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。官网
  • id3reader:一个用来读取 MP3 元数据的 Python 模块。官网
  • m3u8:一个用来解析 m3u8 文件的模块。官网
  • mutagen:一个用来处理音频元数据的 Python 模块。官网
  • pydub:通过简单、简洁的高层接口来操作音频文件。官网
  • pyechonest:Echo Nest API 的 Python 客户端。官网
  • talkbox:一个用来处理演讲/信号的 Python 库。官网
  • TimeSide:开源 web 音频处理框架。官网
  • tinytag:一个用来读取 MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。官网
  • mingus:一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。官网

Video

用来操作视频和 GIF 的库。

  • moviepy:一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。官网
  • scikit-video:SciPy 视频处理常用程序。官网

地理位置

地理编码地址以及用来处理经纬度的库。

  • GeoDjango:世界级地理图形 web 框架。官网
  • GeoIP:MaxMind GeoIP Legacy 数据库的 Python API。官网
  • geojson:GeoJSON 的 Python 绑定及工具。官网
  • geopy:Python 地址编码工具箱。官网
  • pygeoip:纯 Python GeoIP API。官网
  • django-countries:一个 Django 应用程序,提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段。官网

HTTP

使用 HTTP 的库。

  • requests:人性化的 HTTP 请求库。官网
  • grequests:requests 库 + gevent ,用于异步 HTTP 请求.官网
  • httplib2:全面的 HTTP 客户端库。官网
  • treq:类似 requests 的 Python API 构建于 Twisted HTTP 客户端之上。官网
  • urllib3:一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。官网

数据库

Python 实现的数据库。

  • pickleDB:一个简单,轻量级键值储存数据库。官网
  • PipelineDB:流式 SQL 数据库。官网
  • TinyDB:一个微型的,面向文档型数据库。官网
  • ZODB:一个 Python 原生对象数据库。一个键值和对象图数据库。官网

数据库驱动

用来连接和操作数据库的库。

  • MySQL:awesome-mysql 系列
    • mysql-python:Python 的 MySQL 数据库连接器。官网
    • ysqlclient:mysql-python 分支,支持 Python 3。
    • oursql:一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs.官网
    • PyMySQL:纯 Python MySQL 驱动,兼容 mysql-python。官网
  • PostgreSQL
    • psycopg2:Python 中最流行的 PostgreSQL 适配器。官网
    • queries:psycopg2 库的封装,用来和 PostgreSQL 进行交互。官网
    • txpostgres:基于 Twisted 的异步 PostgreSQL 驱动。官网
  • 其他关系型数据库
    • apsw:另一个 Python SQLite 封装。官网
    • dataset:在数据库中存储 Python 字典
    • pymssql:一个简单的 Microsoft SQL Server 数据库接口。官网
  • NoSQL 数据库
    • cassandra-python-driver:Cassandra 的 Python 驱动。官网
    • HappyBase:一个为 Apache HBase 设计的,对开发者友好的库。官网
    • Plyvel:一个快速且功能丰富的 LevelDB 的 Python 接口。官网
    • py2neo:Neo4j restful 接口的 Python 封装客户端。官网
    • pycassa:Cassandra 的 Python Thrift 驱动。官网
    • PyMongo:MongoDB 的官方 Python 客户端。官网
    • redis-py:Redis 的 Python 客户端。官网
    • telephus:基于 Twisted 的 Cassandra 客户端。官网
    • txRedis:基于 Twisted 的 Redis 客户端。官网

ORM

实现对象关系映射或数据映射技术的库。

  • 关系型数据库
    • Django Models:Django 的一部分。官网
    • SQLAlchemy:Python SQL 工具以及对象关系映射工具。官网
    • Peewee:一个小巧,富有表达力的 ORM。官网
    • PonyORM:提供面向生成器的 SQL 接口的 ORM。官网
    • python-sql:编写 Python 风格的 SQL 查询。官网
  • NoSQL 数据库
    • django-mongodb-engine:Django MongoDB 后端。官网
    • PynamoDB:Amazon DynamoDB 的一个 Python 风格接口。官网
    • flywheel:Amazon DynamoDB 的对象映射工具。官网
    • MongoEngine:一个 Python 对象文档映射工具,用于 MongoDB。官网
    • hot-redis:为 Redis 提供 Python 丰富的数据类型。官网
    • redisco:一个 Python 库,提供可以持续存在在 Redis 中的简单模型和容器。官网
  • 其他
    • butterdb:Google Drive 电子表格的 Python ORM。官网

Web 框架

全栈 Web 框架。

  • Django:Python 界最流行的 web 框架。官网
  • Flask:一个 Python 微型框架。官网
  • pyramid:一个小巧,快速,接地气的开源 Python web 框架。
  • Bottle:一个快速小巧,轻量级的 WSGI 微型 web 框架。官网
  • CherryPy:一个极简的 Python web 框架,服从 HTTP/1.1 协议且具有 WSGI 线程池。官网
  • TurboGears:一个可以扩展为全栈解决方案的微型框架。官网
  • web.py:一个 Python 的 web 框架,既简单,又强大。官网
  • web2py:一个全栈 web 框架和平台,专注于简单易用。官网
  • Tornado:一个 web 框架和异步网络库。官网

权限

允许或拒绝用户访问数据或功能的库。

  • Carteblanche:站在用户和设计者角度开发的一个代码对齐模块,很好地处理了代码导航及权限。官网
  • django-guardian:Django 1.2+ 实现了单个对象权限。官网
  • django-rules:一个小巧但是强大的应用,提供对象级别的权限管理,且不需要使用数据库。官网

CMS

内容管理系统

  • odoo-cms: 一个开源的,企业级 CMS,基于 odoo。官网
  • django-cms:一个开源的,企业级 CMS,基于 Django。官网
  • djedi-cms:一个轻量级但却非常强大的 Django CMS ,考虑到了插件,内联编辑以及性能。官网
  • FeinCMS:基于 Django 构建的最先进的内容管理系统之一。官网
  • Kotti:一个高级的,Python 范的 web 应用框架,基于 Pyramid 构建。官网
  • Mezzanine:一个强大的,持续的,灵活的内容管理平台。官网
  • Opps:一个为杂志,报纸网站以及大流量门户网站设计的 CMS 平台,基于 Django。官网
  • Plone:一个构建于开源应用服务器 Zope 之上的 CMS。官网
  • Quokka:灵活,可扩展的小型 CMS,基于 Flask 和 MongoDB。官网
  • Wagtail:一个 Django 内容管理系统。官网
  • Widgy:最新的 CMS 框架,基于 Django。官网

电子商务

用于电子商务以及支付的框架和库。

  • django-oscar:一个用于 Django 的开源的电子商务框架。官网
  • django-shop:一个基于 Django 的店铺系统。官网
  • Cartridge:一个基于 Mezzanine 构建的购物车应用。官网
  • shoop:一个基于 Django 的开源电子商务平台。官网
  • alipay:非官方的 Python 支付宝 API。官网
  • merchant:一个可以接收来自多种支付平台支付的 Django 应用。官网
  • money:一个货币类库。带有可选的 CLDR 后端本地化格式,提供可扩展的货币兑换解决方案。官网
  • python-currencies:显示货币格式以及它的数值。官网

RESTful API

用来开发 RESTful APIs 的库

  • Django
    • django-rest-framework:一个强大灵活的工具,用来构建 web API。官网
    • django-tastypie:为 Django 应用开发 API。官网
    • django-formapi:为 Django 的表单验证,创建 JSON APIs 。官网
  • Flask
    • flask-api:为 flask 开发的,可浏览 Web APIs 。官网
    • flask-restful:为 flask 快速创建 REST APIs 。官网
    • flask-restless:为 SQLAlchemy 定义的数据库模型创建 RESTful APIs 。官网
    • flask-api-utils:为 Flask 处理 API 表示和验证。官网
    • eve:REST API 框架,由 Flask, MongoDB 等驱动。官网
  • Pyramid
    • cornice:一个 Pyramid 的 REST 框架 。官网
  • 与框架无关的
    • falcon:一个用来建立云 API 和 web app 后端的高性能框架。官网
    • sandman:为现存的数据库驱动系统自动创建 REST APIs 。官网
    • restless:框架无关的 REST 框架 ,基于从 Tastypie 学到的知识。官网
    • ripozo:快速创建 REST/HATEOAS/Hypermedia APIs。官网

验证

实现验证方案的库。

  • OAuth
    • Authomatic:简单但是强大的框架,身份验证/授权客户端。官网
    • django-allauth:Django 的验证应用。官网
    • django-oauth-toolkit:为 Django 用户准备的 OAuth2。官网
    • django-oauth2-provider:为 Django 应用提供 OAuth2 接入。官网
    • Flask-OAuthlib:OAuth 1.0/a, 2.0 客户端实现,供 Flask 使用。官网
    • OAuthLib:一个 OAuth 请求-签名逻辑通用、 完整的实现。官网
    • python-oauth2:一个完全测试的抽象接口。用来创建 OAuth 客户端和服务端。官网
    • python-social-auth:一个设置简单的社会化验证方式。官网
    • rauth:OAuth 1.0/a, 2.0, 和 Ofly 的 Python 库。官网
    • sanction:一个超级简单的 OAuth2 客户端实现。官网
  • 其他
    • jose:JavaScript 对象签名和加密草案的实现。官网
    • PyJWT:JSON Web 令牌草案 01。官网
    • python-jws:JSON Web 签名草案 02 的实现。官网
    • python-jwt:一个用来生成和验证 JSON Web 令牌的模块。官网

模板引擎

模板生成和词法解析的库和工具。

  • Jinja2:一个现代的,对设计师友好的模板引擎。官网
  • Chameleon:一个 HTML/XML 模板引擎。 模仿了 ZPT(Zope Page Templates), 进行了速度上的优化。官网
  • Genshi:Python 模板工具,用以生成 web 感知的结果。官网
  • Mako:Python 平台的超高速轻量级模板。官网

Queue

处理事件以及任务队列的库。

  • celery:一个异步任务队列/作业队列,基于分布式消息传递。官网
  • huey:小型多线程任务队列。官网
  • mrq:Mr. Queue -一个 Python 的分布式 worker 任务队列, 使用 Redis 和 gevent。官网
  • rq:简单的 Python 作业队列。官网
  • simpleq:一个简单的,可无限扩张的,基于亚马逊 SQS 的队列。官网

搜索

对数据进行索引和执行搜索查询的库和软件。

  • django-haystack:Django 模块化搜索。官网
  • elasticsearch-py:Elasticsearch 的官方底层 Python 客户端。官网
  • elasticsearch-dsl-py:Elasticsearch 的官方高级 Python 客户端。官网
  • solrpy:solr 的 Python 客户端。官网
  • Whoosh:一个快速的纯 Python 搜索引擎库。官网

动态消息

用来创建用户活动的库。

  • django-activity-stream:从你的站点行为中生成通用活动信息流。官网
  • Stream-Framework:使用 Cassandra 和 Redis 创建动态消息和通知系统。官网

资源管理

管理、压缩、缩小网站资源的工具。

  • django-compressor:将链接和内联的 JavaScript 或 CSS 压缩到一个单独的缓存文件中。官网
  • django-storages:一个针对 Django 的自定义存储后端的工具集合。官网
  • fanstatic:打包、优化,并且把静态文件依赖作为 Python 的包来提供。官网
  • File Conveyor:一个后台驻留的程序,用来发现和同步文件到 CDNs, S3 和 FTP。官网
  • Flask-Assets:帮你将 web 资源整合到你的 Flask app 中。官网
  • jinja-assets-compressor:一个 Jinja 扩展,用来编译和压缩你的资源。官网
  • webassets:为你的静态资源打包、优化和管理生成独一无二的缓存 URL。官网

缓存

缓存数据的库。

  • Beaker:一个缓存和会话库,可以用在 web 应用和独立 Python 脚本和应用上。官网
  • django-cache-machine:Django 模型的自动缓存和失效。官网
  • django-cacheops:具有自动颗粒化事件驱动失效功能的 ORM。官网
  • django-viewlet:渲染模板,同时具有额外的缓存控制功能。官网
  • dogpile.cache:dogpile.cache 是 Beaker 的下一代替代品,由同一作者开发。官网
  • HermesCache:Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。官网
  • johnny-cache:django 应用缓存框架。官网
  • pylibmc:libmemcached 接口的 Python 封装。官网

电子邮件

用来发送和解析电子邮件的库。

  • django-celery-ses:带有 AWS SES 和 Celery 的 Django email 后端。官网
  • envelopes:供人类使用的电子邮件库。官网
  • flanker:一个 email 地址和 Mime 解析库。官网
  • imbox:Python IMAP 库。官网
  • inbox.py:Python SMTP 服务器。官网
  • inbox:一个开源电子邮件工具箱。官网
  • lamson:Python 风格的 SMTP 应用服务器。官网
  • mailjet:Mailjet API 实现,用来提供批量发送邮件,统计等功能。官网
  • marrow.mailer:高性能可扩展邮件分发框架。官网
  • modoboa:一个邮件托管和管理平台,具有现代的、简约的 Web UI。官网
  • pyzmail:创建,发送和解析电子邮件。官网
  • Talon:Mailgun 库,用来抽取信息和签名。官网

国际化

用来进行国际化的库。

  • Babel:一个 Python 的国际化库。官网
  • Korean:一个韩语词态库。官网

URL 处理

解析 URLs 的库

  • furl:一个让处理 URL 更简单小型 Python 库。官网
  • purl:一个简单的,不可变的 URL 类,具有简洁的 API 来进行询问和处理。官网
  • pyshorteners:一个纯 Python URL 缩短库。官网
  • shorturl:生成短小 URL 和类似 bit.ly 短链的 Python 实现。官网
  • webargs:一个解析 HTTP 请求参数的库,内置对流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado 和 Pyramid。官网

HTML 处理

处理 HTML 和 XML 的库。

  • BeautifulSoup:以 Python 风格的方式来对 HTML 或 XML 进行迭代,搜索和修改。官网
  • bleach:一个基于白名单的 HTML 清理和文本链接库。官网
  • cssutils:一个 Python 的 CSS 库。官网
  • html5lib:一个兼容标准的 HTML 文档和片段解析及序列化库。官网
  • lxml:一个非常快速,简单易用,功能齐全的库,用来处理 HTML 和 XML。官网
  • MarkupSafe:为 Python 实现 XML/HTML/XHTML 标记安全字符串。官网
  • pyquery:一个解析 HTML 的库,类似 jQuery。官网
  • untangle:将 XML 文档转换为 Python 对象,使其可以方便的访问。官网
  • xhtml2pdf:HTML/CSS 转 PDF 工具。官网
  • xmltodict:像处理 JSON 一样处理 XML。官网

爬取网络站点的库

  • Scrapy:一个快速高级的屏幕爬取及网页采集框架。官网
  • cola:一个分布式爬虫框架。官网
  • Demiurge:基于 PyQuery 的爬虫微型框架。官网
  • feedparser:通用 feed 解析器。官网
  • Grab:站点爬取框架。官网
  • MechanicalSoup:用于自动和网络站点交互的 Python 库。官网
  • portia:Scrapy 可视化爬取。官网
  • pyspider:一个强大的爬虫系统。官网
  • RoboBrowser:一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。官网

网页内容提取

用于进行网页内容提取的库。

  • Haul:一个可以扩展的图像爬取工具。官网
  • html2text:将 HTML 转换为 Markdown 格式文本。官网
  • lassie:人性化的网页内容检索库。官网
  • micawber:一个小型网页内容提取库,用来从 URLs 提取富内容。官网
  • newspaper:使用 Python 进行新闻提取,文章提取以及内容策展。官网
  • opengraph:一个用来解析开放内容协议(Open Graph Protocol)的 Python 模块。官网
  • python-goose:HTML 内容/文章提取器。官网
  • python-readability:arc90 公司 readability 工具的 Python 高速端口。官网
  • sanitize:为杂乱的数据世界带来调理性。官网
  • sumy:一个为文本文件和 HTML 页面进行自动摘要的模块。官网
  • textract:从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。官网

表单

进行表单操作的库。

  • Deform:Python HTML 表单生成库,受到了 formish 表单生成库的启发。官网
  • django-bootstrap3:集成了 Bootstrap 3 的 Django。官网
  • django-crispy-forms:一个 Django 应用,他可以让你以一种非常优雅且 DRY(Don't repeat yourself) 的方式来创建美观的表单。官网
  • django-remote-forms:一个平台独立的 Django 表单序列化工具。官网
  • WTForms:一个灵活的表单验证和呈现库。官网
  • WTForms-JSON:一个 WTForms 扩展,用来处理 JSON 数据。官网

数据验证

数据验证库。多用于表单验证。

  • Cerberus:一个映射验证器(mappings-validator)。支持多种规则,提供归一化功能,可以方便地定制为 Python 风格的 schema 定义。官网
  • colander:一个用于对从 XML, JSON,HTML 表单获取的数据或其他同样简单的序列化数据进行验证和反序列化的系统。官网
  • kmatch:一种用于匹配/验证/筛选 Python 字典的语言。官网
  • schema:一个用于对 Python 数据结构进行验证的库。官网
  • Schematics:数据结构验证。官网
  • valideer:轻量级可扩展的数据验证和适配库。官网
  • voluptuous:一个 Python 数据验证库。主要是为了验证传入 Python 的 JSON,YAML 等数据。官网

反垃圾技术

帮助你和电子垃圾进行战斗的库。

  • django-simple-captcha:一个简单、高度可定制的 Django 应用,可以为任何 Django 表单添加验证码。官网
  • django-simple-spam-blocker:一个用于 Django 的简单的电子垃圾屏蔽工具。官网

标记

用来进行标记的库。

  • django-taggit:简单的 Django 标记工具。官网

管理面板

管理界面库。

  • Ajenti:一个你的服务器值得拥有的管理面板。官网
  • django-suit:Django 管理界面的一个替代品 (仅对于非商业用途是免费的)。官网
  • django-xadmin:Django admin 的一个替代品,具有很多不错的功能。官网
  • flask-admin:一个用于 Flask 的简单可扩展的管理界面框架。官网
  • flower:一个对 Celery 集群进行实时监控和提供 web 管理界面的工具。官网
  • Grappelli:Django 管理界面的一个漂亮的皮肤。官网
  • Wooey:一个 Django 应用,可以为 Python 脚本创建 web 用户界面。官网

静态站点生成器

静态站点生成器是一个软件,它把文本和模板作为输入,然后输出 HTML 文件。

  • Pelican:使用 Markdown 或 ReST 来处理内容, Jinja 2 来制作主题。支持 DVCS, Disqus.。AGPL 许可。官网
  • Cactus:为设计师设计的静态站点生成器。官网
  • Hyde:基于 Jinja2 的静态站点生成器。官网
  • Nikola:一个静态网站和博客生成器。官网
  • Tinkerer:Tinkerer 是一个博客引擎/静态站点生成器,由 Sphinx 驱动。官网
  • Lektor:一个简单易用的静态 CMS 和博客引擎。官网

进程

操作系统进程启动及通信库。

  • envoy:比 Python subprocess 模块更人性化。官网
  • sarge:另一 种 subprocess 模块的封装。官网
  • sh:一个完备的 subprocess 替代库。官网

并发和并行

用以进行并发和并行操作的库。

  • multiprocessing:(Python 标准库) 基于进程的“线程”接口。官网
  • threading:(Python 标准库)更高层的线程接口。官网
  • eventlet:支持 WSGI 的异步框架。官网
  • gevent:一个基于协程的 Python 网络库,使用 greenlet官网
  • Tomorrow:用于产生异步代码的神奇的装饰器语法实现。官网
  • uvloop:在 libuv 之上超快速实现 asyncio 事件循环。官网

网络

用于网络编程的库。

  • asyncio:(Python 标准库) 异步 I/O, 事件循环, 协程以及任务。官网
  • Twisted:一个事件驱动的网络引擎。官网
  • pulsar:事件驱动的并发框架。官网
  • diesel:基于 Greenlet 的事件 I/O 框架。官网
  • pyzmq:一个 ZeroMQ 消息库的 Python 封装。官网
  • txZMQ:基于 Twisted 的 ZeroMQ 消息库的 Python 封装。官网

WebSocket

帮助使用 WebSocket 的库。

  • AutobahnPython:给 Python 、使用的 WebSocket & WAMP 基于 Twisted 和 asyncio官网
  • Crossbar:开源统一应用路由(Websocket & WAMP for Python on Autobahn)。官网
  • django-socketio:给 Django 用的 WebSockets。官网
  • WebSocket-for-Python:为 Python2/3 以及 PyPy 编写的 WebSocket 客户端和服务器库。官网

WSGI 服务器

兼容 WSGI 的 web 服务器

  • gunicorn:Pre-forked, 部分是由 C 语言编写的。官网
  • uwsgi:uwsgi 项目的目的是开发一组全栈工具,用来建立托管服务, 由 C 语言编写。官网
  • bjoern:异步,非常快速,由 C 语言编写。官网
  • fapws3:异步 (仅对于网络端),由 C 语言编写。官网
  • meinheld:异步,部分是由 C 语言编写的。官网
  • netius:异步,非常快速。官网
  • paste:多线程,稳定,久经考验。官网
  • rocket:多线程。官网
  • waitress:多线程, 是它驱动着 Pyramid 框架。官网
  • Werkzeug:一个 WSGI 工具库,驱动着 Flask ,而且可以很方便大嵌入到你的项目中去。官网

RPC 服务器

兼容 RPC 的服务器。

  • SimpleJSONRPCServer:这个库是 JSON-RPC 规范的一个实现。官网
  • SimpleXMLRPCServer:(Python 标准库) 简单的 XML-RPC 服务器实现,单线程。官网
  • zeroRPC:zerorpc 是一个灵活的 RPC 实现,基于 ZeroMQ 和 MessagePack。官网

密码学

  • cryptography:这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。官网
  • hashids:在 Python 中实现 hashids官网
  • Paramiko:SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能。官网
  • Passlib:安全密码存储/哈希库,官网
  • PyCrypto:Python 密码学工具箱。官网
  • PyNacl:网络和密码学(NaCl) 库的 Python 绑定。官网

图形用户界面

用来创建图形用户界面程序的库。

  • curses:内建的 ncurses 封装,用来创建终端图形用户界面。官网
  • enaml:使用类似 QML 的 Declaratic 语法来创建美观的用户界面。官网
  • kivy:一个用来创建自然用户交互(NUI)应用程序的库,可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS 平台上。官网
  • pyglet:一个 Python 的跨平台窗口及多媒体库。官网
  • PyQt:跨平台用户界面框架 Qt 的 Python 绑定 ,支持 Qt v4 和 Qt v5。官网
  • PySide:跨平台用户界面框架 Qt 的 Python 绑定 ,支持 Qt v4。官网
  • Tkinter:Tkinter 是 Python GUI 的一个事实标准库。官网
  • Toga:一个 Python 原生的, 操作系统原生的 GUI 工具包。官网
  • urwid:一个用来创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。官网
  • wxPython:wxPython 是 wxWidgets C++ 类库和 Python 语言混合的产物。官网
  • PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定。官网
  • Flexx:Flexx 是一个纯 Python 语言编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。官网

游戏开发

超赞的游戏开发库。

  • Cocos2d:cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。官网
  • Panda3D:由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇娱乐技术中心负责维护。使用 C++ 编写, 针对 Python 进行了完全的封装。官网
  • Pygame:Pygame 是一组 Python 模块,用来编写游戏。官网
  • PyOgre:Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用。官网
  • PyOpenGL:OpenGL 的 Python 绑定及其相关 APIs。官网
  • PySDL2:SDL2 库的封装,基于 ctypes。官网
  • RenPy:一个视觉小说(visual novel)引擎。官网

日志

用来生成和操作日志的库。

  • logging:(Python 标准库) 为 Python 提供日志功能。官网
  • logbook:Logging 库的替代品。官网
  • Eliot:为复杂的和分布式系统创建日志。官网
  • Raven:Sentry 的 Python 客户端。官网
  • Sentry:实时记录和收集日志的服务器。官网

测试

进行代码库测试和生成测试数据的库。

  • 测试框架
    • unittest:(Python 标准库) 单元测试框架。官网
    • nose:nose 扩展了 unittest 的功能。官网
    • contexts:一个 Python 3.3+ 的 BDD 框架。受到 C# – Machine.Specifications 的启发。官网
    • hypothesis:Hypothesis 是一个基于先进的 Quickcheck 风格特性的测试库。官网
    • mamba:Python 的终极测试工具, 拥护 BDD。官网
    • PyAutoGUI:PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块。官网
    • pyshould:Should 风格的断言,基于 PyHamcrest官网
    • pytest:一个成熟的全功能 Python 测试工具。官网
    • green:干净,多彩的测试工具。官网
    • pyvows:BDD 风格的测试工具,受 Vows.js 的启发。官网
    • Robot Framework:一个通用的自动化测试框架。官网
  • Web 测试
    • Selenium:Selenium WebDriver 的 Python 绑定。官网
    • locust:使用 Python 编写的,可扩展的用户加载测试工具。官网
    • sixpack:一个和语言无关的 A/B 测试框架。官网
    • splinter:开源的 web 应用测试工具。官网
  • Mock 测试
    • mock:(Python 标准库) 一个用于伪造测试的库。官网
    • doublex:Python 的一个功能强大的 doubles 测试框架。官网
    • freezegun:通过伪造日期模块来生成不同的时间。官网
    • httmock:针对 Python 2.6+ 和 3.2+ 生成 伪造请求的库。官网
    • httpretty:Python 的 HTTP 请求 mock 工具。官网
    • responses:伪造 Python 中的 requests 库的一个通用库。官网
    • VCR.py:在你的测试中记录和重放 HTTP 交互。官网
  • 对象工厂
    • factoryboy:一个 Python 用的测试固件 (test fixtures) 替代库。官网
    • mixer:另外一个测试固件 (test fixtures) 替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。官网
    • modelmommy:为 Django 测试创建随机固件。官网
  • 代码覆盖率
    • coverage:代码覆盖率测量。官网
    • Codecov:一个代码覆盖率测试工具,为开源项目提供免费代码覆盖率测试服务。官网
  • 伪数据
    • faker:一个 Python 库,用来生成伪数据。官网
    • fake2db:伪数据库生成器。官网
    • radar:生成随机的日期/时间。官网
  • 错误处理
    • FuckIt.py:FuckIt.py 使用最先进的技术来保证你的 Python 代码无论对错都能继续运行。官网

代码分析和 Lint 工具

进行代码分析,解析和操作代码库的库和工具。

  • 代码分析
    • coala:语言独立和易于扩展的代码分析应用程序。官网
    • code2flow:把你的 Python 和 JavaScript 代码转换为流程图。官网
    • pycallgraph:这个库可以把你的 Python 应用的流程(调用图)进行可视化。官网
    • pysonar2:Python 类型推断和检索工具。官网
  • Lint 工具
    • Flake8:模块化源码检查工具: pep8, pyflakes 以及 co。官网
    • Pylint:一个完全可定制的源码分析器。官网
    • YAPF: Google 的 Python 代码格式化工具。官网
    • pylama:Python 和 JavaScript 的代码审查工具。官网
  • 代码格式化
    • autopep8:自动格式化 Python 代码,以使其符合 PEP8 规范。官网

调试工具

用来进行代码调试的库。

  • 调试器
    • ipdb:IPython 启用的 pdb官网
    • pudb:全屏,基于控制台的 Python 调试器。官网
    • pyringe:可以在 Python 进程中附加和注入代码的调试器。官网
    • wdb:一个奇异的 web 调试器,通过 WebSockets 工作。官网
    • winpdb:一个具有图形用户界面的 Python 调试器,可以进行远程调试,基于 rpdb2。官网
    • django-debug-toolbar:为 Django 显示各种调试信息。官网
    • django-devserver:一个 Django 运行服务器的替代品。官网
    • flask-debugtoolbar:django-debug-toolbar 的 flask 版。官网
  • 性能分析器
    • lineprofiler:逐行性能分析。官网
    • Memory Profiler:监控 Python 代码的内存使用。官网内存
    • profiling:一个交互式 Python 性能分析工具。官网
  • 其他
    • pyelftools:解析和分析 ELF 文件以及 DWARF 调试信息。官网
    • python-statsd:statsd 服务器的 Python 客户端。官网

科学计算和数据分析

用来进行科学计算和数据分析的库。

  • astropy:一个天文学 Python 库。官网
  • bcbio-nextgen:这个工具箱为全自动高通量测序分析提供符合最佳实践的处理流程。官网
  • bccb:生物分析相关代码集合。官网
  • Biopython:Biopython 是一组可以免费使用的用来进行生物计算的工具。官网
  • blaze:NumPy 和 Pandas 的大数据接口。官网
  • cclib:一个用来解析和解释计算化学软件包输出结果的库。官网
  • NetworkX:一个为复杂网络设计的高性能软件。官网
  • Neupy:执行和测试各种不同的人工神经网络算法。官网
  • Numba:Python JIT (just in time) 编译器,针对科学用的 Python ,由 Cython 和 NumPy 的开发者开发。官网
  • NumPy:使用 Python 进行科学计算的基础包。官网
  • Open Babel:一个化学工具箱,用来描述多种化学数据。官网
  • Open Mining:使用 Python 挖掘商业情报 (BI) (Pandas web 接口)。官网
  • orange:通过可视化编程或 Python 脚本进行数据挖掘,数据可视化,分析和机器学习。官网
  • Pandas:提供高性能,易用的数据结构和数据分析工具。官网
  • PyDy:PyDy 是 Python Dynamics 的缩写,用来为动力学运动建模工作流程提供帮助, 基于 NumPy, SciPy, IPython 和 matplotlib。官网
  • PyMC:马尔科夫链蒙特卡洛采样工具。官网
  • RDKit:化学信息学和机器学习软件。官网
  • SciPy:由一些基于 Python ,用于数学,科学和工程的开源软件构成的生态系统。官网
  • statsmodels:统计建模和计量经济学。官网
  • SymPy:一个用于符号数学的 Python 库。官网
  • zipline:一个 Python 算法交易库。官网
  • Bayesian-belief-networks:优雅的贝叶斯信念网络框架。官网

数据可视化

进行数据可视化的库。 参见: awesome-javascript

  • matplotlib:一个 Python 2D 绘图库。官网
  • bokeh:用 Python 进行交互式 web 绘图。官网
  • ggplot:ggplot2 给 R 提供的 API 的 Python 版本。官网
  • plotly:协同 Python 和 matplotlib 工作的 web 绘图库。官网
  • pyecharts:基于百度 Echarts 的数据可视化库。官网
  • pygal:一个 Python SVG 图表创建工具。官网
  • pygraphviz:Graphviz 的 Python 接口。官网
  • PyQtGraph:交互式实时 2D/3D/ 图像绘制及科学/工程学组件。官网
  • SnakeViz:一个基于浏览器的 Python's cProfile 模块输出结果查看工具。官网
  • vincent:把 Python 转换为 Vega 语法的转换工具。官网
  • VisPy:基于 OpenGL 的高性能科学可视化工具。官网

计算机视觉

计算机视觉库。

  • OpenCV:开源计算机视觉库。官网
  • pyocr:Tesseract 和 Cuneiform 的包装库。官网
  • pytesseract:Google Tesseract OCR 的另一包装库。官网
  • SimpleCV:一个用来创建计算机视觉应用的开源框架。官网

机器学习

机器学习库。 参见: awesome-machine-learning.

  • Caffe: 一个 Caffe 的 python 接口。官网
  • Caffe2:一个轻量级的,模块化的,可扩展的深度学习框架。官网
  • Crab:灵活、快速的推荐引擎。官网
  • gensim:人性化的话题建模库。官网
  • hebel:GPU 加速的深度学习库。官网
  • keras: 以 tensorflow/theano/CNTK 为后端的深度学习封装库,快速上手神经网络。官网
  • MXNet:一个高效和灵活的深度学习框架。官网
  • NuPIC:智能计算 Numenta 平台。官网
  • pattern:Python 网络挖掘模块。官网
  • PyBrain:另一个 Python 机器学习库。官网
  • pydeep:Python 深度学习库。官网
  • Pylearn2:一个基于 Theano 的机器学习库。官网
  • python-recsys:一个用来实现推荐系统的 Python 库。官网
  • Pytorch:一个具有张量和动态神经网络,并有强大 GPU 加速能力的深度学习框架。官网
  • scikit-learn:基于 SciPy 构建的机器学习 Python 模块。官网
  • skflow:一个 TensorFlow 的简化接口(模仿 scikit-learn)。官网
  • TensorFlow:谷歌开源的最受欢迎的深度学习框架。官网
  • Theano:一个快速数值计算库。官网
  • vowpalporpoise:轻量级 Vowpal Wabbit 的 Python 封装。官网

MapReduce

MapReduce 框架和库。

  • dpark:Spark 的 Python 克隆版,一个类似 MapReduce 的框架。官网
  • dumbo:这个 Python 模块可以让人轻松的编写和运行 Hadoop 程序。官网
  • luigi:这个模块帮你构建批处理作业的复杂流水线。官网
  • mrjob:在 Hadoop 或 Amazon Web Services 上运行 MapReduce 任务。官网
  • PySpark:Spark 的 Python API 。官网
  • streamparse:运行针对事实数据流的 Python 代码。集成了 Apache Storm官网

函数式编程

使用 Python 进行函数式编程。

  • CyToolz:Toolz 的 Cython 实现 : 高性能函数式工具。官网
  • fn.py:在 Python 中进行函数式编程 : 实现了一些享受函数式编程缺失的功能。官网
  • funcy:炫酷又实用的函数式工具。官网
  • Toolz:一组用于迭代器,函数和字典的函数式编程工具。官网

第三方 API

用来访问第三方 API 的库。 参见: List of Python API Wrappers and Libraries

  • apache-libcloud:一个为各种云设计的 Python 库。官网
  • boto:Amazon Web Services 的 Python 接口。官网
  • django-wordpress:WordPress models and views for Django.官网
  • facebook-sdk:Facebook 平台的 Python SDK.官网
  • facepy:Facepy 让和 Facebook's Graph API 的交互变得更容易。官网
  • gmail:Gmail 的 Python 接口。官网
  • google-api-python-client:Python 用的 Google APIs 客户端库。官网
  • gspread:Google 电子表格的 Python API.官网
  • twython:Twitter API 的封装。官网

DevOps 工具

用于 DevOps 的软件和库。

  • Ansible:一个非常简单的 IT 自动化平台。官网
  • SaltStack:基础设施自动化和管理系统。官网
  • OpenStack:用于构建私有和公有云的开源软件。官网
  • Docker Compose:快速,分离的开发环境,使用 Docker。官网
  • Fabric:一个简单的,Python 风格的工具,用来进行远程执行和部署。官网
  • cuisine:为 Fabric 提供一系列高级函数。官网
  • Fabtools:一个用来编写超赞的 Fabric 文件的工具。官网
  • gitapi:Git 的纯 Python API。官网
  • hgapi:Mercurial 的纯 Python API。官网
  • honcho:Foreman 的 Python 克隆版,用来管理基于 Procfile 的应用。官网
  • pexpect:Controlling interactive programs in a pseudo-terminal like 在一个伪终端中控制交互程序,就像 GNU expect 一样。官网
  • psutil:一个跨平台进程和系统工具模块。官网
  • supervisor:UNIX 的进程控制系统。官网

任务调度

任务调度库。

  • APScheduler:轻巧但强大的进程内任务调度,使你可以调度函数。官网
  • django-schedule:一个 Django 排程应用。官网
  • doit:一个任务执行和构建工具。官网
  • gunnery:分布式系统使用的多用途任务执行工具 ,具有 web 交互界面。官网
  • Joblib:一组为 Python 提供轻量级作业流水线的工具。官网
  • Plan:如有神助地编写 crontab 文件。官网
  • schedule:人性化的 Python 任务调度库。官网
  • Spiff:使用纯 Python 实现的强大的工作流引擎。官网
  • TaskFlow:一个可以让你方便执行任务的 Python 库,一致并且可靠。官网

外来函数接口

使用外来函数接口的库。

  • cffi:用来调用 C 代码的外来函数接口。官网
  • ctypes:(Python 标准库) 用来调用 C 代码的外来函数接口。官网
  • PyCUDA:Nvidia CUDA API 的封装。官网
  • SWIG:简化的封装和接口生成器。官网

高性能

让 Python 更快的库。

  • Cython:优化的 Python 静态编译器。使用类型混合使 Python 编译成 C 或 C++ 模块来获得性能的极大提升。官网
  • PeachPy:嵌入 Python 的 x86-64 汇编器。可以被用作 Python 内联的汇编器或者是独立的汇编器,用于 Windows, Linux, OS X, Native Client 或者 Go 。官网
  • PyPy:使用 Python 实现的 Python。解释器使用黑魔法加快 Python 运行速度且不需要加入额外的类型信息。官网
  • Pyston:使用 LLVM 和现代 JIT 技术构建的 Python 实现,目标是为了获得很好的性能。官网
  • Stackless Python:一个强化版的 Python。官网

微软的 Windows 平台

在 Windows 平台上进行 Python 编程。

  • Python(x,y):面向科学应用的 Python 发行版,基于 Qt 和 Spyder。官网
  • pythonlibs:非官方的 Windows 平台 Python 扩展二进制包。官网
  • PythonNet:Python 与 .NET 公共语言运行库 (CLR)的集成。官网
  • PyWin32:针对 Windows 的 Python 扩展。官网
  • WinPython:Windows 7/8 系统下便携式开发环境。官网

网络可视化和 SDN

用来进行网络可视化和 SDN(软件定义网络)的工具和库。

  • Mininet:一款流行的网络模拟器以及用 Python 编写的 API。官网
  • POX:一个针对基于 Python 的软件定义网络应用(例如 OpenFlow SDN 控制器)的开源开发平台。官网
  • Pyretic:火热的 SDN 编程语言中的一员,为网络交换机和模拟器提供强大的抽象能力。官网
  • SDX Platform:基于 SDN 的 IXP 实现,影响了 Mininet, POX 和 Pyretic。官网

硬件

用来对硬件进行编程的库。

  • ino:操作 Arduino 的命令行工具。官网
  • Pyro:Python 机器人编程库。官网
  • PyUserInput:跨平台的,控制鼠标和键盘的模块。官网
  • scapy:一个非常棒的操作数据包的库。官网
  • wifi:一个 Python 库和命令行工具用来在 Linux 平台上操作 WiFi。官网
  • Pingo:Pingo 为类似 Raspberry Pi,pcDuino, Intel Galileo 等设备提供统一的 API 用以编程。官网

兼容性

帮助从 Python 2 向 Python 3 迁移的库。

  • Python-Future:这就是 Python 2 和 Python 3 之间丢失的那个兼容性层。官网
  • Python-Modernize:使 Python 代码更加现代化以便最终迁移到 Python 3。官网
  • Six:Python 2 和 3 的兼容性工具。官网

杂项

不属于上面任何一个类别,但是非常有用的库。

  • blinker:一个快速的 Python 进程内信号/事件分发系统。官网
  • itsdangerous:一系列辅助工具用来将可信的数据传入不可信的环境。官网
  • pluginbase:一个简单但是非常灵活的 Python 插件系统。官网
  • Pychievements:一个用来创建和追踪成就的 Python 框架。官网
  • Tryton:一个通用商务框架。官网

算法和设计模式

Python 实现的算法和设计模式。

  • algorithms:一个 Python 算法模块。官网
  • python-patterns:Python 设计模式的集合。官网
  • sortedcontainers:快速,纯 Python 实现的 SortedList,SortedDict 和 SortedSet 类型。官网

编辑器插件

编辑器和 IDE 的插件

  • Emacs
    • Elpy:Emacs Python 开发环境。官网
  • Sublime Text
    • SublimeJEDI:一个 Sublime Text 插件,用来使用超赞的自动补全库 Jedi。官网
    • Anaconda:Anaconda 把你的 Sublime Text 3 变成一个功能齐全的 Python IDE。官网
  • Vim
    • YouCompleteMe:引入基于 Jedi 的 Python 自动补全引擎。官网
    • Jedi-vim:绑定 Vim 和 Jedi 自动补全库对 Python 进行自动补全。官网
    • Python-mode:将 Vim 变成 Python IDE 的一款多合一插件。官网
  • Visual Studio
    • PTVS:Visual Studio 的 Python 工具。官网

集成开发环境

流行的 Python 集成开发环境。

  • PyCharm:商业化的 Python IDE ,由 JetBrains 开发。也有免费的社区版提供。官网
  • LiClipse:基于 Eclipse 的免费多语言 IDE 。使用 PyDev 来支持 Python 。官网
  • Spyder:开源 Python IDE。官网

自动聊天工具

用于开发聊天机器人的库

  • Errbot:最简单和最流行的聊天机器人用来实现自动聊天工具。官网

服务

在线工具和简化开发的 API 。

金融数据

  • Tushare :一个可以提供免费股票、基金、期货、港股等金融数据的 Python 开源数据。官网
  • Ta-Lib :金融数据技术分析库,可以依据原始金融数据计算各种技术指标,计算性能比较优异。官网

持续集成

参见: awesome-CIandCD.

  • Travis CI:一个流行的工具,为你的开源和 私人 项目提供持续集成服务。(仅支持 GitHub)官网
  • CircleCI:一个持续集成工具,可以非常快速的进行并行测试。 (仅支持 GitHub)官网
  • Vexor CI:一个为私人 app 提供持续集成的工具,支持按分钟付费。官网
  • Wercker:基于 Docker 平台,用来构建和部署微服务。官网

代码质量

  • Codacy:自动化代码审查,更加快速的发布高质量代码。对于开源项目是免费的。官网
  • QuantifiedCode:一个数据驱动、自动、持续的代码审查工具。官网

资源

在这里可以找到新的 Python 库。

网站

周刊

Twitter

学习指南

  • Scipy-lecture-notes:如何用 Python 来做学术?官网
  • SScientific-python-lectures:Python 科学计算的资料。官网
  • Mario-Level-1:用 Python 和 Pygame 写的超级马里奥第一关。官网
  • Python Koans:Python 的交互式学习工具。官网
  • Minecraft:用 python 写的 Minecraft 游戏。官网
  • pycrumbs:Python 资源大全。官网
  • python-patterns:使用 python 实现设计模式。官网
  • Projects:Python 项目大集合。官网
  • The Hitchhiker’s Guide to Python:旅行者的 Python 学习指南。官网
  • Code Like a Pythonista: Idiomatic Python:如何像 Python 高手(Pythonista)一样编程。官网

PHP 资源大全中文版

我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-php 就是 ziadoz 发起维护的 PHP 资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库、配置工具、Web 工具、书籍、电子书、经典博文等。

Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。


本项目的参与者

依赖管理

依赖和包管理库

其他的依赖管理

其他的相关依赖管理

  • Satis:一个静态Composer存储库生成器 官网
  • Composition:一个在运行时检查Composer环境的库 官网
  • Version:语义版本的解析和比较库 官网
  • NameSpacer:转化下划线到命名空间的库 官网
  • Patch Installer:使用Composer安装补丁的库 官网
  • Composer Checker:校验Composer配置的工具 官网

框架

Web开发框架

  • Symfony2:一个独立组件组成的框架 官网
  • Zend Framework 2:另一个由独立组件组成的框架 官网
  • Laravel 4:另一个PHP框架 官网
  • Aura PHP:独立组件的框架 官网
  • Yii2: 另一个PHP框架 官网
  • Nette: 另一个由个体组件组成的框架 官网
  • PPI Framework 2:一个互操作性框架 官网
  • Phalcon:通过C扩展实现的框架 官网Github

其他框架

其他Web开发框架

  • Symfony CMF:创建自定义CMS的内容管理框架 官网
  • Knp RAD Bundle:Symfony 2的快速应用程序(RAD)包 官网

框架组件

来自Web开发框架的独立组件

  • Symfony2 Components:Symfony2组件 官网
  • Zend Framework 2 Components:ZF2组件 官网
  • Aura Components:PHP5.4组件包 官网
  • Hoa Project:另一个PHP组件包 官网

微型框架

微型框架和路由

  • Silex:基于Symfony2组件的微型框架 官网
  • Slim:另一个简单的微型框架 官网
  • Bullet PHP:用于构建REST APIs的微型框架 官网
  • Fast Route:快速路由库 官网
  • Pux:另一个快速路由库 官网

其他微型框架

其他相关的微型框架和路由

  • Silex Skeleton:Silex的项目架构 官网
  • Silex Web Profiler:Silex web调试工具条 官网
  • Stack: Silex/Symfony的可堆叠中间件库 官网
  • Slim Skeleton:Slim架构 官网
  • Slim View:Slim的自定义视图集合 官网
  • Slim Middleware:Slim的自定义中间件集合 官网
  • phy-yaf:一个用C语言编写的php框架 官网

模板

模板化和词法分析的库和工具

  • Twig:一个全面的模板语言 官网
  • Twig Cache Extension:一个用于Twig的模板片段缓存库 官网
  • Mustache:一个Mustache模板语言的PHP实现 官网
  • Phly Mustache:另一个Mustache模板语言的PHP实现 官网
  • MtHaml: 一个HAML 模板语言的PHP实现 官网
  • PHPTAL:一个 TAL 模板语言的PHP实现 官网
  • Plates:一个原生PHP模板库 官网
  • Lex:一个轻量级模板解析器 官网

静态站点生成器

预处理工具来生成Web页面的内容。

  • Sculpin:转换Markdown和Twig为静态HTML的工具 官网
  • Phrozn: 另一个转换Textile,Markdown和Twig为HTML的工具 官网

HTTP

用于HTTP和网站爬取的库

  • Guzzle:一个全面的HTTP客户端 官网
  • Buzz:另一个HTTP客户端 官网
  • Requests:一个简单的HTTP库 官网
  • HTTPFul:一个链式HTTP库 官网
  • Goutte:一个简单的web爬取器 官网
  • PHP VCR:录制和重放HTTP请求的库 官网

URL

解析URL的库

  • Purl:一个URL处理库 官网
  • PHP Domain Parser:一个本地前缀解析库 官网

Email

发送和解析邮件的库

文件

文件处理和MIME类型检测库

  • Gaufrette:一个文件系统抽象层 官网
  • Flysystem:另一个文件系统抽象层 官网
  • Canal:一个检测互联网媒体类型的库 官网
  • Apache MIME Types:一个解析Apache MIME类型的库 官网
  • Ferret:一个MIME检测库 官网
  • Hoa Mime:另一个MIME检测库 官网
  • Lurker:一个资源跟踪库 官网
  • PHP File Locator:一个在大型项目定位文件的库 官网
  • PHP FFmpeg:一个用于FFmpeg 视频包装的库. 官网
  • CSV:一个CSV数据处理库 官网

处理流的库

  • Streamer:一个面向对象的流包装库 官网

依赖注入

实现依赖注入设计模式的库

  • Pimple:一个小的依赖注入容器 官网
  • Auryn:另一个依赖注入容器 官网
  • Orno DI:另一个可伸缩的依赖注入容器 官网
  • PHP DI:一个使用注释实现的依赖注入 官网
  • Acclimate:一个依赖注入容器和服务定位的通用接口 官网

图像

处理图像的库

  • Imagine:一个图像处理库 官网
  • PHP Image Workshop:另一个图像处理库 官网
  • Intervention Image:另一个图像处理库 官网
  • GIF Frame Extractor:一个提取GIF动画帧信息的库 官网
  • GIF Creator:一个通过多张图片创建GIF动画的库 官网
  • Image With Text:一个在图像中嵌入文本的库 官网
  • Color Extractor:一个从图像中提取颜色的库 官网

测试

测试代码和生成测试数据的库

  • PHPUnit:一个单元测试框架 官网
  • DBUnit:PHPUnit的数据库测试库 官网
  • ParaTest:PHPUnit的并行测试库 官网
  • PHPSpec:基于功能点设计的单元测试库 官网
  • Codeception:一个全栈测试框架 官网
  • AspectMock: PHPUnit/ Codeception 模拟框架。 官网
  • Atoum:一个简单的测试库 官网
  • Mockery:一个用测试的模拟对象库 官网
  • Phake:另一个用测试的模拟对象库 官网
  • Prophecy:一个可选度很高的模拟框架 官网
  • Faker:一个伪数据生成库 官网
  • Samsui:另一个伪数据生成库 官网
  • Alice:富有表现力的一代库 官网
  • Behat:一个行为驱动开发(BDD)测试框架 官网
  • Pho:一个行为驱动开发测试框架 官网
  • Mink:Web验收测试 官网
  • HTTP Mock:一个在单元测试模拟HTTP请求的库 官网
  • Stream:一个用于测试的虚拟文件系统流的包装器 VFS 官网
  • VFS:另一个用于测试虚拟文件系统 官网
  • Locust:一个用Python编写的现代加载测试库 官网

持续集成

持续集成的库和应用

  • Travis CI:一个持续集成平台 官网
  • PHPCI:一个PHP的开源持续集成平台 官网
  • Sismo:一个持续测试服务库 官网
  • Jenkins-PHP:支持Jenkins的一个持续集成平台 官网
  • JoliCi:一个用PHP编写的由Docker支持的持续集成客户端 官网

文档

生成项目文档的库

  • Sami:一个API文档生成器 官网
  • APIGen:另一个API文档生成器 官网
  • PHP Documentor 2:一个API文档生成器 官网
  • phpDox:一个PHP项目的文档生成器(不限于API文档) 官网

安全

生成安全的随机数,加密数据,扫描漏洞的库

  • HTML Purifier:一个兼容标准的HTML过滤器 官网
  • RandomLib:一个生成随机数和字符串的库 官网
  • True Random:使用 www.random.org生成随机数的库 官网
  • SecurityMultiTool:一个PHP安全库 官网
  • PHPSecLib:一个纯PHP安全通信库 官网
  • TCrypto:一个简单的键值加密存储库 官网
  • IDS: 一个结构化的PHP安全层 PHP 官网
  • PHP-SSH:一个试验的面向对象的SSH包装库 官网
  • IniScan:一个扫描PHP INI文件安全的库 官网
  • SensioLabs Security Check:一个为检查Composer依赖提供安全建议的web工具 官网
  • Zed:一个集成的web应用渗透测试工具 官网

密码

处理和存储密码的库和工具

  • Password Compat:一个新的PHP5.5密码函数的兼容库 官网
  • phpass: 一个便携式的密码哈希框架 官网
  • PHP Password Lib:一个生成和校验密码的库 官网
  • Password Policy:一个PHP和JavaScript的密码策略库 官网
  • Password Validator:校验和升级密码哈希的库 官网
  • Zxcvbn PHP:一个基于Zxcvbn JS的现实的PHP密码强度估计库 官网

代码分析

分析,解析和处理代码库的库的工具

  • PHP Parser:一个PHP编写的PHP解析器 官网
  • PHPPHP: 一个PHP实现的PHP虚拟机 官网
  • PHPSandbox:一个PHP沙盒环境 官网
  • Dissect:一个词法和语法分析的工具集合 官网
  • PHP Mess Detector:一个扫描代码缺陷,次优代码,未使用的参数等等的库。 官网
  • PHP Code Sniffer:一个检测PHP、CSS和JS代码标准冲突的库 官网
  • PHPCPD: 一个检测复制和粘贴代码的库 官网
  • PHP Analyser:一个分析PHP代码查找缺陷和错误的库 官网
  • PHP CS Fixer: 一个编码标准库 官网
  • PHP Manipulator:一个分析和修改PHP源代码的库 官网
  • PHP Metrics:一个静态测量库 官网
  • PHP Refactoring Browser:一个重构PHP代码的命令行工具集 官网
  • UBench:一个简单的微型基准检测库 官网
  • Athletic:一个基于注释的基准检测库 官网
  • Mondrian: 使用使用图论的代码分析工具 官网
  • Scrutinizer:一个审查PHP代码的web工具 官网
  • PHPLOC:一个快速测量PHP项目大小的工具 官网
  • xHprof:另一个PHP分析工具 官网
  • PHPCheckstyle:一个帮助遵守特定的编码惯例的工具。 官网

调试

调试代码的库和工具

  • xDebug:一个调试和分析PHP的工具 官网
  • PHP Debug Bar: 一个调试工具栏 官网
  • PHP Console:一个web调试控制台 官网
  • Barbushin PHP Console:另一个使用Google Chrome的web调试控制台 官网
  • PHPDBG:一个交互的PHP调试器 官网
  • Tracy:一个简单的错误检测,写日志和时间测量库 官网

构建工具

项目构建和自动化工具

  • Go:一个简单的PHP构建工具 官网
  • Bob:一个简单的项目自动化工具 官网
  • Phake:一个PHP克隆库 官网
  • Box:一个构建PHAR文件的工具 官网
  • Phing:一个灵感来自于Apache Ant的PHP项目构建系统 官网

任务运行器

自动运行任务的库

  • Task:一个灵感来源于Grunt和Gulp的纯PHP任务运行器 官网
  • Robo:一个面向对象配置的PHP任务运行器 官网
  • Bldr:一个构建在Symfony组件上的PHP任务运行器 官网

导航

构建导航结构的工具

  • KnpMenu:一个菜单库 官网
  • Cartographer:一个站点地图生成库 官网

资源管理

管理,压缩和最小化web站点资源的工具

  • Assetic:一个资源管理的管道库 官网
  • Pipe:另一个资源管理的管道库 官网
  • Munee:一个资源优化库 官网
  • JShrink:一个JavaScript最小化库 官网
  • Puli:一个检测资源绝对路径的库 官网

地理位置

为地理编码地址和使用纬度经度的库。

  • GeoCoder:一个地理编码库 官网
  • GeoTools:一个地理工具相关的库 官网
  • PHPGeo:一个简单的地理库 官网
  • GeoJSON:一个地理JSON的实现 官网

日期和时间

处理日期和时间的库

  • Carbon:一个简单的日期时间API扩展 官网
  • ExpressiveDate:另一个日期时间API扩展 官网
  • CalendR:一个日历管理库 官网

事件

时间驱动或非阻塞事件循环实现的库

  • React:一个事件驱动的非阻塞I/O库 官网
  • Rx.PHP:一个reactive扩展库 官网
  • Ratchet: 一个web套接字库 官网
  • Hoa WebSocket:另一个web套接字库 官网
  • Hoa EventSource:一个事件源库 官网
  • Evenement:一个事件分发库 官网
  • FuelPHP Event:另一个事件分发库 官网

日志

生成和处理日志文件的库

  • Monolog:一个全面的日志工具 官网
  • KLogger:一个易用的PSR-3兼容的日志类 官网

电子商务

处理支付和构建在线电子商务商店的库和应用

  • OmniPay:一个框架混合了多网关支付处理的库 官网
  • Payum:一个支付抽象库 官网
  • Sylius:一个开源的电子商务解决方案 官网
  • Thelia:另一个开源的电子商务解决方案 官网
  • Money:一个Fowler金钱模式的PHP实现 官网
  • Sebastian Money:另一个处理货币值的库 官网
  • Swap:一个汇率库 官网

PDF

处理PDF文件的库和软件

  • Snappy:一个PDF和图像生成器库 官网
  • WKHTMLToPDF:一个将HTML转换为PDF的工具 官网

数据库

使用对象关系映射(ORM)或数据映射技术的数据库交互库

  • Doctrine:一个全面的DBAL和ORM 官网
  • Doctrine Extensions:一个Doctrine行为扩展的集合 官网
  • Propel:一个快速的ORM,迁移库和查询构架器 官网
  • Eloquent:Laravel 4 ORM 官网
  • Baum:一个Eloquent的嵌套集实现 官网
  • Spot2:一个MySQL的ORM映射器 官网
  • RedBean:一个轻量级,低配置的ORM 官网
  • Pomm:一个PostgreSQL对象模型管理器 官网
  • ProxyManager:一个为数据映射生成代理对象的工具集 官网

迁移

帮助管理数据库模式和迁移的库

  • PHPMig:另一个迁移管理库 官网
  • Phinx:另一个数据库迁移管理库 官网
  • Migrations:一个迁移管理库 官网
  • Doctrine Migrations:一个Doctrine迁移库 官网

NoSQL

处理NoSQL后端的库

  • MongoQB:一个MongoDB查询构建库 官网
  • Monga:一个MongoDB抽象库 官网
  • Predis: 一个功能完整的Redis库 官网

队列

处理事件和任务队列的库

  • Pheanstalk:一个Beanstalkd 客户端库 官网
  • HP AMQP:一个纯PHP AMQP库 P官网
  • Thumper: 一个RabbitMQ模式库 官网
  • Bernard:一个多后端抽象库 官网

搜索

在数据上索引和执行查询的库和软件

  • ElasticSearch PHP:ElasticSearch的官方客户端库 官网
  • Elastica:ElasticSearch的客户端库 官网
  • Solarium:Solr的客户端库 官网
  • SphinxQL query builder:Sphinx搜索引擎的的查询库 官网

命令行

构建命令行工具的库

  • Boris:一个微型PHP REPL 官网
  • PsySH:另一个微型PHP REPL 官网
  • Pecan:一个事件驱动和非阻塞内核 官网
  • GetOpt:一个命令行选择解析器 官网
  • OptParse:另一个命令行选择解析器 官网
  • Commando:另一个简单的命令行选择解析器 官网
  • GetOptionKit:另一个命令行选择解析器 官网
  • Cron Expression:计算cron运行日期的库 官网
  • ShellWrap:一个简单的命令行包装库 官网
  • Hoa Console:另一个命令行库 官网
  • Shunt:一个在多台远程机器上并行运行命令行的库 官网
  • Cilex:一个构建命令行工具的微型框架 官网

身份验证

实现身份验证的库

  • Sentry:一个混合的身份验证和授权的框架库 官网
  • Sentry Social:一个社交网络身份验证库 官网
  • Opauth:一个多渠道的身份验证框架 官网
  • OAuth2:一个OAuth2身份验证服务,资源服务器和客户端库 官网
  • OAuth2 Server:另一个OAuth2服务器实现 官网
  • PHP oAuthLib:另一个OAuth库 官网
  • TwitterOAuth:一个Twitter OAuth库 官网
  • TwitterSDK:一个完全测试的Twitter SDK 官网
  • Hawk:一个Hawk HTTP身份认证库 官网
  • HybridAuth:一个开源的社交登陆库 官网

标记

处理标记的库

  • Decoda:一个轻量级标记解析库 官网
  • PHP Markdown:一个Markdown解析器 官网
  • CommonMark PHP:一个对 CommonMark spec全支持的Markdown解析器 官网
  • Dflydev Markdown:另一个Markdown解析器 官网
  • Parsedown:另一个Markdown解析器 官网
  • Ciconia:另一个支持Github Markdown风格的Markdown解析器 官网
  • Cebe Markdown:一个快速的可扩展的Markdown解析器 官网
  • HTML5 PHP:一个HTML5解析和序列化库 官网

字符串

解析和处理字符串的库

  • ANSI to HTML5:ANSI到HTML5的转化库 官网
  • Patchwork UTF-8:一个处理UTF-8字符串的便携库 官网
  • Hoa String:另一个UTF-8字符串库 官网
  • Stringy:一个多字节支持的字符串处理库 官网
  • Color Jizz:处理和转换颜色的库 官网
  • UUID: 生成UUIDs的库 官网
  • Slugify:转换字符串到slug的库 官网
  • Urlify: 一个Django的 URLify.jsPHP通道 官网
  • Text: 一个文本处理库 官网
  • SQL Formatter:一个格式化SQL语句的库 官网
  • UA Parser: 一个解析用户代理字符串的库 官网

数字

处理数字的库

  • Numbers PHP:处理数字的库 官网
  • Math:处理大数字的库 官网
  • ByteUnits:在二进制和度量系统中解析,格式化和转换字节单元的库 官网
  • PHP Units of Measure:一个计量单位转换的库 官网
  • PHP Conversion:另一个计量单位转换的库 官网
  • LibPhoneNumber for PHP:Google电话号码处理的PHP实现库 官网

过滤和验证

过滤和验证数据的库

  • Filterus:一个简单的PHP过滤库 官网
  • Respect Validate:一个简单的验证库 官网
  • Valitron:另一个验证库 官网
  • Upload:一个处理文件上传和验证的库 官网
  • DMS Filter:一个注释过滤库 官网
  • MetaYaml:一个支持YAML,JSON和XML的模式验证库 官网
  • ISO-codes:验证各种ISO和ZIP编码的库(IBAN、SWIFT/BIC、BBAN、VAT、SSN、UKNIN) 官网

REST API

开发REST-ful API的库和Web工具

  • Apigility:一个使用Zend Framework 2构建的API构建器 官网
  • Hateoas:一个HOATEOAS REST web服务库 官网
  • HAL:一个超文本应用语言(HAL)构建库 官网
  • Negotiation:一个内容协商库 官网
  • Drest:一个将Doctrine实体暴露为REST资源节点的库 官网
  • Restler:一个将PHP方法暴露为RESTful web API的轻量级框架 官网

缓存

缓存数据的库

  • Alternative PHP Cache (APC):打开PHP伪代码缓存 官网
  • Cache:一个缓存库(Doctrine部分) 官网
  • Stash:另一个缓存库 官网

数据结构和存储

实现数据结构和存储技术的库

  • Ardent:一个数据结构库 官网
  • PHP Collections: 一个简单的集合库 官网
  • Serializer:一个序列化和反序列化数据的库 官网
  • PHP Object Storage:一个对象存储库 官网
  • Fractal:一个转换复杂数据结构到JSON输出的库 官网
  • Totem:一个管理和穿件数据交换集的库 官网
  • PINQ:一个PHP实时Linq库 官网
  • JsonMapper:一个将内嵌JSON结构映射为PHP类的库 官网

通知

处理通知软件的库

  • Nod:一个通知库(Growl等) 官网
  • Notificato:一个处理推送通知的库 官网
  • Notification Pusher:一个设备推送通知的独立库 官网
  • Notificator:一个轻量级的通知库 官网

部署

项目部署库

  • Pomander:一个PHP应用部署工具 官网
  • Rocketeer:PHP世界里的一个快速简单的部署器 官网
  • Envoy:一个用PHP运行SSH任务的工具 官网
  • Plum:一个部署库 官网

国际化和本地化

国际化(I18n)和本地化(L10n)

第三方API

访问第三方API的库

  • Amazon Web Service SDK:PHP AWS SDK官方库 官网
  • S3 Stream Wrapper:Amazon S3流包装库 官网
  • Stripe:Stripe官方PHP库 官网
  • Campaign Monitor:Campaign Monitor官方PHP库 官网
  • Digital Ocean:Digital Ocean API 接口库 官网
  • Github:Github API交互库 官网
  • PHP Github API:另一个Github API交互库 官网
  • Twitter OAuth:Twitter OAuth工作流交互库 官网
  • Twitter REST:Twitter REST API交互库 官网
  • Dropbox SDK:Dropbox SDK官方PHP库 官网
  • Twilio:Twilio官方PHP REST API 官网
  • Mailgun:Mailgun官方PHP REST API 官网

扩展

帮组构建PHP扩展的库

  • Zephir:用于开发PHP扩展,且介于PHP和C++之间的编译语言 官网
  • PHP CPP:一个开发PHP扩展的C++库 官网

杂项

不在上面分类中的有用库和工具

  • Spork:一个处理forking的库 官网
  • JSON Lint:一个JSON lint工具 官网
  • JSONPCallbackValidator:验证JSONP回调的库 官网
  • Pagerfanta:一个分页库 官网
  • Ruler:一个简单的无状态的生产环境规则引擎。 官网
  • LiteCQRS:一个CQRS(命令查询责任分离)库 官网
  • Sslurp:一个使得SSL处理减少的库 官网
  • OptionPHP 官网一个可选的类型库
  • Metrics:一个简单的度量API库 官网
  • Sabre VObject:一个解析VCard和iCalendar对象的库 官网
  • Annotations:一个注释库(Doctrine部分) 官网
  • Whoops:一个不错的错误处理库 官网
  • Finite:一个简单的PHP有限状态机 官网
  • LadyBug:一个dumper库 官网
  • Procrastinator:运行耗时任务的库 官网
  • Compose:一个功能组合库 官网
  • SuperClosure:一个允许闭包序列化的库 官网
  • Jumper:一个远程服务执行库 官网
  • Underscore:一个Undersccore JS库的PHP实现 官网
  • PHP PassBook:一个iOS PassBook PHP库 官网
  • PHP Expression:一个PHP表达式语言 官网
  • RMT:一个编写版本和发布软件的库 官网
  • Wise:一个配置管理器 官网
  • Opengraph:一个开放图库 官网
  • Essence:一个提取web媒体的库 官网
  • Embera:一个Oembed消费库 官网
  • Graphviz:一个图形库 官网
  • Monad PHP:官网 一个简单Monad库
  • Flux:一个正则表达式构建库 官网
  • Patchwork:一个重新定义用户的函数库 官网
  • Galapagos:语言转换进化 官网
  • Design Patterns PHP:一个使用PHP实现的设计模式存储库 官网
  • PHPCR:一个Java内容存储库(JCR)的PHP实现 官网
  • Functional PHP:一个函数式编程库 官网
  • ClassPreloader:一个优化自动加载的库 官网
  • Lib Country:一个国家和地区数据的库 官网
  • Lib Accessor:一个简化访问的库 官网
  • PHPStack:一个PHP编写的TCP/IP栈概念 官网
  • Nmap:一个Nmap PHP包装器 官网
  • Code Mover:一个移动代码的库 官网
  • Iter:一个使用生成器提供迭代原语的库 官网
  • Lambda PHP:一个PHP中的Lambda 计算解析器 官网
  • Country List:所有带有名称和ISO 3166-1编码的国家列表 官网
  • PHP-GPIO:用于Raspberry PI的GPIO pin的库 官网
  • print_o:一个对象图的可视化器 官网
  • Alias:一个类别名库 官网

软件

创建一个开发环境的软件

PHP安装

在你的电脑上帮助安装和管理PHP的工具

  • HomeBrew:一个OSX包管理器 官网
  • HomeBrew PHP:一个HomeBrew的PHP通道 官网
  • PHP OSX:一个OSX下的PHP安装器 官网
  • PHP Brew:一个PHP版本管理和安装器 官网
  • PHP Env:另一个PHP版本管理器 官网
  • PHP Switch:另一个PHP版本管理器 官网
  • PHP Build:另一个PHP版本安装器 官网
  • VirtPHP:一个创建和管理独立PHP环境的工具 官网

开发环境

创建沙盒开发环境的软件和工具

  • Vagrant:一个便携的开发环境工具 官网
  • Ansible:一个非常简单的编制框架 官网
  • Puppet:一个服务器自动化框架和应用 官网
  • PuPHPet:一个构建PHP开发虚拟机的web工具 官网
  • Protobox:另一个构建PHP开发虚拟机的web工具 官网
  • Phansible:一个用Ansible构建PHP开发虚拟机的web工具 官网

虚拟机

相关的PHP虚拟机

  • HipHop PHP:Facebook出品的PHP虚拟机,运行时和JIT 官网
  • HippyVM:另一个PHP虚拟机 官网
  • Hack:一个PHP进行无缝操作的 HHVM编程语言 官网

IDE

支持PHP的集成开发环境

  • Netbeans:一个支持PHP和HTML5的IDE 官网
  • Eclipse for PHP Developers:一个基于Eclipse平台的PHP IDE 官网
  • PhpStorm:一个商业PHP IDE 官网
  • [Sublime Text] :一个轻量级的PHP IDE 官网

Web应用

基于Web的应用和工具

  • 3V4L:一个在线的PHP shell 官网
  • DBV:一个数据库版本控制应用 官网
  • PHP Queue:一个管理后端队列的应用 官网
  • Composer as a Service:作为一个zip文件下载Composer包的工具 官网
  • MailCatcher:一个抓取和查看邮件的web工具 官网

资源

各种提高你的PHP开发技能和知识的资源,比如书籍,网站,文章

PHP网站

PHP相关的有用网站

  • PHP The Right Way:一个PHP最佳实践的快速指引手册 官网
  • PHP Best Practices:一个PHP最佳实践指南 官网
  • PHP Weekly:一个PHP新闻周刊 官网
  • PHP Security:一个PHP安全指南 官网
  • PHP FIG:PHP框架交互组 官网
  • PHP UG:一个帮助用户定位最近的PHP用户组(UG)的网站 官网
  • Seven PHP:一个PHP社区成员采访的网站 官网
  • Nomad PHP:一个在线PHP学习资源 官网
  • PHP Mentoring:点对点PHP导师组织 官网

其他网站

Web开发相关的有用网站

  • The Open Web Application Security Project (OWASP):一个开放软件安全社区 官网
  • WebSec IO:一个Web安全社区资源 官网
  • Web Advent:一个Web开发人员日历 官网
  • Semantic Versioning:一个解析语义版本的网站 官网
  • Atlassian Git Tutorials:一个Git教程系列 官网
  • Hg Init:一个Mercurial教程系列 官网
  • Servers for Hackers:一个关于服务器管理的新闻通讯 官网

PHP书籍

PHP相关的非常好的书籍

  • Scaling PHP Applications:一本Steve Corona关于扩展PHP应用程序的电子书 官网
  • The Grumpy Programmer's Guide to Building Testable PHP Applications:一本Chris Hartjes关于构建PHP应用程序测试的书 官网
  • Grumpy PHPUnit:一本Chris Hartjes关于使用PHPUnit进行单元测试的书 官网
  • Mastering Object-Orientated PHP:一本Brandon Savage关于PHP面向对象的书 官网
  • Signaling PHP:一本Cal Evans关于在CLI脚本捕获PCNTL 信号的书 官网
  • Securing PHP: Core Concepts:一本Chris Cornutt关于PHP常见安全条款和实践的书 官网
  • Modernising Legacy Applications in PHP:一本Paul M.Jones关于遗留PHP应用进行现代化的书 官网

其他书籍

与一般计算和Web开发相关的书

  • The Linux Command Line:William Shotts关于Linux命令行的一本书 官网
  • Understanding Computation:Tom Stuart关于计算理论的一本书 官网
  • The Tangled Web — Securing Web Applications: Michal Zalewski关于web应用安全的一本书 官网
  • Elasticsearch: The Definitive Guide:Clinton Cormley和Zachary Tong编写的与Elasticsearch工作的一本指南 官网
  • Eloquent JavaScript:Marijin Haverbeke关于JavaScript编程的一本书 官网
  • Vagrant Cookbook:Erika Heidi关于创建 Vagrant环境的一本书 官网
  • Pro Git:Scott Chacon和Ben Straub关于Git的一本书 官网

PHP视频

PHP相关的非常不错的视频

  • Taking PHP Seriously:来自Facebook Keith Adams 讲述PHP优势 官网
  • PHP Town Hall:一个随意的Ben Edmunds和Phil Sturgeon的PHP播客 官网
  • Programming with Anthony:官网 Anthony Ferrara的视频系列

PHP阅读

PHP相关的阅读资料

  • Create Your Own PHP Framework:一部Fabien Potencier的关于如何创建你自己的PHP框架的系列文章 官网
  • Seven Ways to Screw Up BCrypt:一篇关于纠正BCrypt实现的文章 官网
  • Preventing CSRF Attacks:一篇组织CSRF攻击的文章 官网
  • Don't Worry About BREACH:一篇关于BREACH攻击和CSRF令牌的文章 官网
  • On PHP 5.3, Lamda Functions and Closures:一篇关于lambda函数和闭包的文章 官网
  • Use Env:一篇关于使用unix环境帮助的文章 官网
  • Composer Primer:Composer初级 官网
  • Composer Versioning:一篇关于Composer版本的文章 官网
  • Composer Stability Flags:一篇关于Composer稳定性标志的文章 官网
  • Innocent Villagefolk or a Pillagin’ Pirate?:一篇关于PHP从其他语言获取想法的文章 官网
  • Predicting Random Numbers in PHP:一篇关于生成随机数的文章 官网
  • A 20 Point List for Preventing XSS in PHP:一篇关于组织XSS的文章 官网
  • PHP Sucks! But I Like It!:一篇关于PHP利弊的文章 官网
  • PHP Is Much Better Than You Think:一篇关于PHP语言和生态圈的文章 官网

PHP内核阅读

阅读PHP内核或性能相关的资料

  • PHP RFCs:PHP RFCs主页(请求注解) 官网
  • PHP Internals Book:一本由三名核心开发编写的关于PHP内核的在线书 官网
  • Print vs Echo, Which One is Faster?:一篇关于打印和echo性能的文章 官网
  • The PHP Ternary Operator. Fast or Not?:一篇关于三元操作性能的文章 官网
  • Disproving the Single Quotes Myth:一篇关于单引号,双引号字符串性能的文章 官网
  • You're Being Lied To:一篇关于内核ZVALs的文章 官网
  • How Long is a Piece of String:一篇关于字符串原理的文章 官网
  • Understanding OpCodes:一篇关于伪代码的文章 官网
  • How Foreach Works:StackOverflow 关于foreach回答的详情 官网
  • When Does Foreach Copy?:一篇关于foreach原理的文章 官网
  • How Big Are PHP Arrays (And Values) Really?:一篇关于数组原理的文章 官网
  • Why Objects (Usually) Use Less Memory Than Arrays:一篇关于对象和数组原理的文章 官网
  • PHP Evaluation Order:一篇关于PHP评估顺序的文章 官网
  • 开发人员的PHP源代码: 1 2 3 4:关于PHP源代码的系列
  • 垃圾收集: 1 2 3 关于PHP垃圾收集原理的系列

DotNet 资源大全中文版

我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-dotnet 是由 quozd 发起和维护。内容包括:编译器、压缩、应用框架、应用模板、加密、数据库、反编译、IDE、日志、风格指南等。

Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。


本项目的参与者

(注:下面用 [$] 标注的表示收费工具,但部分收费工具针对开源软件的开发/部署/托管是免费的)

API

  • 框架
    • NancyFx:轻量、用于构建 HTTP 基础服务的非正式(low-ceremony)框架,基于.Net 及 Mono 平台。官网
    • ASP.NET WebAPI:快捷创建 HTTP 服务的框架,可以广泛用于多种不同的客户端,包括浏览器和移动设备。官网
    • ServiceStack:架构缜密、速度飞快、令人愉悦的 web 服务。官网
    • Nelibur:Nelibur 是一个使用纯 WCF 构建的基于消息的 web 服务框架。Nelibur 可以便捷地创建高性能、基于消息的 web 服务,使得你全面拥有 WCF 的强大能力。官网
  • WebAPI Contrib:帮助你提高 ASP.NET Web API 能力的开源项目集合。官网

应用框架(Application Frameworks)

  • ASP.NET Boilerplate:现代 ASP.NET MVC web 应用程序的入门,包含最佳实践和最流行的工具。官网
  • Orleans:Orleans 框架提供了直接构建分布式、大规模计算应用的方法,无需学习和使用复杂的并行或扩展模型。官网
  • CoreFX:corefx 仓库包含了 .NET 核心功能库的实现(被称为“CoreFX”)。包含了 System.Collections、System.IO、System.Xml 以及诸多其它组件。目前构建并运行于 Windows 平台。你可以关注这个仓库,了解在未来的几个月内即将增加的对 Linux 和 Mac 的支持。官网
  • CSLA .NET:业务层开发框架 http://www.cslanet.com官网
  • Mono:Mono 是 ECMA CLI、C# 以及 .NET 的开源实现。官网
  • Mono-Addins:Mono.Addins 是一个通用框架,用于创建可扩展的应用程序以及这些应用程序的扩展插件。官网
  • Spring.Net:Spring.NET 是一个开源的应用程序框架,可以便捷地创建企业级 .NET 项目。官网

应用模板(Application Templates)

  • MVC.Template:ASP.NET MVC 5 入门项目模板。官网
  • ProjectScaffold:F# 基金会推荐的 .NET 解决方案的原型——包括文件系统的搭建、用于管理依赖的 Paket 以及用于自动化构建、测试的 FAKE。默认情况下,构建流程也会对文档进行编译,并生成 NuGet 程序包。官网
  • Side-Waffle :包含大量有用的 Web 和桌面开发模板。Side-Waffle
  • Template10 :带有设计模式的 Windows 10 模板。Template10

人工智能(Artificial Intelligence)

  • AIMLBot(Program#):使用 C# 编写的一个小型、快速、兼容标准、易于定制的聊天机器人,基于 AIML (人工智能标记语言 Artificial Intelligence Markup Language)。官网
  • SIML:智能综合智能标记语言(Synthetic Intelligence Markup Language),下一代聊天机器人及数字助手语言。官网

程序集处理(Assembly Manipulation)

  • dnSpy:dnSpy 是一个 .NET 程序集编辑器、反编译器和调试器,来自 ILSpy 分支。官网
  • Fody:织入(weaving).net 程序集的可扩展工具。官网
  • Mono.Cecil:Cecil 类库用于生成和检查 ECMA CIL 程序和库。官网

资源(Assets)

  • Cassette:管理 .NET web 应用程序资源(脚本、css 和 模板)Cassette
  • NodeAssets:.net 资源管理器,通过 SignalR 实时更新 css,也可以使用 NodeJS 编译器。官网
  • Bundler:编译和最小化 Less、Sass、Stylus、Css、JS、CoffeeScript、LiveScript 文件。MVC集成了 MVC 和 ServiceStack。官网
  • ClientDependency:压缩CSS与JS,提供WebForm与MVC版本。官网
  • SquishIt:让你轻松合并一些 css 和 javascript。官网

认证和授权(Authentication and Authorization)

  • ASP.NET Identity:用于 ASP.NET 应用程序的新身份系统。官网
  • DotNetOpenAuth:OpenID、OAuth 和 InfoCard 协议的一个 C# 实现。官网
  • Logibit Hawk:一个 F# Hawk 认证库。官网
  • IdentityModel:.NET 4.5 和 MVC4、Web API 身份和访问控制的辅助库。官网
  • IdentityServer:可扩展的 OAuth2 和 OpenID 连接提供程序框架。官网
  • OAuth:超轻量级 OAuth 1.0a 签名生成库,C# 编写。官网

自动构建(Build Automation)

  • Psake:基于 .NET 的自动化构建工具,使用 PowerShell 编写。官网
  • FAKE:F# Make,一个跨平台自动构建系统。官网
  • Invoke-Build:PowerShell 自动构建和测试工具,灵感来自 Psake。官网
  • MSBuild:微软构建引擎(MSBuild)是 .NET 和 Visual Studio 的构建平台。官网
  • Cake:Cake(C# Make)使用 C# DSL 的跨平台自动构建系统。官网

缓存(Caching)

  • CacheCow:ASP.NET Web API HTTP 客户端和服务器端缓存实现。官网
  • Akavache:一个异步、持久化的键值存储。官网
  • CacheManager:是用C#为.NET写的缓存管理抽象层,支持多种缓存工具,可以实现层次化的缓存。官网

CLI

  • Command Line Parser:Command Line Parser 类库为 CLR 应用程序提供了一套简洁的 API,用于处理命令行参数及相关任务。官网
  • Fluent Command Line Parser:一个简单、强类型的 .NET C# 命令行解析库,交互方式流畅易用。官网
  • Power Args:PowerArgs 将命令行参数转换为 .NET 对象,便于程序使用。它还提供了大量可选的扩展,例如参数校验、自动生成使用帮助、tab 补全等等。官网
  • UnionArgParser:针对 F# 应用程序的声明式 CLI 参数和 XML 配置解析器。官网

CLR

  • CoreCLR:coreclr repo 包含了完整的 .NET 核心运行时实现(称为“CoreCLR”)。它包括 RyuJIT、.NET GC、非托管代码交互(native interop)等诸多组件。它目前构建和运行于 Windows 平台。你可以关注这个仓库,了解未来的几个月内即将增加的对 Linux 和 Mac 的支持。官网

CMS

  • Composite C1:一个 web 内容管理系统,着重在用户体验及适应性。官网
  • mojoPortal:MojoPortal 是一个可扩展、跨数据库、移动友好的 web 内容管理系统(CMS)和 web 应用程序框架,使用 C# ASP.NET 编写。官网
  • N2CMS:开源、轻量、代码优先的 CMS,可以无缝地集成到任何 MVC 项目中。官网
  • Orchard:免费、开源、专注社区的项目,目标是在 ASP.NET 平台上提供应用程序和可重用组件。官网
  • Piranha CMS:Piranha 是一个有趣、快速、轻量级的 .NET 框架,用于开发基于 cms 附带其它功能的 web 应用程序。它基于 ASP.NET MVC 和 Web 页面创建,完全兼容 Visual Studio 和 WebMatrix。官网
  • Umbraco:Umbraco 是一个免费开源的内容管理系统,基于 ASP.NET 平台构建。官网

代码分析和度量(Code Analysis and Metrics)

  • CodeMaid:Visual studio 扩展,用于清理、挖掘和简化 C#、C++、F#、VB、PHP、JSON、XAML、XML、ASP、HTML、CSS、LESS、SCSS、JavaScript 和 TypeScript 代码。官网
  • StyleCop:StyleCop 使用一组风格和一致性规则,对 C# 源代码进行分析和强制性检查。官网
  • Gendarme:可扩展的、基于规则的工具,用于在 .NET 应用程序和类库中查找问题。官网
  • Metrics-Net:捕获 CLR 和应用程序级别的度量值。所以你知道它的功能。官网

编译器(Compiler)

  • Bridge.NET:将 C# 编译成 JavaScript 的开源编译器 http://bridge.net/官网
  • ClojureCLR:从 Clojure 到 CLR 的转换,是 Clojure 项目的一部分。官网
  • F#:F# 编译器、核心库和工具——更安全、更快、代码更好的函数式编程语言。官网
  • FunScript:F# 到 JavaScript 的编译器,可以通过 TypeScript 类型提供程序使用 JQuery 等 JavaScript 库。官网
  • JSIL:CIL 到 Javascript 的编译器 http://jsil.org/官网
  • Mono-basic:Visual Basic 编译器和运行时。官网
  • Nemerle:Nemerle 是一个 .NET 平台高级静态类型编程语言。它提供函数式、面向对象式和命令式编程语言的特性。它拥有一个简单的类似 C# 的语法和强大的元编程(meta-programming)系统。 官网 Github
  • Netjs:.NET 到 TypeScript 和 JavaScript 编译器。兼容可移植类库。你甚至可以使用 EXE 文件。官网
  • Roslyn:.NET 编译平台(“Roslyn”)提供开源的 C# 和 Visual Basic 编译器,包含丰富的代码分析 API。它可以使用和 Visual Studio 一样的 API 来构建代码分析工具。官网
  • VisualFSharp:Visual F# 编译器和工具。官网

压缩(Compression)

  • SharpCompress:SharpCompress 是一个用于 .NET、Mono、Silverlight、WP7 的压缩类库,可以解压rar、7zip、zip、tar、bzip2 和 gzip,提供单向读取和随机文件访问 API。支持对 zip/tar/bzip2/gzip 进行写入的实现。官网
  • DotNetZip.Semverd:一个开源项目,提供对 ZIP 文件处理的 .NET 类库和相关工具。 (分支自 已经不再维护的 DotNetZipDotNetZip.Semverd
  • SharpZipLib:一个 Zip、GZip、Tar 和 BZip2 的类库,完全由 C# 编写,面向 .NET 平台。官网

持续集成(Continuous Integration)

  • TeamCity:可以直接使用的,可扩展、面向开发人员友好的构建服务器——开箱即用**。** [$]官网
  • CruiseControl.NET:一个自动化持续集成服务器,使用 .NET Framework 实现。官网
  • MyGet:为NuGet、NPM、Bower 和 VSIX 提供持续集成、部署、宿主程序包仓库的服务。[开源软件免费] [$]官网
  • AppVeyor:.NET 持续构建和部署服务。 [$] [开源软件免费]官网

加密(Cryptography)

  • BouncyCastle:和 .Net 的 System.Security.Cryptography 一起,在 CLR 上提供加密算法的实现。官网
  • HashLib:HashLib 包含了几乎所有你见过的哈希算法,它几乎支持所有东西并且非常容易使用。官网
  • libsodium-net:libsodium for .NET——一个安全加密库。官网
  • StreamCryptor:使用 libsodium 和 protobuf 对流进行加密和解密。官网

数据库(Database)

  • BrightstarDb:BrightstarDB 是一个原生的 .NET RDF 三元组数据库(triple store)。官网
  • Event Store:开源的功能性数据库,支持使用 JavaScript 进行复杂事件处理。 https://geteventstore.com 官网
  • LiteDB:一个 .NET 的 NoSQL 单文件文档数据库。官网
  • RavenDB:支持 linq 的 .NET 文档数据库。官网

数据库驱动(Database Drivers)

  • MySQL Connector:完全托管的 MySQL ADO.NET 数据库提供程序、连接器。官网
  • Npgsql:Postgresql 的 .Net 数据提供程序。官网
  • MongoDB:MongoDB 官方 C# 驱动。官网
  • ServiceStack Redis:.NET 领先的 C# Redis 客户端。官网
  • StackExchange Redis:来自 StackExchange 的通用 redis 客户端。官网
  • Cassandra:DataStax 开发的 Apache Cassandra .NET 驱动程序。官网
  • Couchbase:couchbase 官方 .NET 客户端库,基于 Enyim memcached 客户端。官网
  • Firebird.NET:由C# 编写的 .NET 数据提供程序,提供对 Firebird API 的高性能原生实现。官网

反编译(Decompilation)

  • ILSpy:ILSpy 是一个开源的 .NET 程序集查看器和反编译器。官网
  • JustDecompile Engine:JustDecompile 反编译引擎。官网
  • de4dot:是一款强大的.NET程序集反混淆和脱壳工具(开源GPLv3)。官网

部署(Deployment)

  • Unfold:基于 Powershell 的 .net web 应用程序部署解决方案。官网

DirectX

  • SlimDX:为 .NET 应用程序提供的 DirectX 封装。官网
  • SharpDX:SharpDX 是一个开源项目,为 .Net 及所有 Windows 平台提供完整的 DirectX API,可以开发高性能的游戏、2D/3D图形渲染以及实时音频应用程序。官网

分布式计算(Distributed Computing)

  • Project Orleans:Orleans 框架提供了直接构建分布式、大规模计算应用的方法,无需学习和使用复杂的并行或扩展模型。由微软研究院开发。官网
  • Akka.net:Akka.NET 是流行的 Java/Scala 框架 Akka 的 .NET 版本。它由社区提供,与 Typesafe(原始的 Java、Scala 版本的开发商)无关。官网

文档(Documentation)

  • Sandcastle:Sandcastle 帮助文件生成器和 NDoc 类似。官网
  • SharpDox:一个 c# 文档工具。官网
  • Swashbuckle:向 WebApi 项目无缝地添加 swagger 文档(译者注:swagger 是一套用于生成、描述、展现 RESTful 风格 web 服务文档的框架和规范)。官网
  • NSwag:通过Swagger规范生成.NET、TypeScript的Web API客户端。官网
  • F# Formatting:F# 和 C# 项目的文档工具,文档生成自 F# 脚本文件、Markdown 文档、内嵌 XML 或 Markdown评论。官网

电子商务和支付(E-Commerce and Payments)

  • Paypal Merchant SDK:Paypal Merchant官方.NET SDK。官网
  • NopCommerce:nopCommerce。开源的电子商务购物车(ASP.NET MVC)。官网
  • ServiceStack.Stripe:针对 stripe.com REST API 的强类型 .NET 客户端。官网
  • SmartStoreNET:免费 ASP.NET MVC 电子商务购物车解决方案。官网
  • Stripe.Net:Stripe.net 是针对 http://stripe.com 完整服务的 .net api。官网
  • BeYourMarket:BeYourMarket 是一个点对点的市场框架。官网 Github
  • Virto Commerce:Virto Commerce 是第二个版本,也是唯一的开源许可下的企业级别电子商务产品。Virto Commerce 基于 .NET 4.5,使用了 MVC、IoC、EF、Azure、Angular JS 等其他先进技术。它可以在微软的云平台(Azure)、亚马逊云服务(AWS)和企业内部部署。官网

环境管理(Environment Management)

  • DNVM:.NET SDK 管理器,一组命令行工具,用于更新和配置需要使用的运行时环境(DNX)。官网

ETL

  • Reactive ETL:Reactive ETL 使用 .NET 反应性扩展框架(reactive extensions) 重写了 Rhino ETL。官网

游戏(Game)

  • MonoGame:一个用来创建跨平台游戏的强大框架。官网
  • CocosSharp:CocosSharp 是 Cocos2D 和 Cocos3D API 的 C# 实现版本,可以在所有支持 MonoGame 的平台上运行。官网
  • Duality:Duality 是一个 2D 游戏开发框架。专注于功能的模块化,自带一个可视化编辑器。官网
  • Paradox:Paradox 游戏引擎。官网

地理信息系统(Gis)

  • NetTopologySuite:一个 在 .NET 平台上实现快速、可靠的 GIS 系统解决方案。官网
  • SharpMap:一个易于使用的地图库,可以用于 web 和桌面应用程序。官网

Git工具(Git Tools)

  • Bonobo Git Server:Bonobo Git Server for Windows 是一个 web 应用程序,可以安装在你自己的 IIS 上,用于管理和连接你的 git 仓库。 官网 Github
  • GitExtensions:GitExtensions 包含资源管理器扩展、Visual Studio 2008/2010/2012/2013 插件和一个独立的 Git 仓库工具。 官网Github
  • GitLink:让用户可以单步调试托管在 GitHub 或 BitBucket 上的代码。官网
  • GitVersion:根据你的 Git 仓库的状态生成一个语义化版本号(Semantic Version Number)。官网
  • LibGit2Sharp:LibGit2Sharp 带来了 libgit2 所有的功能和速度,是一个本地 Git 实现,可以运行在 .Net 和 Mono 平台。官网
  • NGit:NGit 是 JGit 移植到 C# 的版本。官网
  • posh-git:Git 的 PowerShell 环境。官网

图形(Graphics)

  • Oxyplot:OxyPlot 是一个 .NET 跨平台绘图库。官网
  • OpenTK:Open Toolkit 是一个封装了 OpenGL、OpenCL 和 OpenAL 的 高级底层 C# 开发库。官网
  • NGraphics:NGraphics 是一个 .NET 跨平台矢量图形渲染库。官网

GUI

  • MahApps.Metro:用于创建 Metro 风格 WPF 应用的工具箱。官网
  • Callisto:用于 Windows 8 XAML 应用的控件工具箱。包含若干 UI 控件,让你更容易地创建符合 Windows UI 风格规范的Windows 商店应用。官网
  • ObjectListView:ObjectListView 使用 C# 封装了 .NET 的 ListView 控件。它使得 ListView 更加易用,并且加入了一些新特性。官网
  • DockPanelSuite:灵感来自 Visual Studio 的停靠窗口(docking)类库,用于 .NET WinForm 应用。官网
  • AvalonEdit:在 SharpDevelop 中使用,基于 WPF 的文本编辑器组件。官网
  • XWT:跨平台 UI 工具箱,用于创建 .NET 和 Mono 桌面应用程序。官网
  • Gtk#:Gtk# 是 Gtk+ GUI 工具箱的 Mono/.NET 版本,绝大多数 Mono 中的 GUI 应用都基于它构建。官网
  • MaterialDesignInXamlToolkit:用于创建 Material Design 风格 WPF 应用的工具箱。官网
  • Eto.Forms:跨平台的 GUI 框架,用于 .NET 和 Mono 下的桌面和移动应用程序。官网
  • Dragablz:可拖拽、可分离(tearable,译者注:即拖拽标签页成为独立窗口)的 WPF 标签页控件(类似 Chrome)。支持布局和主题,包含兼容 MahApps 和 Material Design 的主题。官网
  • Fluent.Ribbon:Fluent Ribbon Control Suite 是一个在 WPF 中实现 Office 和 Windows 8 风格的 Ribbon 库。官网

HTML 和 CSS(HTML and CSS)

  • AngleSharp:支持构建完整的 HTML5 DOM 和 CSS3 模型。官网
  • CsQuery:jQuery 风格的HTML5 解析器,可与 DOM 交互。官网
  • dotless:ruby Less CSS 库的 .NET 移植版本。官网
  • ExCSS:C# 的 CSS3 解析器开发库。官网
  • FluentBootstrap:让ASP.NET MVC 和 WebPages 更容易使用 Boostrap CSS 框架。官网
  • HtmlAgilityPack:一个灵活的 HTML 解析器,可以对 DOM 进行读写,支持 XPATH 和 XSLT。官网
  • Jumony:类似HtmlAgilityPack框架,性能有改善。官网

HTTP

  • Http.fs:[F#] 中的一个函数式 HTTP 客户端。官网
  • RestSharp:.NET 下简单的 REST 和 HTTP API 协议客户端。官网
  • EasyHttp:C# Http开发库。官网
  • Refit:Xamarin 和 .NET 下自动生成强类型的 REST 库。官网
  • RestEase:类型安全且易于使用的 REST API 客户端库,简单可定制。大部分灵感来自 Refit。官网

IDE

  • SharpDevelop:用于 .NET 编程语言的免费 IDE。官网
  • MonoDevelop:MonoDevelop 是一个跨平台的 IDE,主要面向 Mono/.NET 开发者。官网
  • Visual Studio Express:用于 .NET 开发的免费、轻量版本的 Visual Studio。官网
  • Visual Studio Community:功能完整的免费 IDE。官网
  • Waf DotNetPad:简单快速的代码编辑器,让开发 C# 或 Visual Basic 充满乐趣。官网
  • Visual Studio Code:非常棒的编辑器,来自微软,基于 GitHub Atom。官网
  • Rider:跨平台.Net IDE。官网

图像处理(Image Processing)

  • ImageResizer:在图片 URL 后面增加命令,在几毫秒内获取修改后的版本,支持实时的对图片进行缩放、编辑。官网
  • ImageProcessor:开源 .NET 库,用于实时处理图片。官网
  • DynamicImage:高性能开源图片处理库,用于 ASP.NET。官网
  • MetadataExtractor:从图片中提取 Exif、IPTC、XMP、ICC 等其它元数据信息。官网
  • Emgu CV:OpenCV 的 .NET 跨平台封装。官网

安装工具(Install Tools)

  • Wix Toolset:强大的工具集,用于创建你自己的 Windows 安装程序。官网
  • Squirrel:Squirrel 即是一套工具也是一个类库,可以无安全管理 Windows 桌面程序的安装和更新。官网

国际化(Internationalization)

  • i18n:ASP.NET MVC 智能国际化工具。官网

互操作(Interoperability)

  • CefSharp:Chromium Embedded Framework 的 .NET 支持(WPF 和 WinForm)。官网
  • CppSharp:在 C# 中平滑使用 C++ API 的工具。官网
  • Sharpen:Sharpen 是 db4o 编写的 Eclipse 插件,可以让你把 Java 项目转换为 C#。官网
  • CXXI:C++ 互操作框架。官网

IoC

  • Castle Windsor:Castle Windsor 是一个用于 .NET 和 Silverlight 的成熟的 控制反转(IoC) 容器。官网
  • Unity:轻量级、可扩展的依赖注入容器,支持构造函数、属性和方法调用注入。官网
  • Autofac:令人着迷的 .NET IoC 容器。官网
  • Ninject:.net 依赖注入的忍者。官网
  • StructureMap:.Net 最早的 IoC/ID 容器。官网
  • Spring.Net:Spring.NET 是一个开源应用程序框架,可以便捷地创建企业级 .NET 应用。官网
  • LightInject:一个超轻量级 IoC 容器。官网
  • TinyIoC:单文件、简单、跨平台的 IoC 容器。官网

日志(Logging)

  • Essential Diagnostics:为内置System.Diagnostics 命名空间扩展功能,提供更灵活的日志功能。官网
  • NLog:先进的 .NET 和 Silverlight 日志工具。官网
  • ELMAH:ELMAH 官方网站。官网
  • Elmah MVC:MVC 版 Elmah。官网
  • Logary:Logary 是一个 mono 和 .Net 平台下高性能、多目标的日志、度量、追踪和健康检查库。支持多目标,为微服务构建。官网
  • Log4Net:Apache log4net 工具库能够帮助程序员向多种不同的目标输出日志语句。官网
  • Serilog:一个 NoSQL 时代下简单直接的日志库。将多个优秀的传统结构化分析日志功能合并到一个易于使用的程序集中。官网
  • StackExchange.Exceptional:Stack Exchange 网络使用的错误处理程序。官网
  • Semantic Logging Application Block (SLAB):为内置 System.Diagnostics.Tracing 命名空间(EventSource类)扩展功能,支持将日志记录到多个容器中,包括 Azure 表存储、数据库、文件(JSON、XML、文本文件)。通过 ETW 支持进程内和进程外的日志记录,支持 Rx 进行实时的事件过滤和聚合。官网
  • Exceptionless:一个免费开源分布式系统的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技术栈的应用程序中,并且提供了Rest接口可以应用在 Javascript,Node.js 中。官网 Github

机器学习和数据科学(Machine Learning and Data Science)

  • Accord.NET:机器学习框架,包含了音频和图像处理的库(计算机视觉、计算机听觉、信号处理和统计)。官网
  • Accord.NET Extensions:高级图像处理和计算机视觉算法扩展。官网
  • AForge.NET:为计算机视觉和人工智能领域的开发者和研究人员提供的框架(包括图像处理、神经网络、遗传算法、机器学习、机器人科学)。官网
  • Deedle:处理探索性数据的数据帧和时序库,支持 C# 和 F#。官网
  • FsLab:数据科学和机器学习库的集合,支持 F# 和 .NET。官网
  • numl:包含最流行的监督学习和无监督学习算法,尽量减少创建预测模型时的冲突。官网
  • R Provider:将 R 语言包和函数封装为类型安全的类型提供程序供 F# 调用。官网
  • F# Data:F# 类型提供程序,访问 XML、JSON、CSV 和 HTML 文件(基于样例文档),以及 WorldBank 数据。官网

Markdown 处理(Markdown Processors)

  • MarkdownSharp:C# 实现的开源 Markdown 处理器,在 Stack Overflow 中使用。官网
  • F# Formatting:用于生成 F# 和 C# 项目文档的工具。该工具库的核心组件中包含了可扩展的 Markdown 解析器。官网
  • CommonMark.NET:CommonMark 规范的 C# 实现,用于将 Markdown 文档转换为 HTML。为最佳性能和可移植性进行了优化。官网

邮件(Mail)

  • FluentEmail:System.Net.Mail 的一个流式(Fluent)封装,支持 razor 模板引擎。官网
  • MailKit:完整的跨平台的邮件协议栈,包括 IMAP、POP3、SMTP,支持验证等特性。基于 MimeKit 构建。官网
  • MimeKit:跨平台 .NET MIME 创建和解析库,支持 S/MIME、PGP、TNEF 和 Unix mbox spools。官网
  • PreMailer.Net:一个 C# 开发库,将你的样式表嵌入到内置的 style 属性中,最大限度支持邮件客户端。官网

数学(Mathematics)

  • MathNet:Math.NET 是一个开源项目,旨在创建和维护涵盖基础数学在内的工具集,面向高级和日常需要使用此类功能的 .Net 开发人员。官网

多媒体(Media)

  • TagLib#:TagLib#(即 taglib-sharp)是一个读写媒体文件元数据的库,支持视频、音频和照片格式。官网

度量(Metrics)

  • C# StatsD Client:Etsy StatsD 服务器的 C# 客户端。官网

微框架(Micro Framework)

  • .NET Micro Framework Interpreter:Microsoft® .NET Micro Framework(NETMF)是一个在 Visual Studio 中提供为小型设备上编写嵌入式应用的框架。官网

杂项(Misc)

  • .NET Fiddle:在浏览器中编写、编译并运行 C# 代码。相当于 C# 版本的 JSFiddle。官网
  • AzureCrawler:从 Angular、Ember、Durandal 或任何 JavaScript 应用中获取 HTML 快照。官网
  • BitSharp:C# 比特币节点。官网
  • CSScript:CS-Script 是一个基于 CLR 的脚本系统,使用 C# 作为编程语言。CS-Script 目前针对微软的 CLR 实现(.NET 2.0/3.0/3.5/4.0/4.5)并完整支持 Mono。附带很多附加特性,比如脚本宿主。官网
  • CsvHelper:帮助读写 CSV 文件的开发库。官网
  • FluentValidation:一个小型的 .NET 校验库,使用流式接口和 lambda 表达式构建校验规则。官网
  • Humanizer:Humanizer 能够在 .NET 平台上满足所有针对字符串、枚举、日期、时间、时间范围、数字等类型数据的操作和显示要求。官网
  • LINQPad:一个 C#/VB/F# 的便签本,能够立即执行任何表达式、语句块或程序,带有富文本显示等有用的特性。同样可以让你使用 LINQ 进行交互性数据库查询。 [$](译者注:也有免费许可,但是功能受限)。官网
  • Polly:快捷便利的异常处理策略,例如 重试、始终重试、等待并重试或断路(Circuit Break)等行为。 (.NET 3.5、4.0、4.5、PCL、Xamarin)官网
  • Rant:Rant 程序文本生成 DSL(领域特定语言)。 官网 Github
  • ScriptCS:使用文本编辑器、nuget 和强大的 Roslyn 来编写 C# 应用!官网

MVVM

  • Caliburn.Micro:小型但功能强大的框架,可以用来给所有 XAML 平台创建应用。它对 MV* 模式的强大支持可以让你快速构建你的解决方案,与此同时不必牺牲代码质量和可测试能力。官网
  • MVVM Light Toolkit:该工具箱主要是用来加速创建和开发 MVVM 应用,适用于 WPF、Silverlight、Windows Store(RT)和 Windows Phone 平台。官网
  • Catel:Catel 是一个应用开发平台,主要着眼在 MVVM(WPF、Silverlight、Windows Phone 及 WinRT)以及 MVC(ASP.NET MVC)。Catel 的核心部分包含 IoC 容器、模型、校验、备忘录模式(memento)、消息中介(message mediator)、参数检查等。官网
  • UpdateControls:Update Controls 不需要你实现 INotifyPropertyChanged 接口或声明一个 DependencyProperty。可以将控件直接关联到 CLR 属性,这使得它完美贴合 MVVM 模式。官网
  • ReactiveUI:一个 .NET 下的 MVVM 框架,集成了反应性扩展框架(Rx),允许开发者使用 WPF、Windows Store Apps、WP8 或 Xamarin 创建优雅的、可测试的应用。官网
  • Okra App Framework:一个以 app 为中心的 Windows 8.1 MVVM 框架,融合依赖注入,包含一套完整的 Visual Studio MVVM 模板。官网
  • WPF Application Framework (WAF):一个轻量级的框架,能够帮助你创建结构优雅的 WPF 应用。支持你使用分层架构和 MVVM 模式。官网
  • MVVMCross:跨平台mvvm 移动开发框架,针对 WP7 和 WP8 的 WPF/Silverlight、Android 的 Mono、iOS 的 MonoTouch 以及 WPA8.1/Windows 8.1 商店应用的 Windows Universal 项目。它使用可移植类库(PCL)来支持可维护的跨平台 C# 原生应用。官网
  • Stylet:最小化 MVVM 框架(参考 Caliburn Micro),包含了良好的文档、高覆盖率的测试以及自带的 IoC 容器。官网
  • Gemini:类似 Visual Studio Shell 的 IDE 框架。基于 WPF、AvalonDock 和 Caliburn Micro 构建。官网

Office

  • ClosedXML:ClosedXML 能够让开发人员更便捷地创建 Excel 2007、2010 文件。官网
  • NPOI:该项目是 .NET 版本的 POI 项目,原始的 Java 版本位于http://poi.apache.org/官网
  • EPPlus:EPPlus 是一个 .net 类库,用于读写 Open Office Xml 格式的 Excel 2007、2010 文件(xlsx)。官网
  • Open XML SDK:Open XML SDK 是一个开源库,用于处理 Open XML 文档(包括 DOCX、XLSX 和 PPTX)。官网

ORM

  • Entity Framework:对象关系映射器(ORM)框架,让 .NET 开发人员使用领域特定的对象来处理关系型数据。官网
  • BL Toolkit:.NET 平台的业务逻辑工具箱。官网
  • Dapper:一个超小型、快捷轻便的 ORM 框架。官网
  • Dapper Extensions:小型类库,对 Dapper 的功能进行补充,为你的简单传统 CLR 对象提供基础的 CRUD(Get、Insert、Update、Delete) 操作。官网
  • NHibernate:NHibernate 对象关系映射器(移植自 Java 平台的 Hibernate)。官网
  • Fluent NHibernate:便捷、无需使用 XML、编译安全、自动化、基于约定命名的 NHibernate 映射库。官网
  • FluentMigrator:.net 下的便捷的迁移框架。官网
  • ServiceStack.OrmLite:轻量、简单、快速、基于命名约定的 POCO ORM。官网
  • Massive:小型、令人愉悦的数据访问工具,始终关爱你直到永远。官网
  • LINQ to DB:最快的 LINQ 数据库访问库,简单、轻量、快速、类型安全,在你的对象(POCO)和数据库之间搭建桥梁。官网

包管理(Package Management)

  • NuGet:.NET 包管理器。官网
  • MyGet:为 NuGet、NPM、Bower 和 VSIX 提供程序包仓库宿主,同样提供 CI 服务。 开源软件免费 [$] 官网
  • Paket:.NET 的一个包依赖管理器,支持 NuGet 包和 GitHub 仓库。 官网 Github

PDF

  • ITextSharp:iText 是一个PDF库,用于创建、修改、检查和维护 Portable Document Format(PDF)格式的文档 [$] 开源软件免费 官网

Profiler

  • MiniProfiler:一个简单但有效的小型 profiler,用于 ASP.NET 网站。官网
  • Glimpse:开源 web 诊断平台。官网

推送通知(Push Notifications)

  • PushSharp:服务器端的推送通知类库,支持 iOS、OSX、Android、Chrome、Windows Phone、Windows 8、Backberry 和 Amazon 设备。官网

队列(Queue)

  • NServiceBus:.NET 平台下最流行的服务总线。官网
  • RabbitMQ.NET:AMQP 客户端的 C# 实现,通过 WCF 绑定到已有的 AMQP 服务。官网
  • NetMQ:NetMQ 是 ZeroMQ 纯 C# 移植版本。官网
  • MassTransit:MassTransit 是一个精简服务总线(lean service bus)的实现,使用 .NET Framework 来构建松耦合应用程序。官网
  • Rebus:Rebus 是一个 .NET 平台的精简服务总线和 NServiceBus、MassTransit类似,只不过更加精简。官网
  • EasyNetQ:易于使用的 RabbitMQ .NET API。官网
  • Warewolf ESB:易于使用的服务总线和微服务平台,可以在一个可视化 IDE 中便捷的创建应用和服务。官网

响应式编程(Reactive Programming)

  • Rx.NET:Reactive Extensions (Rx)库使用观察者序列(observable sequences)和 LINQ 风格的查询操作,来进行异步和基于事件的程序开发。官网
  • Dynamic Data:用于集合的响应式编程框架。官网

计划调度(Scheduling)

  • QuartzNet:Quartz 是 .NET 平台的企业级调度器。官网
  • Hangfire:在 ASP.NET 应用中,超简单地实现自主引导(fire-and-forget)、延迟和周期重复任务。高级版需要收费。官网
  • Hangfire.Redis.StackExchange:Hangfire的redis扩展库,基于StackExchange.Redis的开源实现。官网
  • Azure WebJobs:Azure WebJobs 是Azure中App Services一个附属服务,为Azure中运行的Web App提供后台运行环境(支持多种语言编写Job),有.NET的SDK开源,并且可以直接添加扩展也开源官网

SDK 和 API 客户端(SDK and API Clients)

  • AWS SDK:AWS SDK for .NET 让 .NET 开发者可以便捷地操作 Amazon Web Services。官网
  • Azure PowerShell:一组 PowerShell 命令行,让开发者和管理员开发、部署和管理 Microsoft Azure 应用。官网
  • Octokit.NET:.NET 平台下的 GitHub API 客户端库。官网
  • DropNet:Dropbox API 客户端开发库。官网

搜索(Search)

  • Elasticsearch .NET:Elasticsearch.Net & NEST。官网
  • PlainElastic.Net:ElasticSearch 的一个简单的 .Net 客户端。官网
  • SolrNet:.Net 平台下的 Solr 客户端。官网
  • Lucene.net:Lucene.Net 是 Lucene 搜索引擎库的移植,使用 C# 编写,面向 .NET 环境的用户。官网

序列化(Serialization)

  • Protobuf.NET:Protocol buffers 是 Google 使用的二进制序列化格式,在 Google 数据通讯中大量使用。官网
  • Json.NET:.NET 平台下流行的、高性能 JSON 框架。官网
  • ServiceStack.Text:在 servicestack.net 中使用的 JSON、JSV、CSV 文本序列化器。官网
  • Msgpack-Cli:MessagePack 的 CLI 实现。官网
  • Jil:.NET 平台下快速的 JSON 序列化器,基于 Sigil (在 StackOverflow 中使用)。官网
  • ProtoBuf:根据 .proto 规范,为 protocol buffer 序列化内容生成 C# 代码。官网
  • F# Data:F# 类型提供程序,访问 XML、JSON、CSV 和 HTML 文件(基于样例文档),以及访问 WorldBank 数据。官网
  • Bond:跨平台框架,用于处理系统化(schematized)数据。支持跨平台的序列化、反序列化,以及强大的通用机制来高效处理数据。官网

状态机(State machines)

  • Stateless:直接使用 .NET 代码创建一个状态机和轻量的基于状态机的工作流。官网
  • Automatonymous:.Net 平台的状态机库,允许你编写流式API风格的状态机。官网

静态网站生成(Static Site Generators)

  • Pretzel:.NET 平台下的网站生成工具(包含后续的一些功能)。官网
  • Sandra.Snow:.NET 平台的静态网站生成工具,借鉴 Jekyll。官网
  • Wyam:简单易用、高度模块化、拥有强大配置能力的静态网站生成工具。官网

风格指南(Style Guide)

  • C# Style Guide:StackOverflow 上的C#风格指南 Q & A。官网
  • C# Coding Conventions:MSDN 官方的 C# 代码约定。官网

模板引擎(Template Engine)

  • RazorEngine:基于微软 Razor 解析器引擎的开源模板引擎。官网
  • Nustache:无逻辑模板的开源库。官网
  • DotLiquid:Ruby Liquid 模板语言的 C# 移植版本。官网

测试(Testing)

  • AutoFixture:AutoFixture 是一个用于 .NET 的开源框架,用于简化单元测试中的设置(Arrange)阶段。官网
  • FakeItEasy:.NET 平台的一个简单的 mocking 库。官网
  • Fluent Assertions:一组 .NET 扩展方法,可以让你更自然地指定 TDD 或 BDD 风格测试的期望值。官网
  • Fuchu:F# 的单元测试库,通过 tests-as-values 机制让你更容易创建领域特定语言(DSL)。官网
  • Machine.Specifications:Machine.Specifications (MSpec)是一个上下文、规范框架,忽略了语言本身的干扰,简化了测试。官网
  • Moq:.NET 平台下最流行和友好的 mocking 框架。官网
  • NBuilder:快速创建测试对象。官网
  • NSubstitute:一个友好的 .NET mocking 框架。官网
  • NUnit:官网
  • Rhino Mocks:.NET 平台的动态 Mocking 框架。官网
  • Shouldly:Shouldly 是一个断言(assertion)框架,主要功能是在断言失败时,给出简单明了并且友好的错误信息。官网
  • SpecFlow:将业务需求绑定到 .Net 代码。官网
  • xUnit:xUnit.net 是一个 .NET 平台下免费、开源、专注社区的单元测试框架。官网

交易(Trading)

  • Lean:Lean 引擎是一个开源的,完全由 C# 托管代码编写的交易算法引擎,用于桌面和云端。 官网 Github
  • StockSharp:交易和算法交易(algorithmic trading)的开源平台(用于股票市场、外汇市场、比特币和期权交易)。官网

Visual Studio 插件(Visual Studio Plugins)

  • Web Essentials:Web Essentials 为 Visual Stduio 扩展了大量的特性,提供了 web 开发人员盼望多年的功能。官网
  • VsVIM:Visual Studio 中的 VIM。官网
  • Nuget Package Manager:NuGet 是微软开发平台(包括 .NET)的包管理器。官网
  • SideWaffle:Visual Studio 2012、2013 中的一组项目模板集合,让 web 开发人员更加轻松。官网
  • Resharper:Visual Studio 开发人员生产力工具 [$] 官网
  • Refactoring Essentials:开源 C# 和 VB.NET 重构扩展,包括代码最佳实践分析器。官网
  • CodeContracts:.NET CodeContracts 工具源代码。官网
  • Git Diff Margin:在 Visual Studio 滚动条区域实时显示当前文件在 Git 上的差异。官网
  • Productivity Power Tools:一组 Visual Studio 专业版(及更高版本)的扩展,用于提高开发人员的生产力。官网

Web 框架(Web Frameworks)

  • ASP.NET MVC:ASP.NET 是一个免费的 web 框架,用于创建优秀的 web 站点和应用程序。官网
  • FubuMVC:.NET 平台下前端控制器(front-controller)风格的 MVC 框架。官网
  • NancyFx:在 .Net 和 Mono 平台上创建 HTTP 服务的一个轻量级、非正式的框架。官网
  • IISNode:在 IIS 中宿主 NodeJS 应用程序。官网
  • Suave.IO:一个框架/库/web 服务器,当你看到你使用优美的 F# 编写的代码提前完成了你的项目时,它的存在会让你喜极而泣。(一个用 F# 编写 Web 应用的框架和服务器端)官网

Web 服务器(Web Servers)

  • EmbedIO:基于 Mono 编写的跨平台的 Web 服务器。官网
  • XSP:Mono 中的 ASP.NET 宿主服务器。该模块包含了 Apache 模块、FastCGI 模块,可以用于挂载到其它 web 服务器或是作为一个测试用的独立服务器存在(类似微软的 Cassini 项目)。官网
  • Jexus:强劲、坚固、免费、易用的Linux ASP.NET服务器。官网

WebSocket

  • SignalR:ASP.NET 库,开发者可以通过它在 web 应用程序中非常简单地实现实时功能。官网
  • Fleck:Fleck 是一个 C# 实现的 WebSocket 服务器。分支自 Nugget 项目。官网
  • Websocket-Sharp:WebSocket 协议的 C# 实现,包含客户端和服务器端。官网
  • XSockets:提供了一组工具,可以在微软 .NET 等平台上构建一个实时应用程序。官网
  • WebSocket4NET:.NET 2.0+、Xamarin、Mono、Silverlight、Windows Phone 以及 WinRT 下的 WebSocket 客户端。官网
  • SuperSocket:一个轻量级, 跨平台而且可扩展的 .Net/Mono Socket 服务器程序框架。官网

Windows 服务(Windows Services)

  • TopShelf:一个简单的服务宿主框架,使用 .NET 构建 Windows 服务。官网

通讯框架(Communication Frameworks)

  • DotNetty:一个快速开发高性能、高可靠性的非阻塞的事件驱动网络应用框架。官网
  • Helios:一套高性能的Socket通信中间件。官网
  • enode: 一个用来开发DDD、CQRS、EDA 以及事件驱动应用程序的框架。官网

其他列表(Other Lists)

JavaScript 资源大全中文版

我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-javascript 是 sorrycc 发起维护的 JS 资源列表,内容包括:包管理器、加载器、测试框架、运行器、QA、MVC框架和库、模板引擎、数据可视化、时间轴、编辑器等等

Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。



目录


包管理器

管理着 JavaScript 库,并提供读取和打包它们的工具。

  • npm:npm 是 JavaScript 的包管理器。官网
  • Bower:一个 web 应用的包管理器。官网
  • component:能构建更好 web 应用的客户端包管理器。官网
  • spm:全新的静态包管理器。官网
  • jam:一个专注于浏览器端和兼容 RequireJS 的包管理器。官网
  • jspm:流畅的浏览器包管理器。官网
  • Ender:没有库文件的程序库。官网
  • volo:以项目模板、添加依赖项与自动化生成的方式创建前端项目。官网
  • Duo:一个整合 Component、Browserify 和 Go 官网的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。

加载器

JavaScript 的模块或加载系统。

  • RequireJS:JavaScript 文件和模块的加载器。官网
  • browserify:在浏览器端以 node.js 的方式 require()。官网
  • SeaJS:用于 Web 的模块加载器。官网
  • HeadJS:HEAD 的唯一脚本。官网
  • curl:小巧、快速且易扩展的模块加载器,它能处理 AMD、CommonJS Modules/1.1、CSS、HTML/text 和历史脚本。官网
  • lazyload:小巧且无依赖的异步 JavaScript 和 CSS 加载器。官网
  • script.js:异步 JavaScript 加载器和依赖管理器。官网
  • systemjs:AMD、CJS(commonJS) 和符合 ES6 规范的模块加载器。官网
  • LodJS:基于 AMD 的模块加载器。官网
  • ESL:浏览器端的模块加载器,支持延迟定义和 AMD。官网
  • modulejs:轻量的 JavaScript 模块系统。官网

打包工具

  • browserify :Browserify 让你能在浏览器端使用 require('modules') ,打包所有依赖。官网
  • webpack:为浏览器打包 CommonJs/AMD 模块。官网
  • gulp:用自动化构建工具增强你的工作流程!官网

测试框架

框架

  • mocha:适用于 node.js 和浏览器、简易、灵活、有趣的 JavaScript 测试框架。官网
  • jasmine:简单无 DOM 的 JavaScript 测试框架。官网
  • qunit:一个易于使用的 JavaScript 单元测试框架。官网
  • jest:简单的 JavaScript 单元测试框架。官网
  • prova:基于 Tape 和 Browserify 的测试运行器,它适用于 Node & 浏览器。官网
  • DalekJS:自动化且跨浏览器的 JavaScript 功能测试框架。官网

断言

  • chai:适用于 node.js 和浏览器的 BDD / TDD 断言框架,并能搭配其它测试框架使用。官网
  • Sinon.JS:对 JavaScript 进行 spies、stubs 和 mock 测试。官网
  • expect.js:简约的、适用于 Node.js 和浏览器端的 BDD 式断言工具。官网
  • should.js:适用于 Node.js 的 BDD 式断言工具。官网

覆盖率

  • istanbul:另一个 JS 代码覆盖率检测工具。官网
  • blanket:一个简单的代码覆盖率检测库。它的设计理念是易于安装和使用,且可用于浏览器端和 node.js。官网
  • JSCover:JSCover 是一个检测 JavaScript 程序代码覆盖率的工具。官网

运行器

  • phantomjs:脚本化的 Headless WebKit。官网
  • slimerjs:一个内核为 Gecko 的类似 PhantomJS 工具。官网
  • casperjs:基于 PhantomJS 和 Slimer JS 的导航脚本和测试工具。官网
  • zombie:基于 node.js 、快速、全栈且无图形界面的浏览器的测试工具。官网
  • totoro:一个简单可靠且能跨浏览器运行的测试工具。官网
  • karma:一个优秀的的 JavaScript 测试运行器。官网
  • nightwatch:基于 node.js 和 selenium webdriver 的图形界面自动化测试框架。官网
  • intern:下一代 JavaScript 代码测试栈。官网
  • yolpo:在浏览器逐句执行的 JavaScript 解释器。官网

QA 工具

  • JSHint:JSHint 是一个有助于发现 JavaScript 代码错误和潜在问题的工具。官网
  • jscs:JavaScript 代码风格检测工具。官网
  • jsfmt:格式化、搜索和改写 JavaScript。官网
  • jsinspect:检测复制粘贴和结构类似的代码。官网
  • buddy.js:发现 JavaScript 代码里的 魔术数字官网
  • ESLint:完全插件化的工具,能在 JavaScript 中识别和记录模式。官网
  • JSLint :高标准、严格和固执的代码质量工具,旨在只保持语言的优良部分。官网

MVC 框架和库

  • angular.js:为网络应用增强 HTML。官网
  • aurelia:一个适用于移动设备、桌面电脑和 web 的客户端 JavaScript 框架。官网
  • backbone:给你的 JS 应用加入带有 Models、Views、Collections 和 Events 的 Backbone。官网
  • batman.js:最适合 Rails 开发者的 JavaScript 框架。官网
  • ember.js:一个旨在创建非凡 web 应用的 JavaScript 框架。官网
  • meteor:一个超简单的、数据库无处不在的、只传输数据的纯 JavaScript web 框架。官网
  • ractive:新一代 DOM 操作。官网
  • vue:一个用于构建可交互界面的、直观快速和可组合的 MVVM 框架。官网
  • knockout:Knockout 用 JavaScript 让创建响应式的富 UI 更加容易。官网
  • spine:构建 JavaScript 应用的轻量 MVC 库。官网
  • espresso.js:一个极小的、用于制作用户界面的 JavaScript 库。官网
  • canjs:让 JS 更好、更快、更简单。官网
  • react:用于建构用户界面的库。它是声明式的、高效的和极度灵活的,并使用虚拟 DOM 作为其不同的实现。官网
  • react-native:一个用 React 构建原生应用的框架。官网
  • riot:类 React 库,但很轻量。官网
  • thorax:加强你的 Backbone。官网
  • chaplin:使用 Backbone.js 库的 JavaScript 应用架构。官网
  • marionette:一个 Backbone.js 的复合应用程序库,旨在简化大型 JavaScript 应用结构。官网
  • ripple:一个小巧的、用于构建响应界面的基础框架。官网
  • rivets:轻量却拥有强大的数据绑定和模板解决方案官网
  • derby:让编写实时和协同应用更简单的 MVC 框架,能够在 Node.js 和浏览器同时运行。官网
    • derby-awesome:很棒的 derby 组件集合。官网
  • way.js:简单、轻量、持久化的双向数据绑定。官网
  • mithril.js:Mithril 是一个客户端 MVC 框架(轻量、强大和快速)官网
  • jsblocks:jsblocks 是一个更好的 MV-ish 框架。官网
  • LiquidLava:易懂的、用于构建用户界面的 MVC 框架。官网
  • Electron:用Html、CSS和JavaScript构建跨平台的客户端应用程序。官网GitHub

基于 Node 的 CMS 框架

  • KeystoneJS:强大的 CMS 和 web 应用框架。官网
  • Reaction Commerce:拥有实时的架构和设计的响应式(reactive) CMS。官网
  • Ghost:简单、强大的发布平台。官网
  • Apostrophe:提供内容编辑和基本服务的 CMS。官网
  • We.js:适用于实时应用、网站或博客的框架。官网
  • Hatch.js:拥有社交特性的 CMS 平台。官网
  • TaracotJS:拥有快速、极简风格特点且基于Node.js 的 CMS。官网
  • Nodizecms:为 CoffeeScript 爱好者准备的 CMS。官网
  • Cody:拥有所见即所得的编辑器的 CMS。官网
  • PencilBlue:CMS 和博客平台。官网

模板引擎

模板引擎允许您执行字符串插值。

  • mustache.js:是 JavaScript 中带有 {{mustaches}} 的最简模板。官网
  • handlebars.js:是 Mustache 模板语言的扩展。官网
  • hogan.js:是 Mustache 模板语言的编译器。官网
  • doT:最快速简洁的 JavaScript 模板引擎,适用于 nodejs 和浏览器。官网
  • dustjs:适用于浏览器和 node.js 的异步模板。官网
  • eco:嵌入式的 CoffeeScript 模板。官网
  • JavaScript-Templates:轻量(小于 1KB)、快速且无依赖的强大 JavaScript 模版引擎。官网
  • t.js:小巧的 JavaScript 模板框架,压缩后约为 400 字节。官网
  • pug:健壮的、优雅且功能丰富的 nodejs 模板引擎。官网
  • EJS:高效的 JavaScript 模板。官网
  • xtemplate:可扩展的模板引擎,适用于 node 和浏览器。官网
  • marko:快速轻量且基于 HTML 的模板引擎,支持异步、流、自定义标签和 CommonJS 模编译后输出。适用于 Node.js 官网和浏览器。

Flux

Flux是Facebook用来构建客户端Web应用的应用架构

  • Reflux是根据React的flux创建的单向数据流类库。官网
  • Redux是可预测javascript应用程序状态的容器。官网
  • Mobx是通过透明的函数响应式编程实现简单,可扩展的状态管理库。官网
  • Dva是基于Redux, Redux-saga 和 [email protected]的轻量级的框架。官网

数据可视化

Web 数据可视化工具

  • d3:一个对 HTML 和 SVG 进行可视化的 JavaScript 库。官网
  • metrics-graphics:更简洁和拥有更规范的数据图表布局优化算法的库。官网
  • pykcharts.js:经过精心设计后,去除 d3.js 复杂性的 d3.js 图表库。官网
  • three.js:JavaScript 3D 库。官网
  • Chart.js:简单的、基于 canvas 标签的 HTML5 图表库。官网
  • paper.js:是矢量图形脚本中的瑞士军刀 —— 使用 HTML5 Canvas 将 Scriptographer 移植到 JavaScript 官网和浏览器。
  • fabric.js:JavaScript Canvas 库,SVG 与 Canvas 可以相互解析。官网
  • peity:进度条、线状和饼状图。官网
  • raphael:JavaScript 矢量库。官网
  • echarts:商业产品图表。官网
  • vis:动态的、基于浏览器的可视化库。官网
  • two.js:一个渲染器无关的适用于 web 的二维绘图 api 。官网
  • g.raphael:基于 Raphaël 图表库。官网
  • sigma.js:一个致力于图形绘画的 JavaScript 库。官网
  • arbor:一个使用 web workers 和 jQuery 的图形可视化库。官网
  • cubism:可视化时间序列的 D3 插件。官网
  • dc.js:与 crossfilter 无缝合作的多维图表绘制库,使用 d3.js 渲染。官网
  • vega:一套可视化语法。官网
  • processing.js:Processing.js 基于 Web 标准使数据可视化,而无需任何插件。官网
  • envisionjs:动态的 HTML5 可视化。官网
  • rickshaw:用于构建交互式实时图表的 JavaScript 工具包。官网
  • flot:吸引人的、基于 jQuery 的 JavaScript 图表库。官网
  • morris.js:漂亮的时间序列线框图。官网
  • nvd3:一个为 D3.js 构建可复用图表和图表组件的库。官网
  • svg.js:一个轻量的、用于操作和添加 SVG 动画的库。官网
  • heatmap.js:基于 HTML5 canvas 的热力图 JavaScript 库。官网
  • jquery.sparkline:一个直接在浏览器端生成小型走势图的 jQuery 插件。官网
  • xCharts:一个基于 D3、用于构建自定义图表和图形的库。官网
  • trianglify:基于 d3.js 的低多边形(low poly)风格背景图片生成器。官网
  • d3-cloud:创建词云(word cloud)效果的 JavaScript 库。官网
  • d4:一个基于 D3 、友好、可复用的 DSL 图表库 。官网
  • dimple.js:基于 d3 的简易商业分析图表库。官网
  • chartist-js:简单的响应式图表。官网
  • epoch:一个通用的实时图表库。官网
  • c3:基于 D3 的可复用图表库。官网
  • BabylonJS:一个运用 HTML5 和 WebGL 构建 3D 游戏的框架。官网
  • jquery.raty.js:一个星级评分插件。官网

也有一些很棒的收费库,如 amchartplotlyhighchart

时间轴

  • TimelineJS: 一个用 JavaScript 编写的可叙事时间轴库。官网
  • timesheet.js:用于构建简单的 HTML5 & CSS3 时间表的 JavaScript 库。官网

编辑器

  • ace:Ace(Ajax.org Cloud9 Editor)。官网
  • CodeMirror:浏览器端的代码编辑器。官网
  • esprima:用于综合分析的 ECMAScript 解析器。官网
  • quill:一个带有 API 的跨浏览器富文本编辑器。(官网)
  • medium-editor:Medium.com 所见即所得编辑器的克隆版。官网
  • pen:享受在线编辑(支持 markdown)。官网
  • jquery-notebook:一个易用的、简洁优雅的文本编辑器。灵感来源于 Medium 的魅力。官网
  • bootstrap-wysiwyg:小巧的、兼容 bootstrap 的所见即所得的富文本编辑器。官网
  • ckeditor-releases:适用于每个人的 web 文本编辑器。官网
  • editor:一个 markdown 编辑器,但仍在开发中。官网
  • EpicEditor:一个可嵌入的 JavaScript Markdown 官网的编辑器,拥有全屏编辑、即时预览、自动保存草稿和离线支持等功能。
  • jsoneditor:查看、编辑和格式化 JSON 的 web 工具。官网
  • vim.js: 拥有持久化 ~/.vimrc 的 Vim 编辑器的 JavaScript 移植版本。官网
  • Squire:HTML5 富文本编辑器。官网
  • TinyMCE:JavaScript 富文本编辑器。官网
  • trix:由 Basecamp 制作,适用于每天写作的富文本编辑器。官网

文件

处理文件的库。

  • Papa Parse:一款强大的 CSV 库,支持解析 CSV 文件/字符串,也能导出 CSV。官网
  • jBinary:对用声明式语法描述文件类型和数据结构的二进制文件,进行高级 I/O(加载、解析、操作、序列化、存储)操作。官网

函数式编程

函数式编程库扩展了 JavaScript 的能力。

  • underscore:JavaScript 的实用工具。官网
  • lodash:提供一致性、可定制、高性能和额外功能的实用库。官网
  • Sugar:一个扩展了原生对象功能的 JavaScript 库。官网
  • lazy.js:类似 Underscore,但性能更优越官网
  • ramda:一个针对 JavaScript 程序员的实用函数库。官网
  • mout:模块化的 JavaScript 工具库。官网
  • mesh:流数据同步工具。官网

响应式编程

响应式程序库扩展了 JavaScript 的能力。

  • RxJs:对 JavaScript 进行响应式扩展。官网
  • Bacon:JavaScript 的 FPR(函数式响应式编程)库。官网
  • Kefir:受 Bacon.js 和 RxJS 启发的 FRP 库,专注于高性能和低内存消耗。官网
  • Highland:对 JavaScript 实用工具的重新思考,Highland 能轻易地管理同步和异步信息,而且仅使用标准 JavaScript 和类 Node 流。官网
  • Most.js:高性能 FRP 库。官网

数据结构

数据结构库用于构建一个更复杂的应用。

  • immutable-js:不可变的数据集合,包括 Sequence、Range、Repeat、Map、OrderedMap、Set 和 sparse Vector。官网
  • mori:使用 ClojureScript 持久化数据结构和支持原生 JavaScript API 的库。官网
  • buckets:完整的、经过充分测试和记录数据结构的 JavaScript 库。官网
  • hashmap:简单的 hashmap 实现,支持任何类型的键值。官网

日期

日期库。

  • moment:解析、验证、操作和显示日期。官网
  • moment-timezone:基于 moment.js 的时区库。官网
  • jquery-timeago:一款支持自动更新模糊时间戳的 jQuery 插件(如:"4 分钟之前")。官网
  • timezone-js:让 JavaScript Date 对象拥有时区功能。使用 Olson zoneinfo 文件记录着时区数据。官网
  • date:拥有人性化的 Date() 方法。官网
  • ms.js:小巧的毫秒转换工具。官网
  • timeago.js:一个非常轻量级(~1.7 Kb)的用于将时间转化成xxx时间前格式,例如:8分钟前。官网

字符串

字符串库。

  • selecting:一个允许你获取用户选定文本的库。官网
  • underscore.string:扩展了 Underscore.js 的字符串操作。官网
  • string.js:额外的 JavaScript 字符串方法。官网
  • he:健壮的 HTML 实体编码/解码器。官网
  • multiline:多行字符串。官网
  • query-string:解析和字符串化 URL 查询字符串。官网
  • URI.js:URL 操作库。官网
  • jsurl:轻量的 URL 操作库。官网
  • sprintf.js:实现字符串格式化。官网
  • url-pattern:让 url 和其它字符串进行比正则表达式匹配更简单。字符串和数据可相互转化。官网

数字

  • Numeral-js:对数字进行格式化和操作的库。官网
  • odometer:流畅的数字过渡效果。官网
  • accounting.js:对数字、金钱、货币进行格式化的轻量库——完全本地化和无依赖。官网
  • money.js:一个小巧(1kb)的货币转换库,适用于 web 和 nodeJS。官网
  • Fraction.js:一个有理数库。官网
  • Complex.js: 一个复数库。官网
  • Polynomial.js:一个多项式库。官网

存储

  • store.js:为所有浏览器封装了 LocalStorage,而没有使用 cookies 和 flash。隐秘地使用 localStorage、globalStorage 和用户数据。官网
  • localForage:改善后的离线存储。其封装了 IndexedDB、WebSQL 和 localStorage,拥有操作简单和强大的 API。官网
  • jStorage:jStorage 是一个简单的键值对数据库,用于在浏览器端存储数据。官网
  • cross-storage:获得权限后,能跨域名本地存储。官网
  • basket.js:用 localStorage 加载和缓存脚本的资源加载器。官网
  • bag.js:可以缓存脚本和加载资源,与 basket.js 相似,但增加了键值对接口和对 localStorage / websql / 官网undexedDB 的支持。
  • basil.js:智能的 JavaScript 数据持久层库。官网
  • jquery-cookie:轻量简单的、用于读取、编辑和删除 cookie 的 jQuery 插件。官网
  • Cookies:客户端 Cookie 操作库。官网
  • DB.js:基于 Promise 的、封装了 IndexedDB 的库。官网
  • lawnchair.js:简单的客户端 JSON 存储。官网

颜色

  • randomColor:JavaScript 颜色生成器。官网
  • chroma.js:拥有各种各样颜色操作的 JavaScript 库。官网
  • color:JavaScript 颜色转换和操作库。官网
  • colors:更智能的默认 web 颜色。官网
  • PleaseJS:随机创建出赏心悦目的颜色和配色方案。官网
  • TinyColor:快速、轻巧的颜色操作和转换库。官网
  • Vibrant.js:从图像提取主要颜色。官网

国际化和本地化(I18n And L10n)

本地化和国际化 JavaScript 库

  • i18next:JavaScript 最简单的国际化(i18n)方法。官网
  • polyglot:小巧的国际化助手库。官网
  • babelfish:i18n 提供友好易懂的 API ,并且内置多种支持。官网

  • ClassManager:世界上最快、最方便的类系统之一。官网
  • klass:用于创建极富表现力的类工具库。官网
  • augment:世界上最小且最快的一流 JavaScript 继承模式。官网

控制流

  • async:适用于 node 和浏览器的异步工具库。官网
  • q:实现异步的 promise JavaScript 库。官网
  • step:让逻辑顺序合理化的异步控制流库。官网
  • contra:利用函数风格实现的异步流控制。官网
  • Bluebird:专注于革新功能和性能的,功能齐全的 promoise 库。官网
  • when:快速可靠的、Promises/A+ 规范的 when() 实现,而且拥有异步其它的优秀特性。官网
  • ObjectEventTarget:提供增加了事件监听的原型(与 DOMElement 的 EventTarget 在浏览器行为一致)。官网

路由

  • director:一个小巧的、与 URL 同构的路由器。官网
  • page.js:受 Express router 启发的小型客户端路由器(约为1200字节)。官网
  • pathjs:简单、轻量的 web 路由器。官网
  • crossroads:JavaScript 路由。官网
  • davis.js:使用 pushState、RESTful 风格和可降级的 JavaScript 路由器。官网
  • angular-ui-router:基于AngularJS的可嵌套路由。官网
  • react-router: Declarative routing for React 官方
  • vue-router: Declarative routing for Vue 官方

安全性

  • DOMPurify:针对 HTML、MathML 和 SVG 的仅支持DOM、快速、高容错的 XSS 过滤器。官网
  • js-xss:通过白名单配置,即可过滤不信任的 HTML(防止 XSS 攻击)。官网

日志

  • log:带有样式的 Console.log。官网
  • Conzole:对 JavaScript 原生 console 对象方法和功能进行封装的 debug 面板,使其显示在页面内。官网
  • console.log-wrapper:将日志清晰地记录到 console,且兼容所有浏览器。官网
  • loglevel:最轻量的 JavaScript 日志记录工具库,向封装后可用的 console.log 方法增加可靠的日志等级。官网
  • minilog:轻量的、用流式 API 显示的、可用于客户端和服务器端的日志记录库。官网

正则表达式

  • RegEx101:在线的 JavaScript 正则表达式测试器和调试器。同时支持 Python、PHP 和 PCRE。官网
  • RegExr:用于创建、测试和学习正则表达式的 HTML/JS 工具。官网
  • RegExpBuilder:使用链式方法创建正则表达式。官网

媒体

  • Ion.Sound:可用于任何网页上简单音频。官网

语音命令

  • annyang:向网站添加语音命令的语音识别库。官网
  • voix.js:向网站、app 或游戏添加语音命令的 JavaScript 库。官网

API

  • bottleneck:强大的频率限制器,使调节流量变得更容易。官网
  • oauth-signature-js:适用于 node 和 浏览器的 OAuth 1.0a 签名生成器。官网
  • amygdala:为 Web 应用提供 RESTful HTTP 客户端解决方案。官网
  • jquery.rest:一个让 RESTful API 更易使用的 jQuery 插件。官网

视觉检测

  • tracking.js:在 web 上实现计算视觉的一种现代方法。官网
  • ocrad.js:通过 Emscripten 用 JavaScript 实现 OCR(光学字符识别)。官网

浏览器检测

  • bowser:一个浏览器检测器。官网

性能分析

  • easy-monitor:一个轻量级实时 Node.js 项目的内核性能分析工具。官网

UI

代码高亮

  • Highlight.js:JavaScript 语法高亮器。官网
  • PrismJS:轻量、健壮和优雅的语法高亮器。官网

加载状态

指示加载状态的库。

  • Mprogress.js:创建谷歌 Material 设计风格的线性进度条。官网
  • NProgress:在 Ajax'y 应用显示细长型进度条官网
  • Spin.js:一个旋转的进度指示器。官网
  • progress.js:为页面任何对象创建和管理进度条。官网
  • progressbar.js:用 SVG path 动画制作的、漂亮和响应式的进度条。官网
  • pace:自动向你的网站添加一个进度条。官网
  • topbar:小巧漂亮的、与网站同宽的进度指示器。官网
  • nanobar:非常轻量的进度条。不依赖 jQuery。官网
  • PageLoadingEffects:使用 SVG 动画展现新内容的现代方式。官网
  • SpinKit:运用 CSS 动画的加载指示器集合。官网
  • Ladda:内置在按钮的加载指示器。官网
  • css-loaders:运用 CSS 动画的旋转加载指示器的集合。官网

除了上述这些库,还有收藏在 Codepen 的,另外还有 AjaxloadPreloadersCSSLoad 这些生成器。

验证

  • Parsley.js:不用写一行 JavaScript 代码即可在前端验证表单。官网
  • jquery-validation:jQuery 验证插件。官网
  • validator.js:字符串验证和过滤(在使用用户输入之前清理用户输入中的有害或危险字符的操作)。官网
  • validate.js:受 CodeIgniter 启发的轻量表单验证 JavaScript 库。官网
  • validatr:跨浏览器的 HTML5 表单验证库。官网
  • BootstrapValidator:是验证表单域中最好的 jQuery 插件。要与 Bootstrap 3 一起使用。官网
  • is.js:检查类型、正则表达式、是否存在、时间等。官网
  • FieldVal:多用途验证库。同时支持同步和异步验证。官网

键盘封装器

  • mousetrap:处理键盘快捷键的 JavaScript 库。官网
  • keymaster:定义和调度键盘快捷键的小型库。官网
  • Keypress:键入捕捉工具库,任何键都可以成为一个修饰健。官网
  • KeyboardJS:一个用于绑定键盘组合的 JavaScript 库,让你脱离快捷键和快捷键组合冲突的痛苦。官网
  • jquery.hotkeys:jQuery Hotkeys 能让你在代码任何的地方监听键盘事件,并几乎支持所有按键组合。官网
  • jwerty:令人惊叹的键盘事件处理库。官网

浏览和引导

  • intro.js:这是一个介绍新功能的很好方式,能一步步地引导用户浏览你的网站和项目。官网
  • shepherd:通过引导让用户浏览你的应用程序。官网
  • bootstrap-tour:应用 Twitter Bootstrap 弹出框对产品进行快速简单的引导。官网
  • tourist:简单、灵活的应用引导介绍库。官网
  • chardin.js:简单的应用遮罩层介绍。官网
  • pageguide:使用 jQuery 和 CSS3 的 web 页面元素交互引导库。官网
  • hopscotch:让开发者更容易向其页面产品添加引导的框架。官网
  • joyride:基于 jQuery 的功能引导插件。官网
  • focusable:通过向页面其余部分添加遮罩层,使焦点聚集在特定 DOM 元素。官网

通知

  • messenger:为你的应用添加 Growl-style 弹框和信息(Crowl 是 Mac OS X 下的一个通知系统)。官网
  • noty:jQuery 通知插件。官网
  • pnotify:适用于 Bootstrap、jQuery UI 和 Web Notifications Draft 的 JavaScript 通知库。官网
  • toastr:用来显示简单的,会自动到期的信息窗口)简单的弹出框通知(toast notifications官网
  • humane-js:一个简单、时髦的浏览器通知系统。官网
  • smoke.js:与框架无关的、能够自定义样式的 JavaScript 弹框系统。官网

幻灯片

  • Swiper:使用硬件加速过渡的移动设备触控滑块框架。官网
  • slick:你所需要的最后一个轮播插件。官网
  • slidesJs:响应式的 jQuery(1.7.1+)幻灯片插件,具有触摸、 CSS3 过渡等特性。官网
  • FlexSlider:一款令人惊叹的、全响应式的幻灯片 jQuery 插件。官网
  • unslider:最简单的幻灯片 jQuery 插件。官网
  • colorbox:轻量、可自定义的灯箱 jQuery 插件。官网
  • fancyBox:提供了良好优雅的方式,为页面上的图片、html 内容和多媒体添加缩放功能的工具。官网
  • sly:基于项导航的、支持单向滚动的 JavaScript 库。官网
  • vegas:向页面添加漂亮的全屏背景的 jQuery 插件,甚至允许幻灯片。官网
  • Sequence:用于创建响应式的幻灯片、演示、旗帜广告和以步骤为基础的应用的 CSS 动画框架。官网
  • baguetteBox.js:易于使用的、用纯 JavaScript 实现的遮罩层脚本。官网
  • reveal.js:用 HTML 创建漂亮演示控件的框架。官网
  • PhotoSwipe:适用于移动设备和桌面电脑的、模块化和不无依赖框架的 JavaScript 画廊控件。官网
  • jcSlider:用 CSS 动画实现的响应式幻灯片 jQuery 插件。官网
  • basic-jquery-slider:易于使用、指定主题和定制化。官网
  • unslider: 这是最简单的幻灯片 jQuery 插件。官网
  • viewerjs:原生js实现的图片查看器。官网
  • jQuery.adaptive-slider:带有自适应颜色标题和导航的幻灯片 jQuery 插件。官网
  • slidr:可添加一些幻灯片效果。官网
  • Flickity:可触摸的、响应式的和可轻弹的画廊。官网

滑块控件

  • Ion.RangeSlider:强大的、易于自定义的范围滑块选择库,支持很多配置和皮肤。官网
  • jQRangeSlider:支持日期的滑块选择库。官网
  • noUiSlider:轻量无冗余的、高度定制化的滑块选择库。官网
  • rangeslider.js:HTML5 input 区域滑块元素。官网

表单组件

输入

  • typeahead.js:快速的、功能齐全的自动补全库。官网
  • tag-it:处理多标签字段以及标签建议/自动完成的 jQuery UI 插件。官网
  • At.js:向你的应用添加类似 Github 的自动完成提示功能。官网
  • Placeholders.js:JavaScript 补全 HTML5 占位符的属性。官网
  • fancyInput:利用 CSS3 效果让输入更有趣。官网
  • jQuery-Tags-Input:利用这个 jQuery 插件,可奇妙地将一个简单的文本输入转换成一个酷酷的标签列表。官网
  • vanilla-masker:一个纯 JavaScript 实现的输入控制库。官网
  • Ion.CheckRadio:一个为复选框和单选按钮添加样式的 jQuery 库,支持多种皮肤。官网

日历

  • pickadate.js:对移动设备友好的、响应式的和轻量的 jQuery 日期 & 时间输入选择器。官网
  • bootstrap-datepicker:基于 bootstrap 的日历选择器。官网
  • Pikaday:一个崭新的 JavaScript 日期选择器 —— 轻量、无依赖和模块化的 CSS。官网
  • fullcalendar:全尺寸、支持拖放事件的日历(jQuery 插件)。官网
  • rome:可定制的日期(和时间)选择器。无依赖,可选 UI。官网
  • datedropper: datedropper 是一个 jQuery 插件,它提供了快速简易的方式去管理日期输入框。官网
  • flatpickr: flatpickr 是一个轻量、强大、无依赖的日历和时间选择器插件,支持移动端,并支持React、Ember、Angular和Vue。官网

选择

  • selectize.js:Selectize 是文本框和选择框的混合体。它基于jQuery,拥有自动完成和键盘感应下拉列表功能,可用于标签、联系人列表等。官网
  • select2:它基于 jQuery,是选择框(select box)的替代品。支持搜索、远程数据集和无限滚动。官网
  • chosen:可以让冗长不便的选择框更友好的库。官网

文件上传

  • jQuery-File-Upload:File Upload 是一个支持多文件选择、文件拖放、进度条、验证和图片、音频、视频预览的 官网jQuery 插件。
  • dropzone:Dropzone 是一个易于使用且支持多文件拖放的库。其支持图片预览并且拥有很好的进度条效果。官网
  • flow.js:一个通过 HTML5 的 File API ,提供多个同时链接的、稳定的、容错的、可恢复的/可重新开始的文件上传库。官网
  • fine-uploader:一个带有进度条、拖放功能和支持直接上传到 S3 (Amazon Simple Storage Service,亚马逊简易存储服务)的多文件上传插件。官网
  • FileAPI:JavaScript 文件工具集合。支持多文件上传、拖放和文件分块上传。对于图像,支持裁剪、调整大小和根据 EXIF 自动调整方向。官网
  • plupload:处理文件上传的 JavaScript 官网API,其支持多文件选择、文件类型过滤、分块请求、客户端图片缩放和根据不同的运行环境选择 HTML5、Silverlight 和 Flash。

其它

  • form:jQuery 表单插件。官网
  • Garlic.js:自动在本地保存表单文本和选择框的值,直到表单被提交。官网
  • Countable:对某个 HTML 元素包含文本的段落数、单词数和字符数进行统计的 JavaScript 函数。官网
  • card:只需一行代码,让信用卡表单变得更友好。官网
  • stretchy:自适应大小的 form 元素,表单本应该是这样的。官网
  • list.js:向表格、列表等 HTML 元素添加搜索、排序、过滤和自适应功能的库。在已有 HTML 上增加可视化。 官网

提示

  • tipsy:基于 jQuery 的 Fackbook 风格的提示工具(tooltip)。官网
  • opentip:开源且基于 prototype 框架的 JavaScript 工具提示库。官网
  • qTip2:非常强大的工具提示库。官网
  • tooltipster:一个工具提示 jQuery 插件。官网
  • simptip:用 Sass 制作的、简单的工具提示。官网
  • jquery-popup-overlay:是一个响应式的和可访问性强的模态框(modal)和工具提示框 jQuery 插件。官网

模态框和弹出框

  • Magnific-Popup:专注于性能、轻量、响应式的灯箱(lightbox)脚本。官网
  • jquery-popbox:jQuery 提示框插件。官网
  • jquery.avgrund.js:一种新的定于弹出的模态框 jQuery 插件。官网
  • vex:新的、拥有高度可配置和易于改变样式功能的对话框库。官网
  • bootstrap-modal:对 Bootstrap 默认的模态框类进行扩展。其支持响应式、可堆叠和 ajax 等。官网
  • css-modal:纯 CSS 打造的模态框。官网
  • jquery-popup-overlay:是一个响应式的和可访问性强的模态框和工具提示框(tooltips)jQuery 插件。官网
  • layer:国内最多人使用的web弹层组件。官网

滚动

  • scrollMonitor:滚动发生时,可以监听元素的、简单、快速的 API。官网
  • headroom:除非你需要显示页面头部(header),否则将隐藏它,以腾出页面头部空间。官网
  • onepage-scroll:创建一个类似 Apple 的单页面滚动网站(iPhone 5S 网站)。官网
  • iscroll:高性能、轻量、无依赖、兼容多平台的 JavaScript 滚动组件。官网
  • skrollr:独立(不依赖 jQuery) 的视差滚动库,适用于移动设备(Android + iOS)和桌面电脑。官网
  • parallax:面向智能设备的视差引擎。官网
  • stellar.js:让视差滚动变简单。官网
  • plax:基于 jQuery 的视差库。官网
  • jparallax:创建可交互视差效果的 jQuery 插件。官网
  • fullPage:简单和易于使用的、用于创建全屏滚动网站的插件(也被称为单页面网站)。官网
  • ScrollMenu:让老旧无聊的滚动条焕然一新。官网

菜单

  • jQuery-menu-aim:当用户光标放在特定下拉菜单项时触发事件。可制作响应式的、大数据量的下拉菜单,如 Amazon 的。官网
  • jQuery contextMenu:右键菜单(contextMenu) 管理工具。官网
  • Slideout:为移动设备的 web 应用制作出响应式的、可触摸滑出的导航菜单。官网
  • Slide and swipe:一个基于 touchSwipe 库的滑出菜单插件。官网

表格/栅格

  • jTable:基于 CRUD 表创建 AJAX 的 jQuery 插件。官网
  • DataTables:这是一个非常灵活的工具,在渐进增强的基础上,将高级的交互效果加到 HTML 表格。(jQuery 插件)官网
  • floatThead:(jQuery 插件)锁定表格头部,只允许表格内容滚动。适用于任何表格,而且不需要额外的 html 或 css。官网
  • Masonry:瀑布流式的网格布局库。官网
  • Packery:使用装箱算法(bin-packing)的网格布局库。支持拖拽布局。官网
  • Isotope:可过滤和可排序的网格布局的库,它能实现 Masonry、Packery 等布局。官网

框架

  • Semantic UI:拥有大量主题和元素的 UI 套件。官网

手势

  • hammer.js:拥有多种触摸手势的 JavaScript 库。官网
  • touchemulator:在桌面电脑模仿触摸输入。官网
  • Dragula:超级易于使用的拖拽库。官网

触摸

  • fastclick.js:去除触屏用户300ms点击延误。官网
  • dropload.js:移动端下拉刷新,上拉加载更多。官网
  • touchslide.js:触屏滑动特效。官网

地图

  • Leaflet:对移动设备友好的、可交互的地图 JavaScript 库。官网
  • Cesium:开源的、基于 WebGL 实现的虚拟地球仪和地图引擎。官网
  • gmaps:以最简单的方式使用 Google 地图。官网
  • polymaps:一个免费的、兼容现代 web 浏览器的、用于制作动态可交互的地图 JavaScript 库。官网
  • kartograph.js:开源的 Kartograph SVG 地图渲染器。官网
  • mapbox.js:Mapbox 的 API,Leaflet 的插件。官网
  • jqvmap:矢量地图 jQuery 插件。官网
  • OpenLayers3:高性能的、功能丰富的库,能满足你对地图所有需求。官网

视频/音频

  • prettyembed.js:更完美地嵌入 YouTube —— 拥有很好的选项,如高分辨率的预览图、嵌入选项的高级定制和可选的 官网FitVids 支持。
  • html5media:能在所有主流浏览器播放多媒体标签中定义的多媒体文件。官网
  • Play-em JS:Play'em 是一个 JavaScript 组件,它能管理音乐/视频播放顺序,通过在一个 DIV 元素里嵌入几个播放器(Youtube、Soundcloud 和 Vimeo)来控制一系列歌曲的播放。官网
  • polyplayer:将 YouTube、Soundcloud 和 Vimeo 播放器的 API 统一成一套。官网
  • flowplayer: HTML5 视频播放器 官网Github
  • mediaelement:让 HTML5、 Flash 播放器和模仿 HTML5 媒介元素 API 的 Silverlight shim,在所有浏览器拥有一致的 UI。官网Github
  • SoundJS:让音频在 web 上运行更简单的库。它为不同浏览器提供了一致的 API。官网

动画

  • velocity:加速 JavaScript 动画。官网
  • jquery.transit:拥有超级流畅的 CSS3 变换和过渡的 jQuery 插件。官网
  • impess.js:在 HTML 文档里,运用 CSS3 变换和过渡制作类似 Prezi 的展现效果。官网
  • bounce.js:可以立刻创建有趣的 CSS3 动画。官网
  • GreenSock-JS:适用于所有主流浏览器的高性能 HTML5 动画。官网
  • TransitionEnd:TransitionEnd 是一个运用 transitonend 事件的、跨浏览器的库。官网
  • Dynamics.js:用于创建基于物理知识的 CSS 动画库。官网

图片处理

  • lena.js:拥有滤镜和实用功能的图像处理库。官网
  • pica:高质量地调整图片大小(拥有快速的、纯 JS 实现的 Lanczos 滤镜算法)。官网
  • cropper:一个简单的图像裁剪 jQuery 插件。官网
  • AlloyImage:腾讯前端开源的基于HTML5的专业级图像处理开源引擎。官网

ECMAScript 6

  • es6features:ECMAScript 6 特性概述。官网
  • es6-features:ECMAScript 6: 特性概述和比较。官网
  • ECMAScript 6 compatibility table :Compatibility tables 展示了各种平台上所有 ECMAScript 6 特性的支持程度。官网
  • Babel (Formerly 6to5):将 ES6+ 代码转换成纯 ES5。官网
  • Traceur compiler:ES6 特性转 ES5。包括 classes、generators、promises、destructuring 官网patterns、default parameters 等。

软件开发工具包(SDK)

  • javascript-sdk-design:从工作和个人经验中提炼出来的 JavaScript SDK 设计指导。官网

大杂烩

  • echo:利用 data-* 属性延迟加载图片。官网
  • picturefill:响应式图片显示插件,使浏览器支持 srcset、size 属性。官网
  • platform.js:一个平台检测库,几乎适用于所有 JavaScript 平台。官网
  • json3:一个现代 JSON 实现库,几乎兼容所有 JavaScript 平台。官网
  • Logical Or Not:一个关于 JavaScript 特性的游戏。官网
  • BitSet.js:实现位向量的 JavaScript 库。官网
  • Edge.js:运行在一个进程中运行.NET和Node.js代码。官网GitHub

精品阅读

资源

有影响力的书

具有广泛影响且值得阅读的前端经典书籍。

Java资源大全中文版

我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-java 就是 akullpp 发起维护的 Java 资源列表,内容包括:构建工具、数据库、框架、模板、安全、代码分析、日志、第三方库、书籍、Java 站点等等。我们已经把 awesome-java 资源列表翻成中文后发布于 ImportNew

Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。


本项目的参与者


目录

古董级工具

这些工具伴随着Java一起出现,在各自辉煌之后还在一直使用。

构建工具

构建及应用依赖关系处理工具。

  • Apache Maven:Maven是一款声明式构建及依赖管理工具,采用约定优于配置方式进行管理。相对Apache Ant更推荐使用Maven,前者采用了过程式管理,维护相对困难。官网
  • Bazel:来自Google的构建工具,可以快速、可靠地构建代码。官网
  • Gradle:使用Groovy(非XML)进行增量构建,可以很好地与Maven依赖管理配合工作。官网
  • Buck:Facebook构建工具。官网

字节码操作

编程方式操作字节码的开发库。

  • ASM:通用底层字节码操作和分析开发库。官网
  • Byte Buddy:使用流式API进一步简化字节码生成。官网
  • Byteman:在运行时通过DSL(规则)操作字节码进行测试和故障排除。官网
  • Javassist:一个简化字节码编辑尝试。官网

集群管理

在集群内动态管理应用程序的框架。

  • Apache Aurora:Apache Aurora是一个Mesos框架,用于长时间运行服务和定时任务(cron job)。官网
  • Singularity:Singularity是一个Mesos框架,方便部署和操作。它支持Web Service、后台运行、调度作业和一次性任务。官网

代码分析

测量代码指标和质量工具。

  • Checkstyle:代码编写规范和标准静态分析工具。官网
  • Error Prone:将常见编程错误作为运行时错误报告。官网
  • FindBugs:通过字节码静态分析查找隐藏bug。官网
  • jQAssistant:使用基于Neo4J查询语言进行代码静态分析。官网
  • PMD:对源代码分析查找不良的编程习惯。官网
  • SonarQube:通过插件集成其它分析组件,对过去一段时间内的数据进行统计。官网

编译器生成工具

用来创建解析器、解释器或编译器的框架。

  • ANTLR:复杂的全功能自顶向下解析框架。官网
  • JavaCC:JavaCC是更加专门的轻量级工具,易于上手且支持语法超前预测。官网

外部配置工具

支持外部配置的开发库。

约束满足问题求解程序

帮助解决约束满足问题的开发库。

  • Choco:可直接使用的约束满足问题求解程序,使用了约束规划技术。官网
  • JaCoP:为FlatZinc语言提供了一个接口,可以执行MiniZinc模型。官网
  • OptaPlanner:业务规划与资源调度优化求解程序。官网
  • Sat4J:逻辑代数与优化问题最先进的求解程序。官网

持续集成

  • Bamboo:Atlassian解决方案,可以很好地集成Atlassian的其他产品。可以选择开源许可,也可以购买商业版。官网
  • CircleCI:提供托管服务,可以免费试用。官网
  • Codeship:提供托管服务,提供有限的免费模式。官网
  • fabric8:容器集成平台。官网
  • Go:ThoughtWork开源解决方案。官网
  • Jenkins:支持基于服务器的部署服务。官网
  • TeamCity:JetBrain的持续集成解决方案,有免费版。官网
  • Travis:通常用作开源项目的托管服务。官网
  • Buildkite: 持续集成工具,用简单的脚本就能设置pipeline,而且能快速构建,可以免费试用。官网

CSV解析

简化CSV数据读写的框架与开发库

  • uniVocity-parsers:速度最快功能最全的CSV开发库之一,同时支持TSV与固定宽度记录的读写。官网

数据库

简化数据库交互的相关工具。

  • Apache Phoenix:HBase针对低延时应用程序的高性能关系数据库层。官网
  • Crate:实现了数据同步、分片、缩放、复制的分布式数据存储。除此之外还可以使用基于SQL的语法跨集群查询。官网
  • Flyway:简单的数据库迁移工具。官网
  • H2:小型SQL数据库,以可以作为内存数据库使用著称。官网
  • HikariCP:高性能JDBC连接工具。官网
  • JDBI:便捷的JDBC抽象。官网
  • jOOQ:为SQL schema生成typesafe代码。官网
  • MapDB:以磁盘或堆内存中并发集合为基础的嵌入式数据库引擎。官网
  • Presto:针对大数据的分布式SQL查询引擎。官网
  • Querydsl:Typesafe统一查询。官网

数据结构

  • Apache Parquet:Google Dremel论文中发布的基于组装算法的列式(Columnar)存储格式。官网
  • Protobuf:Google数据交换格式。官网
  • SBE:简单二进制编码,是最快速的消息格式之一。官网
  • Wire:整洁轻量级协议缓存。官网

时间日期工具库

处理时间和日期的开发库。

  • Joda-Time:在Java 8发布前,Joda-Time是实际使用的时间日期库标准。官网
  • Time4J:高级时间和日期库。官网
  • ThreeTen:JSR-310实现,为JDK提供更具特点的时间和日期API。官网

依赖注入

帮实现依赖翻转范式的开发库。 官网

开发流程增强工具

从最基本的层面增强开发流程。

  • ADT4J:针对代数数据类型的JSR-269代码生成器。官网
  • AspectJ:面向切面编程(AOP)的无缝扩展。官网
  • Auto:源代码生成器集合。官网
  • DCEVM:通过修改JVM在运行时支持对已加载的类进行无限次重定义。官网
  • HotswapAgent:支持无限次重定义运行时类与资源。官网
  • Immutables:类似Scala的条件类。官网
  • JHipster:基于Spring Boot与AngularJS应用程序的Yeoman源代码生成器。官网
  • JRebel:无需重新部署,可以即时重新加载代码与配置的商业软件。官网
  • Lombok:减少冗余的代码生成器。官网
  • Spring Loaded:类重载代理。官网
  • vert.x:多语言事件驱动应用框架。官网

分布式应用

用来编写分布式容错应用的开发库和框架。

  • Akka:用来编写分布式容错并发事件驱动应用程序的工具和运行时。官网
  • Apache Storm:实时计算系统。官网
  • Apache ZooKeeper:针对大型分布式系统的协调服务,支持分布式配置、同步和名称注册。官网
  • Hazelcast:高可扩展内存数据网格。官网
  • Hystrix:提供延迟和容错。官网
  • JGroups:提供可靠的消息传递和集群创建的工具。官网
  • Orbit:支持虚拟角色(Actor),在传统角色的基础上增加了另外一层抽象。官网
  • Quasar:为JVM提供轻量级线程和角色。官网

分布式数据库

对应用程序而言,在分布式系统中的数据库看起来就像是只有一个数据源。

发布

以本机格式发布应用程序的工具。

  • Bintray:发布二进制文件版本控制工具。可以于Maven或Gradle一起配合使用。提供开源免费版本和几种商业收费版本。官网
  • Central Repository:最大的二进制组件仓库,面向开源社区提供免费服务。Apache Maven默认使用Central 官网Repository,也可以在所有其他构建工具中使用。
  • IzPack:为跨平台部署建立创作工具(Authoring Tool)。官网
  • JitPack:打包GitHub仓库的便捷工具。可根据需要构建Maven、Gradle项目,发布可立即使用的组件。官网
  • Launch4j:将JAR包装为轻量级本机Windows可执行程序。官网
  • Nexus:支持代理和缓存功能的二进制管理工具。官网
  • packr:将JAR、资源和JVM打包成Windows、Linux和Mac OS X本地发布文件。官网

文档处理工具

处理Office文档的开发库。

  • Apache POI:支持OOXML规范(XLSX、DOCX、PPTX)以及OLE2规范(XLS、DOC、PPT)。官网
  • documents4j:使用第三方转换器进行文档格式转换,转成类似MS Word这样的格式。官网
  • jOpenDocument:处理OpenDocument格式(由Sun公司提出基于XML的文档格式)。官网

函数式编程

函数式编程支持库。

  • Cyclops:支持一元(Monad)操作和流操作工具类、comprehension(List语法)、模式匹配、trampoline等特性。官网
  • Fugue:Guava的函数式编程扩展。官网
  • Functional Java:实现了多种基础和高级编程抽象,用来辅助面向组合开发(composition-oriented development)。官网
  • Javaslang:一个函数式组件库,提供持久化数据类型和函数式控制结构。官网
  • jOOλ:旨在填补Java 8 lambda差距的扩展,提供了众多缺失的类型和一组丰富的顺序流API。官网

游戏开发

游戏开发框架。

GUI

现代图形化用户界面开发库。

高性能计算

涵盖了从集合到特定开发库的高性能计算相关工具。

  • Agrona:高性能应用中常见的数据结构和工具方法。官网
  • Disruptor:线程间消息传递开发库。官网
  • fastutil:快速紧凑的特定类型集合(Collection)。官网
  • GS Collections:受Smalltalk启发的集合框架。官网
  • HPPC:基础类型集合。官网
  • Javolution:实时和嵌入式系统的开发库。官网
  • JCTools:JDK中缺失的并发工具。官网
  • Koloboke:Hash set和hash map。官网
  • Trove:基础类型集合。官网
  • High-scale-lib:Cliff Click 个人开发的高性能并发库官网

IDE

简化开发的集成开发环境。

  • Eclipse:老牌开源项目,支持多种插件和编程语言。官网
  • IntelliJ IDEA:支持众多JVM语言,是安卓开发者好的选择。商业版主要针对企业客户。官网
  • NetBeans:为多种技术提供集成化支持,包括Java SE、Java EE、数据库访问、HTML5等。官网
  • Scala IDE:一款基于Eclipse开源平台打造的Scala集成开发环境。官网
  • SpringSource Tool Suite(STS):一款基于Eclipse开源平台打造的Spring应用开发环境。官网

图像处理

创建、评价和操作图片的支持库。

  • Imgscalr:纯Java 2D实现,简单、高效、支持硬件加速的图像缩放开发库。官网
  • Picasso:安卓图片下载和图片缓存开发库。官网
  • Thumbnailator:Thumbnailator是一个高质量Java缩略图开发库。官网
  • ZXing:支持多种格式的一维、二维条形码图片处理开发库。官网
  • im4java: 基于ImageMagick或GraphicsMagick命令行的图片处理开发库,基本上ImageMagick能够支持的图片格式和处理方式都能够处理。官网
  • Apache Batik:在Java应用中程序以SVG格式显示、生成及处理图像的工具集,包括SVG解析器、SVG生成器、SVG DOM等模块,可以集成使用也可以单独使用,还可以扩展自定义的SVG标签。官网

JSON

简化JSON处理的开发库。

  • Genson:强大且易于使用的Java到JSON转换开发库。官网
  • Gson:谷歌官方推出的JSON处理库,支持在对象与JSON之间双向序列化,性能良好且可以实时调用。官网
  • Jackson:与GSON类似,在频繁使用时性能更佳。官网
  • LoganSquare:基于Jackson流式API,提供对JSON解析和序列化。比GSON与Jackson组合方式效果更好。官网
  • Fastjson:一个Java语言编写的高性能功能完善的JSON库。官网
  • Kyro:快速、高效、自动化的Java对象序列化和克隆库。官网

JVM与JDK

目前的JVM和JDK实现。

基于JVM的语言

除Java外,可以用来编写JVM应用程序的编程语言。

  • Scala:融合了面向对象和函数式编程思想的静态类型编程语言。官网
  • Groovy:类型可选(Optionally typed)的动态语言,支持静态类型和静态编译。目前是一个Apache孵化器项目。官网
  • Clojure:可看做现代版Lisp的动态类型语言。官网
  • Ceylon:RedHat开发的面向对象静态类型编程语言。官网
  • Kotlin:JetBrain针对JVM、安卓和浏览器提供的静态类型编程语言。官网
  • Xtend:一种静态编程语言,能够将其代码转换为简洁高效的Java代码,并基于JVM运行。官网

日志

记录应用程序行为日志的开发库。

  • Apache Log4j 2:使用强大的插件和配置架构进行完全重写。官网
  • kibana:分析及可视化日志文件。官网
  • Logback:强健的日期开发库,通过Groovy提供很多有趣的选项。官网
  • logstash:日志文件管理工具。官网
  • Metrics:通过JMX或HTTP发布参数,并且支持存储到数据库。官网
  • SLF4J:日志抽象层,需要与具体的实现配合使用。官网

机器学习

提供具体统计算法的工具。其算法可从数据中学习。

消息传递

在客户端之间进行消息传递,确保协议独立性的工具。

Releases

No releases published

Packages

No packages published