Facebook是全球最大的社交网站,它的成长背后离不开开源力量。其开源项目负责人James Pearce介绍说,Facebook从写下本身的第一行PHP代码开始,第一次使用MySQL INSERT声明语句开始,开源就已经融入到公司的工程师文化里面了。
javascript
Facebook不只取之开源,更是不断开源其内部项目,将内部成果反馈给开源社区,能够说,这才是一个伟大公司应有的态度。经过不断开源本身的产品项目,Facebook吸引了大量优秀开发者为其工做。能够经过文章《后起之秀Facebook凭什么挑战互联网霸主Google?》详细了解Facebook背后的开源力量。
固然,开源的项目不全是高大上,还有一些小型项目值得一看。下面咱们一块儿了解下2013年Facebook的那些小型开源项目。
1. xctool
一款Apple xcodebuild的替代工具,可让构建和测试iOS和Mac项目变得更加简单,尤为适合持续集成(Continuous integration)式的开发实践。
xctool并是简简单单地进行替代,它还增长了一些新功能,如:
html
支持将构建&测试结果结构化输出java
界面友好,支持ANSI彩色输出react
速度更快,支持进行并行测试,使得运行速度提高2~3倍git
开源协议:Apache License 2.0
github
2. Buck
一款Android、Java构建工具,该项目的一个主要点就是放在了“提速Android构建过程”上。主要经过利用多核并行运行,保持跟踪无变化模块以减小从新构建时间等方式来达到减小整体构建时间的目的,具体可了解。
开源协议:Apache License 2.0
3. Rebound
一个Java动画库,Rebound的弹簧模型(spring model)在应用程序中引入了现实世界的物理,建立的动画让人感受很天然,能够用在滚动条、切换开关等场景下,可在项目主页中的Demo里面观察效果。
开源协议:BSD License
spring
4. React
用于构建用户界面的JavaScript库,很是灵活,可与目前流行的库和框架一块儿使用,目前已经在Instagram及Facebook等网站进行了应用。
开源协议:Apache License 2.0
编程
5. Regenerator
在Node.js中使用generator ,最终会产生一堆没法在客户端执行的代码。因此,Facebook团队开发出了Regenerator,以替代Node.js中的原生generator,让开发者写出更加干净、功能强大的代码。
开源协议:BSD License
xcode
6. Huxley
Web应用程序UI测试工具,开发语言为Python。Huxley能够监控内容变化、进行屏幕截图,以后反馈给咱们哪些地方进行了改动,对响应式设计测试也是能够的。
开源协议:Apache License 2.0
7. Presto
Facebook的分布式SQL查询引擎,可用来进行高速、实时的交互式数据查询与分析。Presto在CPU的性能和主要的查询性能上比Hive/MapReduce要好7~10倍以上。天天,会有1000名Facebook员工使用Presto对PB级的数据进行扫描,运行查询30000次以上。除Facebook公司外,Airbnb和Dropbox也都已经采用了Presto。
更多内容,能够参考CSDN文章《比Hive高效7倍,Facebook推新一代查询引擎Presto》。
开源协议:Apache License 2.0
框架
8. RocksDB
RocksDB基于LevelDB的嵌入式key-value存储类库,但提升了扩展性,能够运行在多核处理器上、有效使用快速存储,支持IO绑定、内存和一次写负荷。可查看极客头条的部分介绍。
开源协议:BSD License
9. Origami
无需编程便可经过Origami轻松建立交互设计原型。提示:Quartz Composer是Mac下一款图形编程工具,专门用来生成各类动态视觉效果,包括可交互的界面原型。
该工具提供的查看器支持Retina、支持原生全屏,当拖动图片时也会自动添加一个图层。同时,官方也给出了不少范例,帮助使用者学习该工具的使用。
开源协议:内容