百度的71個非常厲害的開源項目
1.JavaScript圖表庫 ECharts
ECharts開源來自百度商業(yè)前端數(shù)據(jù)可視化團隊,基于html5 Canvas,是一個純Javascript圖表庫,提供直觀,生動,可交互,可個性化定制的數(shù)據(jù)可視化圖表。
創(chuàng)新的拖拽重計算、數(shù)據(jù)視圖、值域漫游等特性大大增強了用戶體驗,賦予了用戶對數(shù)據(jù)進行挖掘、整合的能力。
2.分布式配置管理平臺 Disconf
Distributed ConfigurationManagement Platform(分布式配置管理平臺)專注于各種 分布式系統(tǒng)配置管理 的通用組件/通用平臺, 提供統(tǒng)一的配置管理服務(wù)。
3.移動WebApp開發(fā)框架 Clouda
Clouda是基于node.js的Webapp開發(fā)框架,在使用Clouda時需要安裝node.js和MongoDB。
4.全新 3D 可視化庫 ECharts-X
ECharts-X是 ECharts 團隊推出的全新 3D 可視化庫,它是基于 ECharts 的擴展,底層深度整合了 WebGL 庫QTEK和 Canvas2D 庫ZRender。
5.百度的Javascript庫 Tangram
Tangram是Baidu開發(fā)的一套簡單可依賴的Javascript庫。
6.在線富文本編輯器 UMeditor
UMeditor,簡稱UM,是為滿足廣大門戶網(wǎng)站對于簡單發(fā)帖框,或者回復(fù)框需求所定制的在線富文本編輯器。UM的主要特點就是容量和加載速度上的改變,全版本的代碼量為125k,而且放棄了使用傳統(tǒng)的iframe模式,采用了div的加載方式, 以達到更快的加載速度和零加載失敗率。
7.Android自動化測試框架 Cafe
Cafe 測試框架是一款來自百度QA部門的具有開創(chuàng)性意義的Android平臺的自動化測試框架,框架覆蓋了Android自動化測試的各種需求??蚣苤铝τ趯崿F(xiàn)跨進程測試、快速測試、深度測試,解決了Android自動化測試中的諸多難題,比如業(yè)界一直沒有解決的跨進程測試問題。
8.Web 端的 UI 框架 BlendUI
BlendUI 是百度公司的一個 Web 前端 UI 框架。BlendUI能讓W(xué)ebapp的體驗和交互與Native媲美。
9.百度音樂播放內(nèi)核 MuPlayer
MuPlayer 是一款跨平臺、輕量級的音頻播放解決方案,是百度@音樂前端團隊開發(fā)維護的瀏覽端音頻播放內(nèi)核,它基于HTML5 Audio及Flash音頻技術(shù),已在百度音樂多個線上產(chǎn)品線中應(yīng)用,具備很強的靈活性和穩(wěn)定性。
10.輕量級UI組件 Magic
Magic是用JavaScript腳本開發(fā)的輕量級UI組件,具有性能高效、代碼量小、支持多種初始化方式等方面的優(yōu)勢,Web前端開發(fā)者可以使 用Magic快速搭建前端功能比較復(fù)雜的網(wǎng)站。Magic的每個組件都有非常豐富的接口和事件處理,網(wǎng)站也提供了詳細的使用文檔和Demo演示。Web前 端開發(fā)者可以通過定制組件、初始化方式和插件獲得最輕量級版本。
11.高性能RPC框架 BGCC
BGCC(音:[bigsisi:])是百度具有完全知識產(chǎn)權(quán)的跨平臺、多語言、面向?qū)ο笈c服務(wù)的輕量級高性能RPC框架。它支持事務(wù)級別的服務(wù)端消息主動推送,強大的接口級事務(wù)管理功能,包含自定義的通信協(xié)議、接口描述語言(bidl)、 強大的代碼生成引擎(bidl2sl),Java、C++通信無縫整合。
12.分布式表格系統(tǒng) Tera
Tera 是一個高性能、可伸縮的數(shù)據(jù)庫系統(tǒng),被設(shè)計用來管理搜索引擎萬億量級的超鏈與網(wǎng)頁信息。為實現(xiàn)數(shù)據(jù)的實時分析與高效訪問,我們使用按行鍵、列名和時間戳全局排序的三維數(shù)據(jù)模型組織數(shù)據(jù),使用多級Cache系統(tǒng),充分利用新一代服務(wù)器硬件大內(nèi)存、SSD盤和萬兆網(wǎng)卡的性能優(yōu)勢,做到模型靈活的同時,實現(xiàn)了高吞吐與水平擴展。
13.基于 Node 的 JavaScript 同構(gòu)解決方案 rebas
基于 Node 的 JavaScript 同構(gòu)解決方案。提供了 saber 的服務(wù)端運行環(huán)境,使其具備從 SPA 到 MPA,從前端渲染到后端渲染的深度響應(yīng)式能力。
14.面向c/c++語言的構(gòu)建工具Broc
broc是一款面向c/c++語言的構(gòu)建工具,提供了編譯、分支依賴、依賴模塊下載等功能。不同于make,cmake等以庫文件鏈接的編譯方式,broc將依賴庫源代碼與程序源代碼一并同時進行編譯,這種方式可以避免程序源代碼與依賴庫編譯選項或平臺不一致導(dǎo)致的軟件兼容性問題;broc支持編譯結(jié)束后自動運行單元測試用例;借助Jenkinsbroc還能完成軟件的持續(xù)集成。
15.富文本編輯器Ueditor
UEditor是由百度web前端研發(fā)部開發(fā)所見即所得富文本web編輯器,具有輕量,可定制,注重用戶體驗等特點。
16.在線腦圖編輯器 Kity Minder
KityMinder 是百度FEX團隊的f-cube小組(原UEditor小組)的又一力作。作為一款在線的腦圖編輯工具,它有著很多Native編輯工具的交互體驗。KM與UE有著一樣的宗旨,就是注重最終用戶的使用體驗。同時,它充分發(fā)揮了Web云存儲的優(yōu)勢,可以直接將編輯中的腦圖同步到云端。此外,借由獨創(chuàng)的 “云盤分享”功能,用戶可以一鍵將當前編輯的腦圖直接生成在線鏈接共享給其他用戶,實現(xiàn)無縫溝通。
17.輕量級的Canvas類庫ZRender
zrender(Zlevel Render) 是一個輕量級的Canvas類庫,MVC封裝,數(shù)據(jù)驅(qū)動,提供類Dom事件模型,讓canvas繪圖大不同!
18.文件上傳組件 WebUploader
WebUploader 是由Baidu WebFE(FEX)團隊開發(fā)的一個簡單的以HTML5為主,F(xiàn)LASH為輔的現(xiàn)代文件上傳組件。在現(xiàn)代的瀏覽器里面能充分發(fā)揮HTML5的優(yōu)勢,同時又不摒棄主流IE瀏覽器,延用原來的FLASH運行時,兼容IE6+,Andorid 4+,IOS6+。兩套運行時,同樣的調(diào)用方式,可供用戶任意選用。
19.手勢識別與事件庫 Touch.js
Touch.js是移動設(shè)備上的手勢識別與事件庫, 由百度云Clouda團隊維護,也是在百度內(nèi)部廣泛使用的開發(fā)工具。
20.地圖可視化工具庫 Mapv
Mapv 是一款基于百度地圖的大數(shù)據(jù)可視化開源庫,可以用來展示大量的點、線、面的數(shù)據(jù),每種數(shù)據(jù)也有不同的展示類型,如直接打點、熱力圖、網(wǎng)格、聚合等方式展示數(shù)據(jù)。
21.專注于移動端的滑動解決方案 iSlider
iSlider 是個非常平滑的滑塊,支持移動端 WebApp,HTML5App 和混合型的 App。
22.百度UI庫ESUI
ESUI是一套簡單的UI Library,提供一系列的控件,能滿足基本頁面交互功能。ESUI的API與默認視覺皮膚遵循BAIDU ECOMUI標準。
23.jQuery的彈窗插件 wBox
wBox輕量級的彈出窗口jQuery插件,基于jQuery1.4.2開發(fā),主要實現(xiàn)彈出框的效果,并且加入了很多有趣的功能,比如callback函數(shù),顯示隱藏層,Ajax頁面,iframe嵌入頁面等功能。
24.百度BI平臺 BiPlatform
百度開源的新一代一站式敏捷bi平臺,提供報表和OLAP服務(wù)的敏捷BI平臺。
25.前端集成解決方案 F.I.S
F.I.S(FIS)所提供的集成解決方案依托于一套靈活高效的 編譯工具,F(xiàn).I.S借助該編譯平臺對前端開發(fā)資源進行整合。接觸F.I.S,可以從該平臺入手。
26.移動端組件庫 Global Mobile UI
GMU(Global Mobile UI)是百度前端通用組開發(fā)的移動端組件庫,具有代碼體積小、簡單、易用等特點,組件內(nèi)部處理了很多移動端的bug,覆蓋機型廣,能大大減少開發(fā)交互型組件的工作量,非常適合移動端網(wǎng)站項目。
27.RPC框架 sofa-pbrpc
sofa-pbrpc(sofaprotobuf-based rpc)是使用Boost::Asio實現(xiàn)的基于GoogleProtocol Buffers RPC框架的網(wǎng)絡(luò)通信庫,在百度公司各部門得到廣泛使用。
28.百度文件系統(tǒng) BFS-Baidu
百度的核心數(shù)據(jù)庫Tera將數(shù)據(jù)持久化在分布式文件系統(tǒng)上,分布式文件系統(tǒng)的性能、可用性和擴展性對整個上層搜索業(yè)務(wù)的穩(wěn)定性與效果有著至關(guān)重要的影響。
29.企業(yè)級標準加載器 ESL
ESL 是一個瀏覽器端、符合AMD的標準加載器,適合用于現(xiàn)代Web瀏覽器端應(yīng)用的入口與模塊管理。
30.前端移動框架 Saber
Saber 是 模塊化、組合式 的前端移動框架。
31.百度mysql分庫分表中間件服務(wù)器heisenberg
heisenberg 是百度的熊照同學(xué)(id:brucexx)編寫的一款基于MySQL協(xié)議之上的分庫分表中間件服務(wù)器,支持各種靈活(velocity腳本自定義)的分庫分表規(guī)則,做到應(yīng)用和分庫分表相隔離,并且為mysql進行dbproxy,減少了db的連接IO壓力,并且可做到讀寫分離以及replication的手工切換。
32.doc 文檔在線編輯和預(yù)覽 wordonline
wordonline 是在線編輯和預(yù)覽 .doc 和 .docx 文檔的工具。
33.JS模板引擎 BaiduTemplate
baiduTemplate希望創(chuàng)造一個用戶覺得“簡單好用”的JS模板引擎。
34.在線文件管理器 UFinder
UFinder 是百度前端團隊基于頁面級的文件管理應(yīng)用。
35.webSlide
webSlide是用于在線PPT演示文檔的javascript框架。
36.網(wǎng)絡(luò)幻燈片 nodePPT
nodePPT 是使用nodejs寫的網(wǎng)絡(luò)幻燈片。
37.前端模塊化解決方案 fis-pure
fis-pure 是基于FIS的純前端模塊化解決方案pure。
pure是基于FIS二次封裝能力封裝而成的解決方案,可以直接使用,也可以參考fis-pure自行封裝或組合使用插件來構(gòu)建屬于自己的一體化解決方案。
38.J2EE Velocity 前端集成方案 jello
jello 是針對服務(wù)端為 JAVA + Velocity 的前端集成解決方案。jello 為優(yōu)化前端開發(fā)而生,提供前后端開發(fā)分離、自動性能優(yōu)化、模塊化開發(fā)機制等功能。
39.protobuf的Java開發(fā)包jprotobuf
jprotobuf是針對Java程序開發(fā)一套簡易類庫,目的是簡化java語言對protobuf類庫的使用,使用jprotobuf可以無需再去了解.proto文件操作與語法,直接使用java注解定義字段類型即可。
40.人工智能軟件 WARP-CTC
WARP-CTC 是百度硅谷 AI 研究所 (SVAIL) 開源的百度關(guān)鍵人工智能 (AI) 軟件。
41.百度云Go語言SDK bcsgo
百度云存儲服務(wù)Go語言SDK。
42.前端模塊加載解決方案 modJS
modJS 是一套的前端模塊加載解決方案。與傳統(tǒng)的模塊加載相比,modJS 會根據(jù)產(chǎn)品實際使用場景,自動選擇一種相應(yīng)的方案,使最終的實現(xiàn)非常輕量簡潔。
43.公式編輯器 KityFormula
Kity Formula 為您提供公式表達式解析,可視化公式編輯,公式完美展示于一身的web端的整體解決方案。
44.高品質(zhì)的 WebGL 類庫 Qtek
Qtek (WebGL GraphicLibrary) 是一個高品質(zhì)的 WebGL 類庫,目前仍處于實驗階段。
物理組件:
https://github.com/pissang/qtek-physics
2D組件
https://github.com/pissang/qtek-2d
45.集群操作系統(tǒng) Galaxy
Galaxy是一個數(shù)據(jù)中心操作系統(tǒng),目標是最大化資源的利用率與降低應(yīng)用部署運維代價,支持萬臺集群資源調(diào)度與管理,目前主要服務(wù)于百度網(wǎng)頁搜索離線架構(gòu)業(yè)務(wù),解決分布式文件系統(tǒng),分布式表格系統(tǒng),以及上層計算模塊運維與部署問題。
46.富瀏覽器端web應(yīng)用框架 ER
ER 是百度公司的一個富瀏覽器端web應(yīng)用的框架,適用于并能很方便地構(gòu)建 一個整站式的AJAX web應(yīng)用。
47.深度學(xué)習(xí)平臺 PaddlePaddle
PaddlePaddle(并行分布式深度學(xué)習(xí))是一個易于使用的、高效的、靈活的和可擴展的深度學(xué)習(xí)平臺,它最初是百度的科學(xué)家和工程師為了能讓百度產(chǎn)品能提供深度學(xué)習(xí)而開發(fā)的。
48.前端統(tǒng)計框架 ALog
ALog 是前端統(tǒng)計框架。
49.Baidu Push SDK
Baidu Push SDK 是百度的云推送 SDK 開發(fā)包。
50.企業(yè)級前端應(yīng)用開發(fā)平臺 EDP
EDP是基于 Node 的前端應(yīng)用開發(fā)平臺,是一個企業(yè)級前端應(yīng)用的開發(fā)平臺,提供了常用的項目管理工具、包管理工具、調(diào)試工具、構(gòu)建工具、代碼生成工具、代碼檢測工具等一系列開發(fā)時的支持,并允許用戶自定義自己的擴展。
51.HTML5 音樂播放器 Player
Player 是 HTML5 版本音樂播放器,支持 iOS 設(shè)備。
演示地址:http://4.qdemo.sinaapp.com/html5/chrome/
52.jQuery 遮罩插件 SlipHover
SlipHover 是一個基于 jQuery 的插件,它能夠感知鼠標移動方向,并在相應(yīng)的方向(或反方向)以動畫的方式顯示出一個遮罩層,用來顯示標題或描述,應(yīng)用到幻燈片或相冊中是個不錯的選擇。SlipHover 還支持自定義遮罩高度、動畫時間、字體顏色、背景顏色、文字排版等等。
53.模板引擎 ETPL
ETPL是一個靈活、具有強大復(fù)用能力的高性能的模板引擎,適用于WEB前端應(yīng)用中視圖的生成,特別是SPA(Single Page APP)類型的應(yīng)用。
54.基于 LESS 的樣式工具庫 EST
EST(ECOM Styling Toolkit)是一個基于 LESS 的樣式工具庫,幫助您更輕松地書寫 LESS 代碼。EST提供了一系列方便 快捷的 mixin,只在調(diào)用時才輸出代碼。est 不希望提供直接給 HTML 調(diào)用的類名,用「樣式類」污染 HTML 代碼的語義。當然您也可以根 據(jù)自己的項目需求基于 est 搭建樣式類庫,提供類名接口來進行快速開發(fā)。
示地址:http://ecomfe.github.io/est/fiddle/
55.基于 SVG 的矢量圖形庫Kity
Kity 是一個基于 SVG 的矢量圖形庫,幫助你快速在頁面上創(chuàng)建和使用矢量元素。
56.前端資源聚合平臺 Lights
Lights 是FIS包管理工具。提供便捷、易用的資源安裝、發(fā)布、搜索,管理工具。用于團隊間快速共享資源,提升開發(fā)效率。
57.EDP 擴展 edpx-zhixin
edpx-zhixin 是 edp 的一個擴展,提供給百度的FE開發(fā)搜索結(jié)果頁模板的工具。
58.服務(wù)虛擬化 Terminator
服務(wù)虛擬化指的就是虛擬出不穩(wěn)定、不可用、未開發(fā)完全的服務(wù)。
59.前端集成解決方案 baidu yogurt
yogurt 是基于 fis 擴展針對服務(wù)端為 express.js 的前端集成解決方案。
60.移動 Web 的CSS 樣式工具庫 Rider
rider是一個基于 Stylus、專注于移動 Web 的CSS 樣式工具庫。
61.kraken.js 擴展 Yog
Yog 是一個基于 Express.js 的 Node.js Web 應(yīng)用引導(dǎo)模塊,擴展了 kraken.js。
62.基于Nodejs 的前端工具集FEinit
FEinit 是基于Nodejs 的前端工具集,因為是在windows系統(tǒng)開發(fā),所以目前僅適合 windows 系統(tǒng)。
63.Node Log 統(tǒng)計方案 yog-log
yog-log 是 Node Log 統(tǒng)計方案,是yog框架的log統(tǒng)計模塊,支持中間件或者單獨使用等方式,兼容ODP日志格式與配置。
64.輕量級覆蓋率測試工具 logcover
logcover 是一款非常便捷的統(tǒng)計測試用例異常日志覆蓋率的工具。可清晰地分析出程序源代碼中異常日志的覆蓋情況,檢驗測試充分度,指導(dǎo)測試用例完善。
65.知心組件庫 moye
Moye 是 ECOM UI 1.1 規(guī)范的一個輕量級實現(xiàn)。
66.fis-postprocessor-amd
fis-postprocessor-amd 能識別 js 中 amd 依賴,自動包轉(zhuǎn)isMod 的 js 為 amd。
67.EDP 的移動端擴展 EDPM
edpx-mobile(EDPM) 是 EDP 的移動端擴展。EDPM是對 edp 功能的補充,為移動項目提供項目初始化、腳手架、調(diào)試服務(wù)器等功能。
68.前端代碼風格工具 FECS
FECS 是基于 Node.js 的前端代碼風格工具。
69.WEB 組件規(guī)范 xspec
xspec 是一系列基于WEB COMPONENTS的組件規(guī)范,致力于借助規(guī)范的力量讓組件發(fā)揮更大的價值。
70.yog-pm
yog-pm是在pm2的基礎(chǔ)上提供了幾個增強命令,提高pm2的易用性和穩(wěn)定性。
71.Express.js 中間件 yog-view
yog-view 是一個 Express.js 中間件,用來優(yōu)化 js/css 輸出排序,允許在 bigpipe 模式中顯示。