Facebook是全球最大的社交网站,它的成长背后离不开开源力量。其开源项目负责人James Pearce介绍说,Facebook从写下自己的第一行PHP代码开始,第一次使用MySQL INSERT语句开始,开源就已经融入到公司的工程师文化里面了。
Facebook不仅取之开源,更是不断开源其内部项目,将内部成果反馈给开源社区,可以说,这才是一个伟大公司应有的态度。通过不断开源自己的产品项目,Facebook吸引了大量优秀开发者为其工作。可以通过文章 《后起之秀Facebook凭什么挑战互联网霸主Google?》详细了解Facebook背后的开源力量。当然,开源的项目不全是高大上,还有一些小型项目值得一看。下面我们一起了解下2013年Facebook的那些小型开源项目。
1. xctool
一款Apple xcodebuild的替代工具,可以让构建和测试iOS和Mac项目变得更加简单,尤其适合持续集成(Continuous integration)式的开发实践。
xctool并是简简单单地进行替代,它还增加了一些新功能,如:
- 支持将构建&测试结果结构化输出
- 界面友好,支持ANSI彩色输出
- 速度更快,支持进行并行测试,使得运行速度提升2~3倍
开源协议:Apache License 2.0
2. Buck
一款Android、Java构建工具,该项目的一个主要点就是放在了“提速Android构建过程”上。主要通过利用多核并行运行,保持跟踪无变化模块以减少重新构建时间等方式来达到减少总体构建时间的目的,具体可了解《Buck: What Makes Buck so Fast》。
开源协议:Apache License 2.0
3. Rebound
一个Java动画库,Rebound的弹簧模型(spring model)在应用程序中引入了现实世界的物理,创建的动画让人感觉很自然,可以用在滚动条、切换开关等场景下,可在项目主页中的Demo里面观察效果。
开源协议:BSD License
4. React
用于构建用户界面的JavaScript库,非常灵活,可与目前流行的库和框架一起使用,目前已经在Instagram及Facebook等网站进行了应用。
开源协议:Apache License 2.0
5. Regenerator
在Node.js中使用 generator ,最终会产生一堆无法在客户端执行的代码。所以,Facebook团队开发出了Regenerator,以替代Node.js中的原生generator,让开发者写出更加干净、功能强大的代码。
开源协议:BSD License
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、支持原生全屏,当拖动图片时也会自动添加一个图层。同时,官方也给出了很多 范例,帮助使用者学习该工具的使用。
开源协议: 内容
原文: Venturebeat / 编译:王殿进
本文为CSDN编译整理,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)