程序員的語言是代碼,程序員的交流工具就是開源軟件。javascript
經過開源軟件,程序員不只貢獻了改變世界的工具,還向同行展現了本身的做品,指望獲得交流和反饋,
進一步提升軟件的功能和質量。開源已經成爲程序員文化的一部分。html
做爲軟件大廠,阿里巴巴集團爲開源社區貢獻了大量軟件,無償提供包含了無數工程師智慧和汗水的海量代碼。在今天這個 1024 程序員節的特殊日子,語雀爲你們整理了近十年來阿里巴巴集團的開源軟件,但願讓你們感覺程序員對世界的貢獻。前端
[java
](http://ant.design/)node
Ant Design 是螞蟻金服開發和正在使用的一套企業級的前端設計語言和基於 React 的前端框架實現。它的特性:企業級金融產品的交互語言和視覺體系;豐富實用的 React UI 組件;基於 React 的組件化開發模式;背靠 npm 生態圈;基於 webpack 的調試構建方案,支持 ES6。python
地址:https://github.com/ant-design/ant-designmysql
[react
](https://antv.alipay.com/zh-cn...webpack
G2 是一套基於可視化編碼的圖形語法,以數據驅動,具備高度的易用性和擴展性,用戶無需關注各類繁瑣的實現細節,一條語句便可構建出各類各樣的可交互的統計圖表。</span></span>nginx
地址:https://github.com/antvis/g2
BizCharts 是基於 G2 的 React 圖表庫,歷經阿里兩年打磨,覆蓋數十個產品。
地址:https://github.com/alibaba/BizCharts
[
](https://raw.githubusercontent...
egg 是爲<span data-type="color" style="color:rgb(36, 41, 46)"><span data-type="background" style="background-color:rgb(255, 255, 255)">企業級框架和應用而生的 Web 框架,使用 Node.js。</span></span>
地址:https://github.com/eggjs/egg
umi 是可插拔的企業級 React 框架,相似 Next.js。
地址:https://github.com/umijs/umi
[
](https://alibaba.github.io/rax)
Rax 是阿里開源的一個通用的 JavaScript 庫,主要有 React 兼容的 API 。 使用 React 的就應該已經知道如何使用 Rax。特性:快速:快速的虛擬 DOM;微型:min + gzip 以後僅 8.0kb;通用:跨瀏覽器、Weex 和 Node.js。
地址:https://github.com/alibaba/rax
[
Weex 是開源的跨平臺移動開發工具,可以完美兼顧性能與動態性,讓移動開發者經過簡捷的前端語法寫出Native級別的性能體驗,並支持iOS、安卓、YunOS及Web等多端部署。
地址:https://github.com/apache/incubator-weex/
[
](https://macacajs.github.io/)
Macaca是一套完整的自動化測試解決方案,支持移動端和PC端,支持Native, Hybrid, H5 等多種應用類型,而且提供客戶端工具和持續集成服務。
地址:https://github.com/alibaba/macaca
[
](https://alibaba.github.io/ice)
ice 是前端的海量可複用物料庫,配套桌面工具極速構建前端應用,大幅提高開發效率。
地址:https://github.com/alibaba/ice
Hilo 是阿里巴巴集團開發的一款HTML5跨終端遊戲解決方案,ta能夠幫助開發者快速建立 HTML5 遊戲。
地址:https://github.com/hiloteam/Hilo
Sea.JS 是一個遵循 CommonJS 規範的模塊加載框架,可用來輕鬆愉悅地加載任意 JavaScript 模塊。
SeaJS 支持的標準模塊遵循 Modules/Wrappings 規範的 define 形式,可運行於 Web 瀏覽器以及 node.JS 等環境中。
地址:https://github.com/seajs/seajs
Velocity.js 是velocity模板語法的javascript實現。Velocity 是基於Java的模板引擎,普遍應用在阿里集 體各個子公司。Velocity模板適用於大量模板使用的場景,支持複雜的邏輯運算,包含 基本數據類型、變量賦值和函數等功能。Velocity.js 支持 Node.js 和瀏覽器環境。
地址:https://github.com/shepherdwind/velocity.js
Dexposed 是阿里巴巴無線事業部第一個重量級 Andorid 開源軟件,基於 ROOT 社區著名開源項目 Xposed 改造剝離了 ROOT 部分,演化爲服務於所在應用自身的 AOP 框架。它支撐了阿里大部分 App 的在線分鐘級客戶端 bugfix 和線上調試能力。
地址:https://github.com/alibaba/dexposed
[
](https://camo.githubuserconten...
UI Recorder 是一款零成本的總體自動化測試解決方案,一次自測等於屢次測試,測一個瀏覽器等於測多個瀏覽器!
地址:https://github.com/alibaba/uirecorder
AndFix 是阿里巴巴開源的 Android 應用熱修復工具,幫助 Anroid 開發者修復應用的線上問題。Andfix 是 "Android hot-fix" 的縮寫。
地址:https://github.com/alibaba/AndFix
[
](https://cloud.githubuserconte...
淘寶前端團隊開源項目React Web,經過與React Native一致的API構建Web應用。
地址:https://github.com/taobaofed/react-web
Reliable 是分佈式架構的持續集成系統,由Macaca 團隊的成員開發。適用於集成構建、集成構建等場景。她是典型的主從結構,分爲reliable-master 與 reliable-slave 兩部分。
地址:https://github.com/reliablejs/reliable-master
issy 是淘寶一個開源的 JavaScript 庫,包含的組件有:日曆、圖片放大鏡、卡片切換、彈出窗口、輸入建議等。
地址:https://github.com/kissyteam/kissy
Mock.js 是一款模擬數據生成器,旨在幫助前端攻城師獨立於後端進行開發,幫助編寫單元測試。提供瞭如下模擬功能:根據數據模板生成模擬數據,模擬 Ajax 請求,生成並返回模擬數據,基於 HTML 模板生成模擬數據。
地址:https://github.com/nuysoft/Mock
Beidou(北斗) 是 NodeJS & React 同構框架,基於Egg.js開發。
地址:https://github.com/alibaba/beidou
Druid是一個 JDBC 組件。
地址:https://github.com/alibaba/druid
fastjson 是一個性能很好的 Java 語言實現的 JSON 解析器和生成器,來自阿里巴巴的工程師開發。
主要特色:快速FAST (比其它任何基於Java的解析器和生成器更快,包括jackson);強大(支持普通JDK類包括任意Java Bean Class、Collection、Map、Date或enum);零依賴(沒有依賴其它任何類庫除了JDK)。
地址:https://github.com/alibaba/fastjson
Dubbo 是阿里巴巴公司開源的一個高性能優秀的服務框架,使得應用可經過高性能的 RPC 實現服務的輸出和輸入功能,能夠和 spring 框架無縫集成。
地址:https://github.com/alibaba/dubbo
[
](https://camo.githubuserconten...
JStorm 是參考 Apache Storm 實現的實時流式計算框架,在網絡IO、線程模型、資源調度、可用性及穩定性上作了持續改進,已被愈來愈多企業使用。JStorm 能夠看做是 storm 的 java 加強版本,除了內核用純java實現外,還包括了thrift、python、facet ui。從架構上看,其本質是一個基於 zk 的分佈式調度系統。
地址:https://github.com/alibaba/jstorm
apns4j 是 Apple Push Notification Service 的 Java 實現!
地址:https://github.com/teaey/apns4j
TDDL 是一個基於集中式配置的 jdbc datasource實現,具備主備,讀寫分離,動態數據庫配置等功能。
地址:https://github.com/alibaba/tb_tddl
Cobar Client是一個輕量級分佈式數據訪問層(DAL)基於iBatis(已改名爲MyBatis)和Spring框架實現。
地址:https://github.com/alibaba/cobarclient
TaobaoJVM 基於 OpenJDK HotSpot VM,是國內第一個優化、定製且開源的服務器版Java虛擬機。目前已經在淘寶、天貓上線,所有替換了Oracle官方JVM版本,在性能,功能上都初步體現了它的價值。
SimpleImage是阿里巴巴的一個Java圖片處理的類庫,能夠實現圖片縮略、水印等處理。
地址:https://github.com/alibaba/simpleimage
Tedis 是另外一個 redis 的 java 客戶端。Tedis 的目標是打造一個可在生產環境直接使用的高可用 Redis 解決方案。
地址:https://github.com/justified/tedis
AliSQL 是基於 MySQL 官方版本的一個分支,由阿里雲數據庫團隊維護,目前也應用於阿里巴巴集團業務以及阿里雲數據庫服務。該版本在社區版的基礎上作了大量的性能與功能的優化改進。尤爲適合電商、雲計算以及金融等行業環境。
地址:https://github.com/alibaba/AliSQL
OceanBase是一個支持海量數據的高性能分佈式數據庫系統,實現了數千億條記錄、數百TB數據上的跨行跨表事務,由淘寶核心系統研發部、運維、DBA、廣告、應用研發等部門共同完成。
地址:https://github.com/alibaba/oceanbase
otter 基於數據庫增量日誌解析,準實時同步到本機房或異地機房的mysql/oracle數據庫. 一個分佈式數據庫同步系統。
地址:https://github.com/alibaba/otter
yugong 是阿里巴巴推出的去 Oracle 數據遷移同步工具(全量 + 增量,目標支持 MySQL/DRDS)。
地址:https://github.com/alibaba/yugong
Lealone 爲 HBase 提供一個分佈式SQL引擎,嘗試將BigTable(HBase)和 RDBMS (H2數據庫) 結合的項目。
地址:https://github.com/lealone/Lealone
Cobar 是關係型數據的分佈式處理系統,它能夠在分佈式的環境下像傳統數據庫同樣爲您提供海量數據服務。如下是快速啓動場景:
地址:https://github.com/alibaba/cobar
Wasp 是類Google MegaStore & F1的分佈式關係數據庫。
地址:https://github.com/alibaba/wasp
FastDFS 是一個開源的分佈式文件系統,她對文件進行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題。特別適合以文件爲載體的在線服務,如相冊網站、視頻網站等等。
地址:https://github.com/happyfish100/fastdfs
RocketMQ 是一款分佈式、隊列模型的消息中間件,具備如下特色:
地址:https://github.com/apache/rocketmq/
Tair是一個Key/Value結構數據的解決方案,它默認支持基於內存和文件的兩種存儲方式,分別和咱們一般所說的緩存和持久化存儲對應。
地址 https://github.com/alibaba/tair
Tsar是淘寶的採集工具,主要用來收集服務器的系統信息(如cpu,io,mem,tcp等)以及應用數據(如squid haproxy nginx等),tsar支持實時查看和歷史查看,方便了解應用和服務器的信息!
地址:https://github.com/alibaba/tsar
[
](https://camo.githubuserconten...
Metamorphosis (MetaQ) 是一個高性能、高可用、可擴展的分佈式消息中間件,相似於LinkedIn的Kafka,具備消息存儲順序寫、吞吐量大和支持本地和XA事務等特性,適用於大吞吐量、順序消息、廣播和日誌數據傳輸等場景。
地址:https://github.com/killme2008/Metamorphosis
Alibaba Kernel起源於亞洲最大的電子商務網站——阿里巴巴。它基於 RHEL6 源代碼,包含了阿里巴巴所需的一些更新和新功能。更多的信息和文檔,請參閱http://kernel.taobao.org
地址:https://github.com/alibaba/alikernel
Tengine是由淘寶網發起的Web服務器項目。它在Nginx的基礎上,針對大訪問量網站的需求,添加了不少高級功能和特性。Tengine的性能和穩定性已經在大型的網站如淘寶網,天貓商城等獲得了很好的檢驗。它的最終目標是打造一個高效、穩定、安全、易用的Web平臺。
地址:https://github.com/alibaba/tengine
TFS(Taobao FileSystem)是一個高可擴展、高可用、高性能、面向互聯網服務的分佈式文件系統,其設計目標是支持海量的非結構化數據。
地址:https://github.com/alibaba/tfs
tbschedule 是一個簡潔的分佈式任務調度引擎,</span></span>目的是讓一種批量任務或者不斷變化的任務,可以被動態的分配到多個主機的JVM中,不一樣的線程組中並行執行。全部的任務可以被不重複,不遺漏的快速處理。
地址:https://github.com/taobao/TBSchedule
[
](https://user-images.githubuse...
Pouch 是一款輕量級的容器引擎,擁有快速高效、可移植性高、資源佔用少等特性,主要幫助阿里更快的作到內部業務的交付,同時提升超大規模下數據中心的物理資源利用率。
地址:https://github.com/alibaba/pouch
mdrill是一個分佈式的在線分析查詢系統,基於hadoop,lucene,solr,jstorm等開源系統做爲實現,基於SQL的查詢語法。 mdrill是一個可以對大量數據進行分佈式處理的軟件框架。mdrill是快速的高性能的,他的底層因使用了索引、列式存儲、以及內存cache等技 術,使得數據掃描的速度大爲增長。mdrill是分佈式的,它以並行的方式工做,經過並行處理加快處理速度。
地址:https://github.com/alibaba/mdrill
七天學會 NodeJS 是阿里巴巴國際站前端技術部編寫的開源文檔,用於學習 Node.js。
地址:https://github.com/nqdeng/7-days-nodejs
nginx因爲出色的性能,在世界範圍內受到了愈來愈多人的關注,在淘寶內部它更是被普遍的使用,衆多的開發以及運維同窗都迫切的想要了解nginx模塊的開發以及它的內部原理,可是國內卻沒有一本關於這方面的書,源於此咱們決定本身來寫一本。本書的做者爲淘寶核心系統服務器平臺組的成員,本書寫做的思路是從模塊開發逐漸過渡到nginx原理剖析。