程序员的语言是代码,程序员的交流工具就是开源软件。javascript
经过开源软件,程序员不只贡献了改变世界的工具,还向同行展现了本身的做品,指望获得交流和反馈, 进一步提升软件的功能和质量。开源已经成为程序员文化的一部分。html
做为软件大厂,阿里巴巴集团为开源社区贡献了大量软件,无偿提供包含了无数工程师智慧和汗水的海量代码。在今天这个 1024 程序员节的特殊日子,语雀为你们整理了近十年来阿里巴巴集团的开源软件,但愿让你们感觉程序员对世界的贡献。前端
[java
Ant Design 是蚂蚁金服开发和正在使用的一套企业级的前端设计语言和基于 React 的前端框架实现。它的特性:企业级金融产品的交互语言和视觉体系;丰富实用的 React UI 组件;基于 React 的组件化开发模式;背靠 npm 生态圈;基于 webpack 的调试构建方案,支持 ES6。node
地址:github.com/ant-design/…python
[mysql
G2 是一套基于可视化编码的图形语法,以数据驱动,具备高度的易用性和扩展性,用户无需关注各类繁琐的实现细节,一条语句便可构建出各类各样的可交互的统计图表。react
地址:github.com/antvis/g2webpack
BizCharts 是基于 G2 的 React 图表库,历经阿里两年打磨,覆盖数十个产品。nginx
[
umi 是可插拔的企业级 React 框架,相似 Next.js。
[
Rax 是阿里开源的一个通用的 JavaScript 库,主要有 React 兼容的 API 。 使用 React 的就应该已经知道如何使用 Rax。特性:快速:快速的虚拟 DOM;微型:min + gzip 以后仅 8.0kb;通用:跨浏览器、Weex 和 Node.js。
[
Weex 是开源的跨平台移动开发工具,可以完美兼顾性能与动态性,让移动开发者经过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。
[
Macaca是一套完整的自动化测试解决方案,支持移动端和PC端,支持Native, Hybrid, H5 等多种应用类型,而且提供客户端工具和持续集成服务。
[
ice 是前端的海量可复用物料库,配套桌面工具极速构建前端应用,大幅提高开发效率。
Hilo 是阿里巴巴集团开发的一款HTML5跨终端游戏解决方案,ta能够帮助开发者快速建立 HTML5 游戏。
Sea.JS 是一个遵循 CommonJS 规范的模块加载框架,可用来轻松愉悦地加载任意 JavaScript 模块。
SeaJS 支持的标准模块遵循 Modules/Wrappings 规范的 define 形式,可运行于 Web 浏览器以及 node.JS 等环境中。
Velocity.js 是velocity模板语法的javascript实现。Velocity 是基于Java的模板引擎,普遍应用在阿里集 体各个子公司。Velocity模板适用于大量模板使用的场景,支持复杂的逻辑运算,包含 基本数据类型、变量赋值和函数等功能。Velocity.js 支持 Node.js 和浏览器环境。
Dexposed 是阿里巴巴无线事业部第一个重量级 Andorid 开源软件,基于 ROOT 社区著名开源项目 Xposed 改造剥离了 ROOT 部分,演化为服务于所在应用自身的 AOP 框架。它支撑了阿里大部分 App 的在线分钟级客户端 bugfix 和线上调试能力。
[
UI Recorder 是一款零成本的总体自动化测试解决方案,一次自测等于屡次测试,测一个浏览器等于测多个浏览器!
AndFix 是阿里巴巴开源的 Android 应用热修复工具,帮助 Anroid 开发者修复应用的线上问题。Andfix 是 "Android hot-fix" 的缩写。
[
淘宝前端团队开源项目React Web,经过与React Native一致的API构建Web应用。
Reliable 是分布式架构的持续集成系统,由Macaca 团队的成员开发。适用于集成构建、集成构建等场景。她是典型的主从结构,分为reliable-master 与 reliable-slave 两部分。
issy 是淘宝一个开源的 JavaScript 库,包含的组件有:日历、图片放大镜、卡片切换、弹出窗口、输入建议等。
Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了如下模拟功能:根据数据模板生成模拟数据,模拟 Ajax 请求,生成并返回模拟数据,基于 HTML 模板生成模拟数据。
Beidou(北斗) 是 NodeJS & React 同构框架,基于Egg.js开发。
Druid是一个 JDBC 组件。
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
主要特色:快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson);强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum);零依赖(没有依赖其它任何类库除了JDK)。
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可经过高性能的 RPC 实现服务的输出和输入功能,能够和 spring 框架无缝集成。
[
JStorm 是参考 Apache Storm 实现的实时流式计算框架,在网络IO、线程模型、资源调度、可用性及稳定性上作了持续改进,已被愈来愈多企业使用。JStorm 能够看做是 storm 的 java 加强版本,除了内核用纯java实现外,还包括了thrift、python、facet ui。从架构上看,其本质是一个基于 zk 的分布式调度系统。
apns4j 是 Apple Push Notification Service 的 Java 实现!
TDDL 是一个基于集中式配置的 jdbc datasource实现,具备主备,读写分离,动态数据库配置等功能。
Cobar Client是一个轻量级分布式数据访问层(DAL)基于iBatis(已改名为MyBatis)和Spring框架实现。
TaobaoJVM 基于 OpenJDK HotSpot VM,是国内第一个优化、定制且开源的服务器版Java虚拟机。目前已经在淘宝、天猫上线,所有替换了Oracle官方JVM版本,在性能,功能上都初步体现了它的价值。
SimpleImage是阿里巴巴的一个Java图片处理的类库,能够实现图片缩略、水印等处理。
Tedis 是另外一个 redis 的 java 客户端。Tedis 的目标是打造一个可在生产环境直接使用的高可用 Redis 解决方案。
AliSQL 是基于 MySQL 官方版本的一个分支,由阿里云数据库团队维护,目前也应用于阿里巴巴集团业务以及阿里云数据库服务。该版本在社区版的基础上作了大量的性能与功能的优化改进。尤为适合电商、云计算以及金融等行业环境。
OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发部、运维、DBA、广告、应用研发等部门共同完成。
otter 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统。
yugong 是阿里巴巴推出的去 Oracle 数据迁移同步工具(全量 + 增量,目标支持 MySQL/DRDS)。
Lealone 为 HBase 提供一个分布式SQL引擎,尝试将BigTable(HBase)和 RDBMS (H2数据库) 结合的项目。
Cobar 是关系型数据的分布式处理系统,它能够在分布式的环境下像传统数据库同样为您提供海量数据服务。如下是快速启动场景:
Wasp 是类Google MegaStore & F1的分布式关系数据库。
FastDFS 是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
RocketMQ 是一款分布式、队列模型的消息中间件,具备如下特色:
Tair是一个Key/Value结构数据的解决方案,它默认支持基于内存和文件的两种存储方式,分别和咱们一般所说的缓存和持久化存储对应。
Tsar是淘宝的采集工具,主要用来收集服务器的系统信息(如cpu,io,mem,tcp等)以及应用数据(如squid haproxy nginx等),tsar支持实时查看和历史查看,方便了解应用和服务器的信息!
[
Metamorphosis (MetaQ) 是一个高性能、高可用、可扩展的分布式消息中间件,相似于LinkedIn的Kafka,具备消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量、顺序消息、广播和日志数据传输等场景。
Alibaba Kernel起源于亚洲最大的电子商务网站——阿里巴巴。它基于 RHEL6 源代码,包含了阿里巴巴所需的一些更新和新功能。更多的信息和文档,请参阅http://kernel.taobao.org
Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了不少高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等获得了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
TFS(Taobao FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,其设计目标是支持海量的非结构化数据。
tbschedule 是一个简洁的分布式任务调度引擎,目的是让一种批量任务或者不断变化的任务,可以被动态的分配到多个主机的JVM中,不一样的线程组中并行执行。全部的任务可以被不重复,不遗漏的快速处理。
[
Pouch 是一款轻量级的容器引擎,拥有快速高效、可移植性高、资源占用少等特性,主要帮助阿里更快的作到内部业务的交付,同时提升超大规模下数据中心的物理资源利用率。
mdrill是一个分布式的在线分析查询系统,基于hadoop,lucene,solr,jstorm等开源系统做为实现,基于SQL的查询语法。 mdrill是一个可以对大量数据进行分布式处理的软件框架。mdrill是快速的高性能的,他的底层因使用了索引、列式存储、以及内存cache等技 术,使得数据扫描的速度大为增长。mdrill是分布式的,它以并行的方式工做,经过并行处理加快处理速度。
七天学会 NodeJS 是阿里巴巴国际站前端技术部编写的开源文档,用于学习 Node.js。
nginx因为出色的性能,在世界范围内受到了愈来愈多人的关注,在淘宝内部它更是被普遍的使用,众多的开发以及运维同窗都迫切的想要了解nginx模块的开发以及它的内部原理,可是国内却没有一本关于这方面的书,源于此咱们决定本身来写一本。本书的做者为淘宝核心系统服务器平台组的成员,本书写做的思路是从模块开发逐渐过渡到nginx原理剖析。