开源巨献:阿里巴巴最热门27款开源项目
本文为大家整理了阿里开源的项目,看看有没有感兴趣的,排名顺序按照 Github ★Star 数排列!
1、设计语言&前端框架 Ant Design ★Star 14889
Ant Design 是蚂蚁金服开发和正在使用的一套企业级的前端设计语言和基于 React 的前端框架实现。它企业级金融产品的交互语言和视觉体系;丰富实用的 React UI 组件;基于 React 的组件化开发模式;背靠 npm 生态圈;基于 webpack 的调试构建方案,支持 ES6。(详情:https://github.com/ant-design/ant-design )
2、构建移动跨平台UI的框架 weex ★Star 14465
Weex 是一个动态化的高扩展跨平台解决方案。 在 Weex 代码中,您可以使用 <template>,<style> 和 <script> 标签编写页面或组件,然后将它们转换为 JS bundle 以进行部署。当服务器返回给客户端 JS bundle 时,JS bundle 会被客户端的 JavaScript 引擎处理,并管理渲染 native 视图,调用原生 API 和用户交互工作原理如下图:(详情:https://github.com/alibaba/weex )
3、vlayout ★Star 5262
vlayout 是 RecyclerView 的强大的 LayoutManager 扩展,它为 RecyclerView 提供了一组布局。用它实现网格,列表和其他布局在同一 recyclerview 列表中。通过为RecyclerView 提供自定义的 LayoutManager,VirtualLayout 可以在单一视图下布置不同风格的子视图。顺便说一下,还支持实现您的自定义 layoutHelper 并将其提供给框架。(详情:https://github.com/alibaba/vlayout )
4、Android动态组件框架:Altas ★Star 4410
Atlas 是一个 Android 客户端容器化框架。我们称之为 Android 动态组件框架。适用于 Android 4.x 以上系统版本的大小型 App 开发。 Atlas 提供解耦,组件和动态支持。 在apk 运行时,Atlas 具有完整的组件生命周期,类隔离等机制。 在运行维护时期,Atlas 提供快速增量更新和快速升级能力。 与一些 Android 插件框架不同,Atlas 不是一个多进程框架,而是一个组件框架(我们称之为Bundle)(详情:https://github.com/alibaba/atlas?spm=0.0.0.0.onw5tG )
5、企业级 Node.js 框架 egg ★Star 3799
Egg.js,为企业级框架和应用而生,是阿里开源的企业级 Node.js 框架。Egg.js 的插件机制有很高的可扩展性,一个插件只做一件事。五大特性:深度框架定制 ;高度可扩展的插件机制 ;内置多进程管理,基于 koa 开发,性能优异;框架稳定,测试覆盖率高 。(详情:https://github.com/eggjs/egg )
6、Android 平台的编译方案: Freeline ★Star 3714
Freeline是蚂蚁聚宝团队15年10月在Android平台上的量身定做的一个基于动态替换的编译方案,资源编译方面,深入改造了Aapt资源编译流程,当资源发生改变时候,秒级完成增量包编译,其中增量包仅含最小的变更集合(10Kb~数百Kb内),后期也被运用到线上进行资源/代码动态替换。相比目前instant- run,buck,layoutcast等方案快数倍速度。Freeline构建期间各个工程任务工作次序如下图。(详情:https://github.com/alibaba/freeline )
7、HTML5 互动游戏引擎 Hilo ★Star 3632
Hilo 是阿里巴巴集团开发的一款HTML5跨终端游戏解决方案,可以帮助开发者快速创建HTML5游戏。有以下特征:独立模块设计,支持多种模块范式的包装版本;面向对象程序化开发;多重渲染模型,其中包括 Canvas,DOM 和 WebGL 等;兼容多台台式机和移动浏览器;使用 Flash Shim 来支持 IE ;支持 物理扩展: Chipmunk;支持骨骼动画扩展: DragonBones(详情:https://github.com/hiloteam/Hilo )
8、轻量级JS框架 dva ★Star 3393
基于React和Redux的树型结构轻量级JS框架,(灵感来自Choo)。dva是框架,不是图书馆,类似emberjs,会更可控。另外,除了反应和反应 dom 是 peerDependencies 以外,dva 封装了所有其他依赖。他最核心的是提供了 app.model 方法,用于把 reducer,initialState,action,saga 封装到一起。(详情:https://github.com/dvajs/dva )
9、通用 React 兼容渲染引擎 Rax ★Star 2935
Rax 是阿里开源的一个通用的 JavaScript 库,主要有 React 兼容的 API 。 使用 React 的就应该已经知道如何使用 Rax。 特性:快速的虚拟 DOM;min + gzip 之后仅 8.0kb;跨浏览器、Weex 和 Node.js。 示例如下:(详情:https://github.com/alibaba/rax )
10、淘宝 React 框架 React Web ★Star 2707
淘宝前端团队开源项目React Web,通过与React Native一致的API构建Web应用(详情:https://github.com/taobaofed/react-web )
11、iOS 模块化编程框架:BeeHive ★Star 2026
BeeHive 是 iOS 中实现的模块化程序,它吸收了Spring Framework API服务的概念,避免了模块之间的直接耦合。从下图可以了解到BeeHive的架构:(详情:https://github.com/alibaba/BeeHive )
12、开源数据库 AliSQL ★Star 2005
AliSQL 是基于 MySQL 官方版本的一个分支,由阿里云数据库团队维护,目前也应用于阿里巴巴集团业务以及阿里云数据库服务。该版本在社区版的基础上做了大量的性能与功能的优化改进。尤其适合电商、云计算以及金融等行业环境。(详情:https://github.com/alibaba/AliSQL )
13、开发技术方案 LuaViewSDK ★Star 1969
LuaViewSDK 是一个跨iOS版和安卓平台的界面动态化解决方案,它基于 Lua VM,并选择 Lua 作为脚本语言。可以灵活加载 Lua 脚本,并能够按照 Native 的方式运行的一种面向业务的开发技术方案。(详情:https://github.com/alibaba/LuaViewSDK )
14、UltraViewPager ★Star 1798
UltraViewPager 是阿里开源的一个封装多种特性的 ViewPager ,主要是为多页面切换场景提供统一解决方案。(详情:https://github.com/alibaba/UltraViewPager )
15、自动化测试解决方案 Macaca ★Star 1442
Macaca 是一套完整的自动化测试解决方案。支持移动端和 PC 端;支持Native , Hybrid , H5 等多种应用类型;并能够提供客户端工具和持续集成服务(详情:https://github.com/alibaba/macaca )
16、spring-boot-starter-dubbo ★Star 1273
spring-boot-starter-dubbo 是 dubbo 的 spring boot starter,它可以无缝地对接 spring boot 和 dubbo ,方便大家使用 dubbo 组件。spring-boot-starter-dubbo 支持的 jdk 版本为 1.6 或者 1.6+。spring-boot-starter-dubbo 很简单,也很方便使用,它同时集成了dubbo 的 provider 和 consumer 的功能。(详情:https://github.com/teaey/spring-boot-starter-dubbo )
17、Oracle数据迁移同步工具:yugong ★Star 604
整个数据迁移过程,分为两部分: 全量迁移 和增量迁移,过程描述如下:
1、增量数据收集 (创建oracle表的增量物化视图)
2、进行全量复制
3、进行增量复制 (可并行进行数据校验)
4、原库停写,切到新库(详情:https://github.com/alibaba/yugong )
18、模块化 UI 界面方案 Tangram-iOS ★Star 597
是天猫团队开源的跨平台模块化 UI 界面方案。 Tangram 不仅仅是一个 Native(iOS & Android)的界面开发框架,而是从日常工作中沉淀出的一套界面解决方案,涵盖了 Native SDK、GUI操作台、后端逻辑容器、组件库机制的一整套方案。Tangram的系统要求是iOS 7.0+(详情:https://github.com/alibaba/Tangram-iOS )
19、 蚂蚁金服图形语法 G2 ★Star 554
G2 (The Grammar Of Graphics) 是一个由纯 javascript 编写、强大的语义化图表生成工具,它提供了一整套图形语法,可以让用户通过简单的语法搭建出无数种图表,并且集成了大量的统计工具,支持多种坐标系绘制,可以让用户自由地定制图表,是为大数据时代而准备的强大的可视化工具。G2 并不是一个特定几个图表的生产库,而是一个绘图工具,提供的是一种自由绘图、组合创造的能力,详见数据图表:(详情:https://github.com/antvis/g2 )
20、自动化测试解决方案 UI Recorder ★Star 447
UI Recorder是一款零成本的整体自动化测试解决方案,一次自测等于多次测试,测一个浏览器等于测多个浏览器!(详情:https://github.com/alibaba/uirecorder )
21、异步并行加载工具 Asyncload ★Star 287
Asyncload是一款异步并行加载工具(依赖字节码技术)。工作原理如下。(详情:https://github.com/alibaba/asyncload )
22、Gym StarCraft ★Star 287
Gym StarCraft 是阿里开源的一套专业易用的研究平台,AI 和强化学习研究者可以非常方便地使用 Python 语言来进行深度强化学习智能 Agent 的开发,它底层完成了对 TorchCraft 和 OpenAI Gym 的封装,支持基于 TensorFlow 和 Keras 等主流算法框架进行开发,仅需几十行代码即可完成一个基本的智能 Agent 的开发。(详情:https://github.com/alibaba/gym-starcraft )
23、模块化的 NodeJs Web 框架 Plover ★Star 172
Plover是一个专注于模块化方式构建web应用的NodeJs MVC web框架。不同于其它web框架,它提供完整的应用和模块化模型,让复杂的业务功能可以方便地抽象成多个模块的方式进行独立开发,让应用可以像搭积目的方式拼装模块而成。 Plover基于koa构建,它可以很方便地独立部署或者集成到其他koa的应用一起部署。 Plover专注于模块化,为快速构建web应用提供最佳方案 。(详情:https://github.com/alibaba/plover )
24、主播工具 tblive ★Star 137
tblive开源项目对应的产品是千牛主播,是一个独立的PC端主播工具,基于开源软件OBS Studio来修改定制,增强了交互和功能上的可用性,同时引入统一登陆sdk(UnifiedAuthSDK.dll),可以支持淘宝账号的验证以及免登url的拼接,能更好的支持淘系webview页面。(详情:https://github.com/alibaba/tblive )
25、数据库同步工具 rds_dbsync ★Star 71
dbsync 项目目标是围绕 PostgreSQL Greenplum 实现易用的数据的互迁功能。由阿里云 PostgreSQL 小组开发(详情:https://github.com/aliyun/rds_dbsync )
26、中国 npm 镜像的客户端 CNPM ★Star 15
CNPM 是中国npm镜像的客户端。(详情:https://github.com/cnpm/cnpm )
27、分布式架构的持续集成 Reliable ★Star 7
Reliable 是分布式架构的持续集成系统,由 Macaca 团队的成员开发。适用于集成构建、集成构建等场景。她是典型的主从结构,分为 reliable-master 与 reliable-slave 两部分。同时,她与 Macaca 无缝融合。(详情:https://github.com/alibaba/reliable )