(转)值得学习百度开源70+项目
百度,一家让人既爱又恨的企业,血友吧贴吧被卖,魏则西事件的持续发酵,一时间将百度推到了舆论的风口浪尖上。是非对错,我们在这里也不多做评判,本文呢为大家整理了百度开源的70+项目,看看有没有感兴趣的。本文内容综合整理自oschina、github。
ECharts开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。
Distributed Configuration Management Platform(分布式配置管理平台)专注于各种 分布式系统配置管理 的通用组件/通用平台, 提供统一的配置管理服务。
Clouda是基于node.js的Webapp开发框架,在使用Clouda时需要安装node.js和MongoDB。
ECharts-X是 ECharts 团队推出的全新 3D 可视化库,它是基于 ECharts 的扩展,底层深度整合了 WebGL 库QTEK和 Canvas2D 库ZRender。
5. 百度的Javascript库 Tangram
Tangram是Baidu开发的一套简单可依赖的Javascript库。
UMeditor,简称UM,是为满足广大门户网站对于简单发帖框,或者回复框需求所定制的在线富文本编辑器。 UM的主要特点就是容量和加载速度上的改变,全版本的代码量为125k,而且放弃了使用传统的iframe模式,采用了div的加载方式, 以达到更快的加载速度和零加载失败率。
Cafe 测试框架是一款来自百度QA部门的具有开创性意义的Android平台的自动化测试框架,框架覆盖了Android自动化测试的各种需求。框架致力于实现跨进程测试、快速测试、深度测试,解决了Android自动化测试中的诸多难题,比如业界一直没有解决的跨进程测试问题。
8. Web 端的 UI 框架 BlendUI
BlendUI 是百度公司的一个 Web 前端 UI 框架。BlendUI 能让Webapp的体验和交互与Native媲美。
MuPlayer 是一款跨平台、轻量级的音频播放解决方案,是百度@音乐前端团队开发维护的浏览端音频播放内核,它基于HTML5 Audio及Flash音频技术,已在百度音乐多个线上产品线中应用,具备很强的灵活性和稳定性。
10. 轻量级UI组件 Magic
Magic是用JavaScript脚本开发的轻量级UI组件,具有性能高效、代码量小、支持多种初始化方式等方面的优势,Web前端开发者可以使 用Magic快速搭建前端功能比较复杂的网站。Magic的每个组件都有非常丰富的接口和事件处理,网站也提供了详细的使用文档和Demo演示。Web前 端开发者可以通过定制组件、初始化方式和插件获得最轻量级版本。
11. 高性能RPC框架 BGCC
BGCC(音:[bigsisi:])是百度具有完全知识产权的跨平台、多语言、面向对象与服务的轻量级高性能RPC框架。 它支持事务级别的服务端消息主动推送,强大的接口级事务管理功能,包含自定义的通信协议、接口描述语言(bidl)、 强大的代码生成引擎(bidl2sl),Java、C++通信无缝整合。
12. 分布式表格系统 Tera
Tera 是一个高性能、可伸缩的数据库系统,被设计用来管理搜索引擎万亿量级的超链与网页信息。为实现数据的实时分析与高效访问,我们使用按行键、列名和时间戳全局排序的三维数据模型组织数据,使用多级Cache系统,充分利用新一代服务器硬件大内存、SSD盘和万兆网卡的性能优势,做到模型灵活的同时,实现了高吞吐与水平扩展。
13. 基于 Node 的 JavaScript 同构解决方案 rebas
基于 Node 的 JavaScript 同构解决方案。提供了 saber 的服务端运行环境,使其具备从 SPA 到 MPA,从前端渲染到后端渲染的深度响应式能力。
broc是一款面向c/c++语言的构建工具,提供了编译、分支依赖、依赖模块下载等功能。不同于make, cmake等以库文件链接的编译方式,broc将依赖库源代码与程序源代码一并同时进行编译,这种方式可以避免程序源代码与依赖库编译选项或平台不一致导 致的软件兼容性问题;broc支持编译结束后自动运行单元测试用例;借助Jenkins broc还能完成软件的持续集成。
15. 富文本编辑器 Ueditor
UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点。
KityMinder 是百度FEX团队的f-cube小组(原UEditor小组)的又一力作。作为一款在线的脑图编辑工具,它有着很多Native编辑工具的交互体验。KM与UE有着一样的宗旨,就是注重最终用户的使用体验。同时,它充分发挥了Web云存储的优势,可以直接将编辑中的脑图同步到云端。此外,借由独创的 “云盘分享”功能,用户可以一键将当前编辑的脑图直接生成在线链接共享给其他用户,实现无缝沟通。
zrender(Zlevel Render) 是一个轻量级的Canvas类库,MVC封装,数据驱动,提供类Dom事件模型,让canvas绘图大不同!
WebUploader 是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,延用原来的FLASH运行时,兼容IE6+,Andorid 4+,IOS 6+。两套运行时,同样的调用方式,可供用户任意选用。
Touch.js是移动设备上的手势识别与事件库, 由百度云Clouda团队维护,也是在百度内部广泛使用的开发工具。
20. 地图可视化工具库 Mapv
Mapv 是一款基于百度地图的大数据可视化开源库,可以用来展示大量的点、线、面的数据,每种数据也有不同的展示类型,如直接打点、热力图、网格、聚合等方式展示数据。
iSlider 是个非常平滑的滑块,支持移动端 WebApp,HTML5App 和混合型的 App。
22. 百度UI库 ESUI
ESUI是一套简单的UI Library,提供一系列的控件,能满足基本页面交互功能。ESUI的API与默认视觉皮肤遵循BAIDU ECOMUI标准。
23. jQuery的弹窗插件 wBox
wBox轻量级的弹出窗口jQuery插件,基于jQuery1.4.2开发,主要实现弹出框的效果,并且加入了很多有趣的功能,比如callback函数,显示隐藏层,Ajax页面,iframe嵌入页面等功能。
24. 百度BI平台 BiPlatform
百度开源的新一代一站式敏捷bi平台,提供报表和OLAP服务的敏捷BI平台。
25. 前端集成解决方案 F.I.S
F.I.S(FIS)所提供的集成解决方案依托于一套灵活高效的 编译工具,F.I.S借助该编译平台对前端开发资源进行整合。接触F.I.S,可以从该平台入手。
26. 移动端组件库 Global Mobile UI
GMU(Global Mobile UI)是百度前端通用组开发的移动端组件库,具有代码体积小、简单、易用等特点,组件内部处理了很多移动端的bug,覆盖机型广,能大大减少开发交互型组件的工作量,非常适合移动端网站项目。
27. RPC框架 sofa-pbrpc
sofa-pbrpc(sofa protobuf-based rpc)是使用Boost::Asio实现的基于Google Protocol Buffers RPC框架的网络通信库,在百度公司各部门得到广泛使用。
28. 百度文件系统 BFS-Baidu
百度的核心数据库Tera将数据持久化在分布式文件系统上,分布式文件系统的性能、可用性和扩展性对整个上层搜索业务的稳定性与效果有着至关重要的影响。
29. 企业级标准加载器 ESL
ESL 是一个浏览器端、符合AMD的标准加载器,适合用于现代Web浏览器端应用的入口与模块管理。
30. 前端移动框架 Saber
Saber 是 模块化、组合式 的前端移动框架。
31. 百度mysql分库分表中间件服务器 heisenberg
heisenberg 是百度的熊照同学(id:brucexx)编写的一款基于MySQL协议之上的分库分表中间件服务器,支持各种灵活(velocity脚本自定义)的分库分表规则,做到应用和分库分表相隔离,并且为mysql进行dbproxy,减少了db的连接IO压力,并且可做到读写分离以及replication的手工切换。
32. doc 文档在线编辑和预览 wordonline
wordonline 是在线编辑和预览 .doc 和 .docx 文档的工具。
33. JS模板引擎 BaiduTemplate
baiduTemplate希望创造一个用户觉得“简单好用”的JS模板引擎。
34. 在线文件管理器 UFinder
UFinder 是百度前端团队基于页面级的文件管理应用。
35. webSlide
webSlide是用于在线PPT演示文档的javascript框架。
36. 网络幻灯片 nodePPT
nodePPT 是使用nodejs写的网络幻灯片。
fis-pure 是基于FIS的纯前端模块化解决方案pure。
pure是基于FIS二次封装能力封装而成的解决方案,可以直接使用,也可以参考fis-pure自行封装或组合使用插件来构建属于自己的一体化解决方案。
38. J2EE Velocity 前端集成方案 jello
jello 是针对服务端为 JAVA + Velocity 的前端集成解决方案。jello 为优化前端开发而生,提供前后端开发分离、自动性能优化、模块化开发机制等功能。
39. protobuf的Java开发包 jprotobuf
jprotobuf是针对Java程序开发一套简易类库,目的是简化java语言对protobuf类库的使用,使用jprotobuf可以无需再去了解.proto文件操作与语法,直接使用java注解定义字段类型即可。
40. 人工智能软件 WARP-CTC
WARP-CTC 是百度硅谷 AI 研究所 (SVAIL) 开源的百度关键人工智能 (AI) 软件。
41. 百度云Go语言SDK bcsgo
百度云存储服务Go语言SDK。
42. 前端模块加载解决方案 modJS
modJS 是一套的前端模块加载解决方案。与传统的模块加载相比,modJS 会根据产品实际使用场景,自动选择一种相应的方案,使最终的实现非常轻量简洁。
43. 公式编辑器 KityFormula
Kity Formula 为您提供公式表达式解析,可视化公式编辑,公式完美展示于一身的web端的整体解决方案。
44. 高品质的 WebGL 类库 Qtek
Qtek (WebGL Graphic Library) 是一个高品质的 WebGL 类库,目前仍处于实验阶段。
物理组件:
https://github.com/pissang/qtek-physics
2D 组件
https://github.com/pissang/qtek-2d
45. 集群操作系统 Galaxy
Galaxy是一个数据中心操作系统,目标是最大化资源的利用率与降低应用部署运维代价,支持万台集群资源调度与管理,目前主要服务于百度网页搜索离线架构业务,解决分布式文件系统,分布式表格系统,以及上层计算模块运维与部署问题。
46. 富浏览器端web应用框架 ER
ER 是百度公司的一个富浏览器端web应用的框架,适用于并能很方便地构建 一个整站式的AJAX web应用。
PaddlePaddle(并行分布式深度学习)是一个易于使用的、高效的、灵活的和可扩展的深度学习平台,它最初是百度的科学家和工程师为了能让百度产品能提供深度学习而开发的。
48. 前端统计框架 ALog
ALog 是前端统计框架。
49. Baidu Push SDK
Baidu Push SDK 是百度的云推送 SDK 开发包。
50. 企业级前端应用开发平台 EDP
EDP是基于 Node 的前端应用开发平台,是一个企业级前端应用的开发平台,提供了常用的项目管理工具、包管理工具、调试工具、构建工具、代码生成工具、代码检测工具等一系列开发时的支持,并允许用户自定义自己的扩展。
Player 是 HTML5 版本音乐播放器,支持 iOS 设备。
演示地址:http://4.qdemo.sinaapp.com/html5/chrome/
SlipHover 是一个基于 jQuery 的插件,它能够感知鼠标移动方向,并在相应的方向(或反方向)以动画的方式显示出一个遮罩层,用来显示标题或描述,应用到幻灯片或相册中是个不错的选择。 SlipHover 还支持自定义遮罩高度、动画时间、字体颜色、背景颜色、文字排版等等。
53. 模板引擎 ETPL
ETPL是一个灵活、具有强大复用能力的高性能的模板引擎,适用于WEB前端应用中视图的生成,特别是SPA(Single Page APP)类型的应用。
54. 基于 LESS 的样式工具库 EST
EST(ECOM Styling Toolkit)是一个基于 LESS 的样式工具库,帮助您更轻松地书写 LESS 代码。EST提供了一系列方便 快捷的 mixin,只在调用时才输出代码。est 不希望提供直接给 HTML 调用的类名,用「样式类」污染 HTML 代码的语义。当然您也可以根 据自己的项目需求基于 est 搭建样式类库,提供类名接口来进行快速开发。
演示地址:http://ecomfe.github.io/est/fiddle/
Kity 是一个基于 SVG 的矢量图形库,帮助你快速在页面上创建和使用矢量元素。
56. 前端资源聚合平台 Lights
Lights 是FIS包管理工具。提供便捷、易用的资源安装、发布、搜索,管理工具。用于团队间快速共享资源,提升开发效率。
57. EDP 扩展 edpx-zhixin
edpx-zhixin 是 edp 的一个扩展,提供给百度的FE开发搜索结果页模板的工具。
58. 服务虚拟化 Terminator
服务虚拟化指的就是虚拟出不稳定、不可用、未开发完全的服务。
yogurt 是基于 fis 扩展针对服务端为 express.js 的前端集成解决方案。
rider是一个基于 Stylus、专注于移动 Web 的 CSS 样式工具库。
61. kraken.js 扩展 Yog
Yog 是一个基于 Express.js 的 Node.js Web 应用引导模块,扩展了 kraken.js。
FEinit 是基于Nodejs 的前端工具集,因为是在windows系统开发,所以目前仅适合 windows 系统。
yog-log 是 Node Log 统计方案,是yog框架的log统计模块,支持中间件或者单独使用等方式,兼容ODP日志格式与配置。
logcover 是一款非常便捷的统计测试用例异常日志覆盖率的工具。可清晰地分析出程序源代码中异常日志的覆盖情况,检验测试充分度,指导测试用例完善。
65. 知心组件库 moye
Moye 是 ECOM UI 1.1 规范的一个轻量级实现。
66. fis-postprocessor-amd
fis-postprocessor-amd 能识别 js 中 amd 依赖,自动包转 isMod 的 js 为 amd。
67. EDP 的移动端扩展 EDPM
edpx-mobile(EDPM) 是 EDP 的移动端扩展。EDPM 是对 edp 功能的补充,为移动项目提供项目初始化、脚手架、调试服务器等功能。
68. 前端代码风格工具 FECS
FECS 是基于 Node.js 的前端代码风格工具。
69. WEB 组件规范 xspec
xspec 是一系列基于WEB COMPONENTS的组件规范,致力于借助规范的力量让组件发挥更大的价值。
70. yog-pm
yog-pm是在pm2的基础上提供了几个增强命令,提高pm2的易用性和稳定性。
yog-view 是一个 Express.js 中间件,用来优化 js/css 输出排序,允许在 bigpipe 模式中显示。