小蚂蚁说:
开源先锋Tim O’Reilly 先生曾言:“开源软件是计算机工业最宝贵的财富”。阿里巴巴是开源 区积极的共建者,为开源软件发展做了重要的贡献,相关的 GitHub 2017年数据统计显示,阿里巴巴是唯一一家入围 GitHub 顶尖贡献名单的中国公司,值此1024程序员节,我们梳理阿里巴巴集团的重要开源项目,希望能够对大家有所帮助。
目录
一、前言
二、前端
三、Java
四、数据库
五、系统
六、教程
一、前言
程序员的语言是代码,程序员的交流工具就是开源软件。
通过开源软件,程序员不仅贡献了改变世界的工具,还向同行展示了自己的作品,期望得到交流和反馈,进一步提高软件的功能和质量。开源已经成为程序员文化的一部分。
作为软件大厂,阿里巴巴集团为开源 区贡献了大量软件,无偿提供包含了无数工程师智慧和函数的海量代码。在今天这个 1024 程序员节的特殊日子,我们为大家整理了近十年来阿里巴巴集团的开源软件,希望让大家感受程序员对世界的贡献。
Ant Design 是蚂蚁金服开发和正在使用的一套企业级的前端设计语言和基于 React 的前端框架实现。它的特性:企业级金融产品的交互语言和视觉体系;丰富实用的 React UI 组件;基于 React 的组件化开发模式;背靠 npm 生态圈;基于 webpack 的调试构建方案,支持 ES6。
地址:https://github.com/ant-design/ant-design
2. 可视化语法库 G2
egg 是为企业级框架和应用而生的 Web 框架,使用 Node.js。
地址:https://github.com/eggjs/egg
5. 基于 React 的前端框架 umi
umi 是可插拔的企业级 React 框架,类似 Next.js。
地址:https://github.com/umijs/umi
6. 通用渲染引擎 Rax
Weex 是开源的跨平台移动开发工具,能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。
地址:https://github.com/apache/incubator-weex/
8. 自动化测试解决方案 Macaca
ice 是前端的海量可复用物料库,配套桌面工具极速构建前端应用,大幅提升开发效率。
地址:https://github.com/alibaba/ice
10. HTML5 互动游戏引擎 Hilo
Hilo 是阿里巴巴集团开发的一款HTML5跨终端游戏解决方案,ta可以帮助开发者快速创建 HTML5 游戏。
地址:https://github.com/hiloteam/Hilo
11. JavaScript 模板引擎 Velocity.js
Velocity.js 是velocity模板语法的javascript实现。Velocity 是基于Java的模板引擎,广泛应用在阿里集 体各个子公司。Velocity模板适用于大量模板使用的场景,支持复杂的逻辑运算,包含 基本数据类型、变量赋值和函数等功能。Velocity.js 支持 Node.js 和浏览器环境。
地址:https://github.com/shepherdwind/velocity.js
12. 非侵入式运行期 AOP 框架 Dexposed
Dexposed 是阿里巴巴无线事业部第一个重量级 Andorid 开源软件,基于 ROOT 区著名开源项目 Xposed 改造剥离了 ROOT 部分,演化为服务于所在应用自身的 AOP 框架。它支撑了阿里大部分 App 的在线分钟级客户端 bugfix 和线上调试能力。
地址:https://github.com/alibaba/dexposed
13. 自动化测试解决方案 UI Recorder
淘宝前端团队开源项目React Web,通过与React Native一致的API构建Web应用。
地址:https://github.com/taobaofed/react-web
16. 基于 Node.js 的自动化持续集成 Reliable
Reliable 是分布式架构的持续集成系统,由Macaca 团队的成员开发。适用于集成构建、集成构建等场景。她是典型的主从结构,分为reliable-master 与 reliable-slave 两部分。
地址:https://github.com/reliablejs/reliable-master
17. 模拟数据生成器 Mock.js
Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:根据数据模板生成模拟数据,模拟 Ajax 请求,生成并返回模拟数据,基于 HTML 模板生成模拟数据。
地址:https://github.com/nuysoft/Mock
18. React 应用的服务器渲染框架 Beidou
Beidou(北斗) 是 NodeJS & React 同构框架,基于Egg.js开发。
地址:https://github.com/alibaba/beidou
三、Java
1. JDBC 连接池、监控组件 Druid
Druid是一个 JDBC 组件。
● 监控数据库访问性能。
● 提供了一个高效、功能强大、可扩展性好的数据库连接池。
● 数据库密码加密。
● SQL执行日志。
地址:https://github.com/alibaba/druid
2. Java 的 JSON 处理器 fastjson
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
主要特点:快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson);强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum);零依赖(没有依赖其它任何类库除了JDK)。
地址:https://github.com/alibaba/fastjson
3. 服务框架 Dubbo
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 spring 框架无缝集成。
地址:https://github.com/alibaba/dubbo
4. 企业级流式计算引擎 JStorm
JStorm 是参考 Apache Storm 实现的实时流式计算框架,在 络IO、线程模型、资源调度、可用性及稳定性上做了持续改进,已被越来越多企业使用。JStorm 可以看作是 storm 的 java 增强版本,除了内核用纯java实现外,还包括了thrift、python、facet ui。从架构上看,其本质是一个基于 zk 的分布式调度系统。
地址:https://github.com/alibaba/jstorm
5. apns4j
apns4j 是 Apple Push Notification Service 的 Java 实现!
地址:https://github.com/teaey/apns4j
6. 分布式数据层 TDDL
TDDL 是一个基于集中式配置的 jdbc datasource实现,具有主备,读写分离,动态数据库配置等功能。
地址:https://github.com/alibaba/tb_tddl
7. 轻量级分布式数据访问层 CobarClient
Cobar Client是一个轻量级分布式数据访问层(DAL)基于iBatis(已更名为MyBatis)和Spring框架实现。
地址:https://github.com/alibaba/cobarclient
8. 淘宝定制 JVM:TaobaoJVM
TaobaoJVM 基于 OpenJDK HotSpot VM,是国内第一个优化、定制且开源的服务器版Java虚拟机。目前已经在淘宝、天猫上线,全部替换了Oracle官方JVM版本,在性能,功能上都初步体现了它的价值。
地址:http://jvm.taobao.org
9. Java 图片处理类库 SimpleImage
SimpleImage是阿里巴巴的一个Java图片处理的类库,可以实现图片缩略、水印等处理。
地址:https://github.com/alibaba/simpleimage
10. redis 的 java 客户端 Tedis
Tedis 是另一个 redis 的 java 客户端。Tedis 的目标是打造一个可在生产环境直接使用的高可用 Redis 解决方案。
地址:https://github.com/justified/tedis
四、数据库
1. 开源数据库 AliSQL
AliSQL 是基于 MySQL 官方版本的一个分支,由阿里云数据库团队维护,目前也应用于阿里巴巴集团业务以及阿里云数据库服务。该版本在 区版的基础上做了大量的性能与功能的优化改进。尤其适合电商、云计算以及金融等行业环境。
地址:https://github.com/alibaba/AliSQL
2. 分布式数据库 OceanBase
OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发部、运维、DBA、广告、应用研发等部门共同完成。
地址:https://github.com/alibaba/oceanbase
3. 分布式数据库同步系统 otter
otter 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统。
地址:https://github.com/alibaba/otter
4. Oracle 数据迁移同步工具 yugong
yugong 是阿里巴巴推出的去 Oracle 数据迁移同步工具(全量 + 增量,目标支持 MySQL/DRDS)。
地址:https://github.com/alibaba/yugong
5. 分布式 SQL 引擎 Lealone
Lealone 为 HBase 提供一个分布式SQL引擎,尝试将BigTable(HBase)和 RDBMS (H2数据库) 结合的项目。
地址:https://github.com/lealone/Lealone
6. 关系型数据的分布式处理系统 Cobar
Cobar 是关系型数据的分布式处理系统,它可以在分布式的环境下像传统数据库一样为您提供海量数据服务。以下是快速启动场景:
地址:https://github.com/alibaba/cobar
7. 分布式关系数据库 Alibaba Wasp
Wasp 是类Google MegaStore & F1的分布式关系数据库。
地址:https://github.com/alibaba/wasp
五、系统
1. 分布式文件系统 FastDFS
FastDFS 是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册 站、视频 站等等。
地址:https://github.com/happyfish100/fastdfs
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!