程序員的語言是代碼,程序員的交流工具就是開源軟件。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原理剖析。