
文章整理了百度的71個非常厲害的開源項目,覆蓋面非常廣泛,總有一款適合你。
鏈接 | toutiao.com/i6798125585173316108

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